This is an abbreviated course syllabus.
Like everything else in this course, it is likely to change.
Weeks:
1,
2,
3,
4,
5,
6,
7,
break,
8,
9,
10,
11,
12,
13,
14.
| |
Date |
Topic |
Reading |
Lab |
Work Due |
| Week 1 |
| 01 | Friday, 28 August 2009 | An Introduction to Algorithms | | Drawing Smiley Faces | |
| 02 | Monday, 31 August 2009 | An Introduction to CSC151 | Grinnell's Linux Environment | Getting Started with Linux | Assignment 1: Class Basics |
| 03 | Tuesday, 1 September 2009 | An Introduction to the GIMP | The GNU Image Manipulation Program | Getting Started with the GIMP | |
| 04 | Wednesday, 2 September 2009 | An Introduction to Scheme | The MediaScript Program-Development Environment & Beginning Scheme & How Scheme Evaluates Expressions (version 1) | Starting Scheme | |
| 05 | Friday, 4 September 2009 | Programing the GIMP Tools | Programming the GIMP Tools | Scripting the GIMP Tools Writeup 1: 2d, 3, and 4. | Quiz 1 |
| Week 2 |
| 06 | Monday, 7 September 2009 | Computing with Symbols and Numbers | Numeric Values & Symbolic Values | Numeric Computation | |
| 07 | Tuesday, 8 September 2009 | Drawings as Values | Drawings as Values | Drawings as Values | Lab Writeup 1: Scripting the GIMP Tools |
| 08 | Wednesday, 9 September 2009 | Writing Your Own Procedures | Writing Your Own Procedures & How Scheme Evaluates Expressions (version 2) | | Assignment 2: Algorithms for Drawing, Revisited |
| 09 | Friday, 11 September 2009 | Laboratory: Writing Your Own Procedures | Writing Your Own Procedures & How Scheme Evaluates Expressions (version 2) | Writing Your Own Procedures | Quiz 2 |
| Week 3 |
| 10 | Monday, 14 September 2009 | Raster Graphics and RGB Colors | Raster Graphics: Images from Pixels and Colors and RGB Colors | Raster Graphics and RGB Colors | |
| 11 | Tuesday, 15 September 2009 | A Design Perspective | | | Lab Writeup 2: Writing Your Own Procedures |
| 12 | Wednesday, 16 September 2009 | Transforming Colors | Transforming RGB Colors | Transforming RGB Colors | Assignment 3: Drawing Generally and Concisely |
| 13 | Friday, 18 September 2009 | Transforming Images | Transforming Images | Transforming Images | Quiz 3 |
| Week 4 |
| 14 | Monday, 21 September 2009 | Documenting Programs and Procedures | Documenting Your Procedures | | |
| 15 | Tuesday, 22 September 2009 | Homogeneous Lists: Making and Manipulating Groups of Drawings | Making and Manipulating Homogeneous Lists | Making and Manipulating Lists of Drawings | Lab Writeup 3: Transforming RGB Colors |
| 16 | Wednesday, 23 September 2009 | Anonymous Procedures | Anonymous Procedures | Anonymous Procedures | Exam 1: Scheme Basics |
| 17 | Friday, 25 September 2009 | Turtle Graphics | Turtle Graphics | Turtle Graphics | Quiz 4 |
| Week 5 |
| 18 | Monday, 28 September 2009 | Iteration | Iteration | Iteration | |
| 19 | Tuesday, 29 September 2009 | Pause for Breath | | | |
| 20 | Wednesday, 30 September 2009 | Naming Local Values | Local Bindings | Local Bindings | Assignment 4: Exploring Colors |
| 21 | Friday, 2 October 2009 | Boolean Values and Predicate Procedures | Boolean Values and Predicate Procedures | Boolean Values and Predicate Procedures | Quiz 5 |
| Week 6 |
| 22 | Monday, 5 October 2009 | Conditionals | Conditionals | Conditionals | |
| 23 | Tuesday, 6 October 2009 | Iterating Over Positions | Building Images by Iterating Over Positions | Building Images by Iterating Over Positions | Lab Writeup 4: Boolean Values and Predicate Procedures |
| 24 | Wednesday, 7 October 2009 | Revisiting Lists | Building Data Structures with Heterogeneous Lists | Exploring Lists | Assignment 5: A Miscellany of Image Models |
| 25 | Friday, 9 October 2009 | Pause for Breath | | | Quiz 6 |
| Week 7 |
| 26 | Monday, 12 October 2009 | Recursion Basics | Recursion Basics | Recursion Basics | |
| 27 | Tuesday, 13 October 2009 | Recursion Basics, Continued | Recursion Basics & How Scheme Evaluates Expressions (version 2) | Continue Recursion Basics | |
| 28 | Wednesday, 14 October 2009 | Recursion with Helper Procedures | Recursion with Helper Procedures | Recursion with Helper Procedures | Assignment 6: Conditionals |
| 29 | Friday, 16 October 2009 | Other Forms of List Recursion | List Recursion, Revisited | List Recursion, Revisited | Quiz 7 |
| Fall Break! |
| Week 8 |
| 30 | Monday, 26 October 2009 | Preconditions, Revisited | Verifying Preconditions | Verifying Preconditions | |
| 31 | Tuesday, 27 October 2009 | Naming Local Procedures | Local Procedure Bindings | Local Procedure Bindings | |
| 32 | Wednesday, 28 October 2009 | Numeric Recursion | Numeric Recursion | Numeric Recursion | |
| 33 | Friday, 30 October 2009 | Geometric Art Through Numeric Recursion | Geometric Art | Geometric Art | Quiz 8 |
| Week 9 |
| 34 | Monday, 2 November 2009 | Randomized (Unpredictable) Drawing | Randomized Drawing | Randomized Drawing | |
| 35 | Tuesday, 3 November 2009 | Characters and Strings | Characters and Strings | Characters and Strings | |
| 36 | Wednesday, 4 November 2009 | Vectors | Vectors | Vectors | Exam 2: Control |
| 37 | Friday, 6 November 2009 | Pairs and Pair Structures | Pairs and Pair Structures | Pairs and Pair Structures | Quiz 9 |
| Week 10 |
| 38 | Monday, 9 November 2009 | Trees | Trees | Trees | |
| 39 | Tuesday, 10 November 2009 | Analyzing Procedures | Analyzing Procedures | Analyzing Procedures | |
| 40 | Wednesday, 11 November 2009 | Testing Your Procedures | Testing Your Procedures | Testing Your Procedures | Assignment 7: String Art |
| 41 | Friday, 13 November 2009 | Project Ideas | Project Ideas | Playing with Project Ideas | Quiz 10 |
| Week 11 |
| 42 | Monday, 16 November 2009 | Association Lists | Association Lists | Association Lists | |
| 43 | Tuesday, 17 November 2009 | Higher-Order Procedures, Revisited | Design Patterns and Higher-Order Procedures | Design Patterns and Higher-Order Procedures | |
| 44 | Wednesday, 18 November 2009 | Binary Search | Search Algorithms | Binary Search | Assignment 8: Trees; Project Proposal |
| 45 | Friday, 20 November 2009 | Time to Work on Projects | | | Quiz 11 |
| Week 12 |
| 46 | Monday, 23 November 2009 | Introduction to Sorting | | | |
| 47 | Tuesday, 24 November 2009 | Insertion Sort | Sorting | Insertion Sort | Project |
| 48 | Wednesday, 25 November 2009 | Merge Sort | Merge Sort | Merge Sort | |
| Week 13 |
| 49 | Monday, 30 November 2009 | Objects in Scheme | Building Objects in Scheme | Building Objects in Scheme | |
| 50 | Tuesday, 1 December 2009 | Project Assessment: Images | | | |
| 51 | Wednesday, 2 December 2009 | Project Assessment: Algorithms | | | |
| 52 | Friday, 4 December 2009 | Objects, Continued: Implementing Turtles | Building Objects in Scheme | Building Objects in Scheme | Quiz 12 |
| Week 14 |
| 53 | Monday, 7 December 2009 | File Basics | Files | Files | |
| 54 | Tuesday, 8 December 2009 | What is Computer Science? Revisited | | | Exam 3: Types and Algorithms |
| 55 | Wednesday, 9 December 2009 | Wrapup | | | |
| 56 | Friday, 11 December 2009 | The Real Wrapup | | | Course Assessment |