Extra Credit

50 points

Write a 2-3 page position paper on one of the following topics. Grading: 10 pts writing; 10 pts for bringing in extra background material besides what we handed out in class (please provide references); 30 for the body of the paper (10 pts for the thesis/position/claims and 20 for your supporting arguments)

Topics

  1. Scheme in the classroom. Compare and contrast a traditional intro CS1 course such as CISC 105 (using C) with the How To Design Programs (HTDP; http://www.htdp.org) and Alice (http://www.alice.org).
  2. Compare and contrast to Scheme: [if you are industry/job oriented: Python & Ruby] [if you are grad-school-bound or have enjoyed the functional programming stuff: OCaml & Haskell]
  3. Discuss Greenspun's Tenth Rule: “Any sufficiently complicated C or Fortran program contains an ad hoc informally-specified bug-ridden slow implementation of half of Common Lisp.”   That is, discuss how and why people use embedded interpreters in real-world applications (Emacs and AutoCAD are only two examples)
  4. Functional Programming for Profit. Discuss the commercial uses of functional programming. What are the pros and cons? See http://cufp.galois.com [Commercial Users of Functional Programming's annual conference page, old versions are also online there], schemers.org, and other web resources as a start.