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 1 2 3 4 5 6 7 8 9 10 11 12 13 14 Final
| Week | Date | Topic | Reading | Lab | Assignments | |
|---|---|---|---|---|---|---|
| 1 | Mon | Jan 21 | CLASS CANCELLED: MLK Day | |||
| Tue | Jan 22 | Introduction to algorithms | Drawing smiley faces | |||
| Wed | Jan 23 | Introduction to CSC 151 | Grinnell's Linux environment | Getting started with Linux | Homework 1 | |
| Fri | Jan 25 | Introduction to the GIMP | The GNU Image Manipulation Program | Getting started with the GIMP | ||
| 2 | Mon | Jan 28 | Introduction to Scheme | Starting Scheme | Starting Scheme | |
| Tue | Jan 29 | Tools for scripting the GIMP | Programming with GIMP tools | Programming with GIMP tools | ||
| Wed | Jan 30 | Turtle graphics | Turtle graphics | Turtle graphics | Homework 2 | |
| Fri | Feb 1 | Graphics objects | Drawings as values | Drawings as values | Quiz 1 | |
| 3 | Mon | Feb 4 | Writing your own procedures | Writing procedures | Writing your own procedures | |
| Tue | Feb 5 | Numbers & symbols | Basic types | Numeric values | ||
| Wed | Feb 6 | Representing images as lists of spots | Representing images as lists of spots | Representing images as lists of spots | Homework 3 | |
| Fri | Feb 8 | Miscellania | Representing images as lists of spots, continued | Quiz 2 | ||
| 4 | Mon | Feb 11 | Documentation |
Documenting procedures | Class exercise: Writing documentation | |
| Tue | Feb 12 | Raster graphics & RGB colors | Raster graphics & RGB colors | Raster graphics & RGB colors | ||
| Wed | Feb 13 | Design & color | None! | Guest lecture: Professor Matt Kluber, Art | Exam 1 | |
| Fri | Feb 15 | Exam 1 discussion | None! | Quiz 3 | ||
| Week | Date | Topic | Reading | Lab | Assignments | |
| 5 | Mon | Feb 18 | Boolean values and predicate procedures | Boolean values and predicate procedures | Boolean values and predicate procedures | |
| Tue | Feb 19 | Conditionals | Conditionals | Conditionals | ||
| Wed | Feb 20 | Iterating over lists | Iterating over lists | Iterating over lists | Homework 4 | |
| Fri | Feb 22 | Naming local values | Naming values with local bindings | Naming values with local bindings | Quiz 4 | |
| 6 | Mon | Feb 25 | Transforming colors | Transforming RGB colors | Transforming RGB colors | |
| Tue | Feb 26 | Transforming images | Transforming images | Transforming images | ||
| Wed | Feb 27 | Iterating over positions | Building images by iterating over positions | Building images by iterating over positions | Homework 5 | |
| Fri | Feb 29 | Recursion over lists | Recursion basics | Recursion basics | Quiz 5 | |
| 7 | Mon | Mar 3 | Recursion over lists, continued | None! | Recursion basics | |
| Tue | Mar 4 | Helper recursion | Recursion with helper procedures | Recursion with helper procedures | ||
| Wed | Mar 5 | Other forms of list recursion | List recursion, revisited | List recursion, revisited | Homework 6 | |
| Fri | Mar 7 | Verifying preconditions | Verifying preconditions | Verifying preconditions | Quiz 6 | |
| 8 | Mon | Mar 10 | Naming local procedures | Local procedure bindings and recursion | Local procedure bindings and recursion | |
| Tue | Mar 11 | Numeric recursion | Numeric recursion | Numeric recursion | ||
| Wed | Mar 12 | Geometric art through numeric recursion | Geometric art | Geometric art | Exam 2 | |
| Fri | Mar 14 | Class cancelled | ||||
| Spring Break | ||||||
| Week | Date | Topic | Reading | Lab | Assignments | |
| 9 | Mon | Mar 31 | Characters and strings | Characters and strings | Characters and strings | |
| Tue | Apr 1 | Storing data in files | Files | Files | ||
| Wed | Apr 2 | Pixel maps: A technique for storing images in files | Pixel maps: A technique for storing images in files | Storing images with pixmaps | Homework 7 | |
| Fri | Apr 4 | More efficient pixel maps | Pixmaps, revisited: Encoding data more efficiently | Representing images with binary data | Homework 7 Quiz 7 |
|
| 10 | Mon | Apr 7 | Still more efficient pixel maps | None! | Continue Representing images with binary data | |
| Tue | Apr 8 | Color palettes | Color palettes | Color palettes | ||
| Wed | Apr 9 | Vectors | Vectors | Vectors | Homework 8 | |
| Fri | Apr 11 | Analyzing procedures |
Analyzing procedures | Analyzing procedures | Quiz 8 | |
| 11 | Mon | Apr 14 | Pairs & pair structures | Pairs & pair structures | Pairs & pair structures | |
| Tue | Apr 15 | Deep recursion | Deep recursion | Deep recursion | ||
| Wed | Apr 16 | Association lists | Association lists | Association lists | Homework 9 | |
| Fri | Apr 18 | Project kickoff |
Project ideas | Playing with project ideas | Quiz 9 |
|
| Week | Date | Topic | Reading | Lab | Assignments | |
| 12 | Mon | Apr 21 | Higher-order procedures, revisited | Higher-order procedures | Higher-order procedures | |
| Tue | Apr 22 | Binary search | Search algorithms | Binary search | ||
| Wed | Apr 23 | Introduction to sorting | None! | |||
| Fri | Apr 25 | Insertion sort | Sorting | Insertion sort | Project Quiz 10 |
|
| 13 | Mon | Apr 28 | Merge sort | Merge sort | Merge sort | |
| Tue | Apr 29 | Project assessment: Images | Look at project images for our section (02) and the mythical section 03 | |||
| Wed | Apr 30 | Project assessment: Procedures | None! | Exam 3 | ||
| Fri | May 2 | Randomized drawing | Randomized drawing | Randomized drawing | ||
| 14 | Mon | May 5 | What is computer science?, revisited | None! | 151-grading-2008S.scm |
|
| Tue | May 6 | TBA |
None! | |||
| Wed | May 7 | Wrap-up | None! | |||
| Fri | May 9 | Review for final | None! | |||
| Wed |
May 14 | Final exam (OPTIONAL), 9 a.m. | ||||
Janet Davis (davisjan@cs.grinnell.edu)
Created August, 2007