Schedule

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
Last revised May 5,
2008