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
- 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).
- 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]
- 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)
- 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.