CSC 151-02, Fall 2006 : Schedule
[ skip links | calendar | week 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 ]

Schedule for CSC 151-02

This schedule is tentative and will change as the semester progresses.  Please check this page frequently for updates.

Week   Date Topic Reading Lab Assignment
0 Fri 8/25 An Introduction to Computer Science
     
1 Mon 8/29 An Introduction to CSC151  The course web
The MathLAN Environment
Getting Started in the MathLAN Homework 1 due
Tue 8/29 Working in DrScheme The DrScheme Programming Environment Getting Started in DrScheme  
Wed 8/30 Beginning Scheme     Beginning Scheme Beginning Scheme
 
Fri 9/1 Symbols and Lists 
Symbols
Lists
Surprise:
Symbols and Lists !
Homework 2 due
2 Mon 9/4 Numbers 
Numeric Values in Scheme Numbers  
Tue 9/5 Characters and Strings 
Characters
Strings
Characters and Strings Homework 3 due
Wed 9/6 Procedure Definitions Defining Your Own Scheme Procedures Procedures  
Fri 9/8 Booleans and Predicates Boolean Values and Predicate Procedures Boolean Values and Predicates Homework 4 due
3 Mon 9/11 Conditionals   Conditional Execution Conditional Execution  
Tue 9/12 Recursion with Lists (1) Repetition through Recursion Repetition through Recursion Homework 5 due
Wed 9/13 Recursion with Lists (2) None! None!  
Fri 9/15 Recursion with Lists (3) Reread Repetition through Recursion Repetition through Recursion
More Recursion with Lists
Homework 5 due
There is no Homework 6!
4 Mon 9/18 How to write recursive procedures
Recursion with Natural Numbers (1)
Numeric Recursion Numeric Recursion   
Tue 9/19 Recursion with Natural Numbers (2)  Bonus: Writing Recursive Procedures Numeric Recursion  Homework 7 due
Wed 9/20 Recursion with Files (1) Files  
Fri 9/22 Recursion with Files (2) Files Files Homework 8 due
Exam 1 distributed
5 Mon 9/25 Documentation
Preconditions and Postconditions
 
Procedures as Contracts Preconditions and Postconditions   
Tue 9/26 Unit Testing  Unit Testing Unit Testing  
Wed 9/27 Introduction to Local Bindings Naming Values with Local Bindings Local Bindings  
Fri 9/29 Local Procedure Bindings  Local Procedure Bindings and Recursion Local Procedure Bindings and Recursion Exam 1 due 
6 Mon 10/2 Discussion of Exam 1  None!    
Tue 10/3 Simulation   Randomness and Simulation Randomness and Simulation Homework 9 due
Wed 10/4 Project 1, Part 1    Text Generation Text Generation  
Fri 10/6 Project 1, Part 2
(Ms. Davis away; Mr. Rebelsky will teach)
Text Generation, Part 2 Text Generation, Part 2
(Link to Mr. Rebelsky's lab)
Homework 10 due
7 Mon 10/9 Pairs and Pair Structures Pairs and Pair Structures Pairs and Pair Structures  
Tue 10/10 Project 1 Questions Review Text Generation, Part 2 Work on Project 1 
Wed 10/11 Deep Recursion  Deep Recursion Deep Recursion   
Fri 10/13 Vectors  Vectors  Vectors Project 1 report due
  10/16 - 10/20 Have a fabulous fall break!
8 Mon 10/23 GIMP Basics None! Getting Started with the GIMP  
Tue 10/24 Getting Started with Script-Fu Getting Started with Script-Fu Getting Started with Script-Fu Homework 11 due
Wed 10/25 Writing Script-Fu Procedures Writing Script-Fu Procedures Writing Script-Fu Procedures  
Fri 10/27 Algorithmic Art: Demonstration Algorithmic Art None! Homework 12 due
Exam 2 distributed
9 Mon 10/30 Algorithmic Art: Lab Review Algorithmic Art Algorithmic Art   
Tue 10/31 Manipulating Images with Script-Fu Image Manipulation Image Manipulation   
Wed 11/1 Alternate Image Representations Drawing with Script-Fu, Revisited Drawing Pictures with Script-Fu  
Fri 11/3 Higher-Order Procedures None! Lecture: Higher-Order Procedures Exam 2 due
10 Mon 11/6 Discussion of Exam 2 None!
 
Tue 11/7 Association Lists and Searching   Association Lists Association Lists Homework 13 due
Wed 11/8 Binary Search  Searching Methods Binary Search  
Fri 11/10 Introduction to Sorting  None!   Homework 14 due
11 Mon 11/13 Insertion Sort Sorting Insertion Sort  
Tue 11/14 World Usability Day Usability Usability Testing / Results Homework 15 due
Wed 11/15 Merge Sort  Merge Sort Merge Sort  
Fri 11/17 Quicksort   Quicksort
Quicksort Homework 16 due
12 Mon 11/20 Variable-Arity Procedures Variable-Arity Procedures Variable-Arity Procedures  
Tue 11/21 Objects Objects in Scheme Objects in Scheme Homework 17 due
Wed 11/22 Stacks   Abstract Data Types and Stacks  Stacks Exam 3 distributed
  Fri 11/24 Have a terrific Thanksgiving break!
13 Mon 11/27 Queues Queues Queues   
Tue 11/28 Project 2, Part 1 Multivariate Data Visualization Multivariate Data Visualization  
Wed 11/29 Project 2, Part 2    Automating Data Visualization More Data Visualization  
Fri 12/1 Project 2, Part 3  None! Continue with More Data Visualization
Play with an advanced visualization:
http://tools.google.com/gapminder/
Exam 3 due
14 Mon 12/4 Discussion of Exam 3 None!    
Tue 12/5 What is Computer Science? Revisited     
Wed 12/6 Review for Final      
Fri 12/8 Wrapup      Project 2 writeup due
  Wed 12/13 Final Exam (OPTIONAL) at 2 p.m.
  Have a wonderful winter break!


Janet Davis (davisjan@cs.grinnell.edu)

Created August 21, 2006
Last revised February 15, 2007
With thanks to Sam Rebelsky