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