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 |