I believe that the time is ripe for significantly better documentation of programs, and that we can best achieve this by considering programs to be works of literature. Hence, my title: "Literate Programming."
Donald Knuth. "Literate Programming (1984)" in Literate Programming. CSLI, 1992, pg. 99.
Architects study successful designs, as do engineers. Poets and musicians study, alter, imitate pieces by other authors. Programmers seldom read any code, but we expect them to demonstrate extensive skill in their chosen profession. This course will study programs as pieces of literature, and provide tools for critical analysis of the students own and other programs.
These ideas have been long been espoused by Richard P Gabriel, including designing a Masters in Fine Arts in Software. This course will bring parts of this approach to the undergraduate program in computer science.
The student will read, write, and critique fairly large programs. Students will discuss techniques for improving program design, implementation, construction, and maintainance. The "Writer's Workshop" technique will be used to jointly examine and discuss program fragments. The students will develop critical thinking skills, and their creative writing skills.
Humberto Ortiz-Zuazaga
Spring semester 2012
3 hours per week, 3 credits, Pass/Fail grading
CCOM 3034 - Data Structures
Class will meet Monday and Friday, 11:30 AM - 1:00 PM in NCL A-141.
CWEB
tutorial.
noweb
tutorial
Beautiful Code. Andy Oram, Greg Wilson, eds. O'Reilly Media. June 2007.
Most recent change: 2012/1/22 at 06:56
Generated with GTML