Home
Up
Projects
Software
Tips and Tricks
Photos
 

[old presentations]
[old FAQs]

Gerald Dalley's 6.001 Website (Spring 2005)

For the Spring 2005 term, I am a teaching assistant for 6.001: Structure and Interpretation of Computer Programs, affectionately known as SICP (pronounced "sick-pea"). I am collecting various notes here, primarily for my students.  It is the introductory Computer Science course at MIT, and at the time it was taught in the Scheme programming language (a LISP dialect).  This page contains recitation notes that were posted primarily for my students and for reference by future instructors.  For the Spring 2007 term, I was a recitation instructor for the same course.

Handouts and Important Emails

bulletTutorial 1: 7-8 February 2005
bulletTopics Covered
bulletBasic expressions
bulletDownloads
bulletWorksheet [PDF]
bulletFollow-up [txt]
bulletWorksheet source [zip]
bulletTutorial 2: 14-15 February 2005 
bulletTopics Covered
bulletSubstitution model
bulletRecursion and iteration
bulletDownloads
bulletWorksheet [HTML+JavaScript][PDF] [MS Word]
bulletThe HTML version contains embedded answers that can be revealed by clicking on the questions. It has been tested on Internet Explorer 6 and Mozilla Firefox 1.0.
bulletFollow-up [PDF]
bulletWorksheet source [zip]
bulletTutorial 3: 21-22 February 2005 
bulletTopics Covered
bulletOrders of growth
bulletlet
bulletPairs and lists
bulletHigher-order procedures
bulletDownloads
bulletWorksheet [PDF]
bulletWorksheet answers [PDF]
bulletSome box diagram examples [PPT][PDF]
bulletOrders of Growth Primer [PDF]
bulletFollow-up [TXT]
bulletWorksheet source [zip]
bulletTutorial 4: 28-29 February 2005
bulletTopics Covered
bulletMore higher-order procedures
bulletData abstractions
bulletDownloads
bulletWorksheet [PDF]
bulletWorksheet answers [PDF]
bulletWorksheet source [zip]
bulletTutorial 5: 7-8 March 2005
bulletTopics Covered
bulletQuotation
bulletSymbols
bulletEquality tests
bulletSymbolic Boolean expression manipulation
bulletTutorial feedback
bulletDownloads
bulletWorksheet (corrected) [PDF]
bulletWorksheet answers [PDF]
bulletWorksheet source [zip]
bulletTutorial 6: 14-15 March 2005
bulletTopics Covered
bulletPair/list mutation
bulletalists
bulletClass database example
bulletDownloads
bulletWorksheet [PDF]
bulletWorksheet answers [PDF]
bulletWorksheet source [zip]
bulletFollow-up [txt]
bulletProject 2 feedback [txt]
bulletTutorial 7: 28-29 March 2005
bulletTopics Covered
bulletset!
bulletOrder of growth of linear data structures
bulletMemoization
bulletDownloads
bulletWorksheet (updated with Project 3 clarifications) [PDF]
bulletWorksheet answers [PDF]
bulletWorksheet source [PDF]
bulletTutorial 8: 4-5 April 2005
bulletTopics Covered
bulletEnvironment model
bulletCommon built-in procedures cheat sheet
bulletEnvironment model cheat sheet
bulletDownloads
bulletWorksheet (with updated cheat sheet highlighting) [PDF]
bulletWorksheet answers [PDF]
bulletWorksheet source [PDF]
bulletProject 4 clarifications [TXT]
bulletTutorial 9: 11-12 April 2005
bulletTopics Covered
bulletObject-oriented programming, a la project 4
bulletDownloads
bulletWorksheet [PDF]
bulletWorksheet answers [PDF]
bulletWarm-up 5 answer (corrected 2005-04-12 10:21AM) [PNG, PDF, VSD]
bulletSyntax-highlighted source for project 4 [PDF]
bulletObject Oriented Systems III Recitation: 13 April 2005
bulletPresentation [PPT powerpoint][PDF][HTML semi-portable HTML][MHT IE-specific HTML]
bulletScheme source [ZIP]
bulletQuiz 2 Review: 18-19 April 2005 [ZIP]
bulletTutorial 10: 25-26 April 2005
bulletTopics Covered
bulletDynamic vs. lexical scoping
bulletMeta-circular evaluator
bulletDownloads
bulletWorksheet (modified 2005-04-25 2048) [PDF]
bulletWorksheet answers and source [ZIP]
bulletTutorial 11: 2-3 May 2005
bulletTopics Covered
bulletLazy evaluation
bulletStreams
bulletImage and signal processing
bulletDownloads
bulletWorksheet (modified 2005-05-02 2250) [PDF]
bulletWorksheet answers [PDF]
bulletWorksheet source [ZIP]
bulletTutorial 12: 9-10 May 2005
bulletTopics Covered
bulletAsynchronous computing
bulletFinal exam review
bulletFeedback
bulletDownloads
bulletWorksheet [PDF]
bulletWorksheet answers [PDF]
bulletWorksheet source [ZIP]
bulletFinal Exam Review [PPT][PDF -- available but much less useful than PPT]

Scheme Tools

The following are some Scheme tools I've written and found helpful for myself.
bulletscm2html.zip: A PERL script for creating syntax-highlighted HTML files from SCM source files. For example, assert.html was generated from assert.scm.
bulletAssert [SCM][HTML]: Several assertion procedures that can be used to make defensive coding much easier.
bulletenv-dia.zip: An automatic environment diagram generator.  Run your code, then call the right procedure, and out pops an image with the corresponding environment diagram.  Read the documentation in the .scm file for usage instructions and limitations.

Other Useful 6.001 Websites

bulletMain 6.001 Website: Your (main) link to everything 6.001.
bulletCourse Calendar: Includes links to lecture notes, assignment due dates, etc.
bullet Scheme Reference Manual
bulletDavid Ziegler's 6.001 Site: Has links to old quizzes and exams, his tutorial notes (from which I have shamelessly stolen portions for my own tutorials).
bulletHandy Editors
bulletEdwin (the official 6.001 way) [PNG screenshot]
bulletEmacs
bulletCrimson Editor (Windows, has syntax highlighting, email me for unofficial Scheme syntax highlighting definitions) [PNG screenshot]
bulletDrScheme (Mac & Windows, has syntax highlighting, a version of Scheme that is similar to 6.001 Scheme) [PNG screenshot]
bulletBarebones (Mac, has free "lite" version; download Scheme module)

 

Last updated: 2008-01-25 09:23:57 -0500