This schedule is tentative. Readings and labs will be posted as the semester progresses. Check this page frequently for updates.
Readings should be completed before the class for which they are assigned. Assignments are due at the start of class.
Skip to week: Current 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Final
| Week | Date | Topic | Reading | Lab | Assignments | |
|---|---|---|---|---|---|---|
| 0 | Fri | Aug 29 | Introduction to algorithms | Drawing smiley faces | ||
| 1 | Mon | Sept 1 | Introduction to CSC 151 | Grinnell's Linux environment | Getting started with Linux | HW 1 |
| Tue | Sept 2 | Introduction to the GIMP | The GNU Image Manipulation Program | Getting started with the GIMP | ||
| Wed | Sept 3 | Introduction to Scheme | Starting Scheme | Starting Scheme | ||
| Fri | Sept 5 | Programming with GIMP tools | Programming with GIMP tools | Programming with GIMP tools | Quiz 1 | |
| 2 | Mon | Sept 8 | Turtle graphics | Turtle graphics | Turtle graphics New lab partners assigned |
|
| Tue | Sept 9 | Drawings as values | Drawings as values | Drawings as values | ||
| Wed | Sept 10 | Writing your own procedures | Defining Scheme procedures & How Scheme evaluates expressions (version 2) |
Writing your own procedures New lab partners assigned |
HW 2 | |
| Fri | Sept 12 | Numbers & symbols | Numeric values & Symbolic values | Numeric values | Quiz 2 | |
| 3 | Mon | Sept 15 | Representing images as lists of spots | Representing images as lists of spots | Representing images as lists of spots New lab partners assigned |
|
| Tue | Sept 16 | Representing images as lists of spots, continued | None! |
Continue Representing images as lists of spots | ||
| Wed | Sept 17 | Design & color (Guest lecturer: Matt Kluber, Art) | None! | HW 3 | ||
| Fri | Sept 19 | Raster graphics & RGB colors | Raster graphics & RGB colors | Raster graphics & RGB colors New lab partners assigned |
Quiz 3; Exam 1 assigned |
|
| Week | Date | Topic | Reading | Lab | Assignments | |
| 4 | Mon | Sept 22 | Documentation | Documenting procedures | ||
| Tue | Sept 23 | Boolean values & predicate procedures | Boolean values & predicate procedures | Boolean values & predicate procedures | ||
| Wed | Sept 24 | Conditionals | Conditional evaluation in Scheme | Conditionals New lab partners assigned |
Exam 1 due | |
| Fri | Sept 26 | Iterating over lists | Iterating over lists | Iterating over lists | Quiz 4 | |
| 5 | Mon | Sept 29 | Exam 1 discussion | None! | ||
| Tue | Sept 30 | Naming local values | Naming local values | Naming values with local bindings New lab partners assigned |
||
| Wed | Oct 1 | Transforming colors | Transforming RGB colors | Transforming RGB colors | HW 4 | |
| Fri | Oct 3 | Transforming images | Transforming images | Transforming images | Quiz 5 | |
| 6 | Mon | Oct 6 | Iterating over positions | Building images by iterating over positions | Building images by iterating over positions New lab partners assigned |
|
| Tue | Oct 7 | Recursion over lists | Recursion basics | Recursion basics | ||
| Wed | Oct 8 | Recursion over lists, continued | Review How Scheme evaluates expressions (version 2) | Continue Recursion basics Revised lab partner assignments |
HW 5 | |
| Fri | Oct 10 | Helper recursion | Recursion with helper procedures | Recursion with helper procedures | Quiz 6 | |
| 7 | Mon | Oct 13 | Other forms of list recursion | List recursion, revisited | List recursion, revisited New lab partners assigned |
|
| Tue | Oct 14 | Verifying preconditions | Verifying preconditions | Verifying preconditions | ||
| Wed | Oct 15 | Naming local procedures | Local procedure bindings and recursion | Local procedures and recursion New lab partners assigned |
HW 6 | |
| Fri | Oct 17 | Randomized drawing | Randomized drawing | Randomized drawing | Quiz 7 | |
| Fall Break | ||||||
| Week | Date | Topic | Reading | Lab | Assignments | |
| 8 | Mon | Oct 27 | Numeric recursion | Numeric recursion | Numeric recursion New lab partners assigned |
Exam 2 assigned |
| Tue | Oct 28 | Geometric art through numeric recursion | Geometric art | Geometric art | ||
| Wed | Oct 29 | Geometric art, continued |
None! |
Continue Geometric art | ||
| Fri | Oct 31 | Characters and strings | Characters and strings | Characters and strings New lab partners assigned |
Exam 2 due | |
| 9 | Mon | Nov 3 | Storing data in files | Files | Files | |
| Tue | Nov 4 | Storing images in files | Pixel maps: A technique for storing images in files | Pixel maps | ||
| Wed | Nov 5 | More efficient storage | Pixmaps, revisited: Encoding data more efficiently | Representing integers as characters New lab partners assigned |
HW7 | |
| Fri | Nov 7 | Still more efficient storage | None! | Continue Representing integers as characters | Quiz 8 | |
| 10 | Mon | Nov 10 | Color palettes | Color palettes | Encoding images with color palettes New lab partners assigned |
|
| Tue | Nov 11 | Vectors | Vectors | Vectors | ||
| Wed | Nov 12 | Analyzing procedures | Analyzing procedures | Analyzing procedures New lab partners assigned |
HW 8 | |
| Fri | Nov 14 | Testing procedures |
Testing procedures |
Unit testing | Quiz 9 | |
| Week | Date | Topic | Reading | Lab | Assignments | |
| 11 | Mon | Nov 17 | Pairs & pair structures | Pairs & pair structures | Pairs & pair structures New lab partners assigned |
|
| Tue | Nov 18 | Deep recursion | Deep recursion | Deep recursion | ||
| Wed | Nov 19 | Project kick-off | Project ideas | Project ideas Choose your own groups for the project! |
HW 9; Project assigned |
|
| Fri | Nov 21 | Association lists | Association lists | Association lists New lab partners assigned |
Quiz 10 | |
| 12 | Mon | Nov 24 | Higher-order procedures, revisited | Design patterns and higher-order procedures | Higher-order procedures | |
| Tue | Nov 25 | Higher-order procedures, continued | None! |
Higher-order procedures, continued | ||
| Wed | Nov 26 | Binary search | Search algorithms | Binary search Choose your own lab partners |
Project due | |
| Fri | Nov 28 | Thanksgiving Break | ||||
| 13 | Mon | Dec 1 | Browse the project imagesIntroduction to sorting | None! | Class activity | Exam 3 assigned |
| Tue | Dec 2 | Insertion sort | Insertion sort | Insertion sort | ||
| Wed | Dec 3 | Merge sort | Merge sort | Merge sort | ||
| Fri | Dec 5 | Project discussion: Images | Browse the project images | Discuss the project images | Exam 3 due | |
| 14 | Mon | Dec 8 | Project discussion: Code | Review the project images | Discuss project code | |
| Tue | Dec 9 | TBA | None! | |||
| Wed | Dec 10 | Burning questions | Make note of your burning questions (if any) | Grading script - grade files were emailed (display-grade-report filename) |
||
| Fri | Dec 12 | Wrap-up & course evaluations | None! | |||
| Wed |
Dec 17 | Final exam (OPTIONAL), 2 p.m. | ||||
Janet Davis (davisjan@cs.grinnell.edu)
Created August 2007