| F |
8/28 |
An Introduction to Algorithms
(notes)
|
Making Paper Airplanes
|
|
|
| M |
8/31 |
An Introduction to Linux
(notes)
|
Getting Started with Linux
|
Parts of Algorithms
The Linux Environment
|
Assignment 1
|
| T |
9/1 |
An Introduction to Scheme
(notes)
|
Getting Started with Scheme
|
Beginning Scheme
The DrRacket Program-Development Environment
How Scheme Evaluates Expressions (take 1)
|
|
| W |
9/2 |
Computing with Symbols and Numbers
(notes)
|
Numeric Computation
|
Numeric Values
Symbolic Values
|
|
| F |
9/4 |
RGB Colors
(notes)
|
RGB Colors
|
Design and Color
RGB Colors
|
Quiz 1
|
| M |
9/7 |
Transforming Colors
(notes)
|
Transforming RGB Colors
|
Transforming RGB Colors
|
|
| T |
9/8 |
Transforming Images
(notes)
|
Transforming Images
|
Transforming Images
|
Assignment 2
|
| W |
9/9 |
Writing Your Own Procedures
(notes)
|
Writing Your Own Procedures
|
Writing Your Own Procedures
How Scheme Evaluates Expressions (take 2)
|
|
| F |
9/11 |
Writing Your Own Procedures, Continued
(notes)
|
|
|
Quiz 2
|
| M |
9/14 |
Side Effects: Images, Output, and More
(notes)
|
Side Effects
|
Output in Scheme
Simple Input in Scheme
|
|
| T |
9/15 |
Documenting Programs and Procedures
(notes)
|
|
Documenting Your Procedures
Wray: How Pair Programming Really Works
|
Assignment 3
|
| W |
9/16 |
Testing Your Procedures
(notes)
|
Testing Your Procedures
|
Testing Your Procedures
|
|
| F |
9/18 |
Testing Your Procedures, Continued
(notes)
|
Testing 2.0
|
|
Quiz 3
|
| M |
9/21 |
Boolean Values and Predicate Procedures
(notes)
|
Boolean Values and Predicate Procedures
|
Boolean Values and Predicate Procedures
|
|
| T |
9/22 |
Drawings as Values
(notes)
|
Drawings as Values
|
Drawings as Values
|
Exam 1
Printing your exam
|
| W |
9/23 |
Homogeneous Lists: Making and Manipulating Groups of Drawings
(notes)
|
Making and Manipulating Lists of Drawings
|
Making and Manipulating Homogeneous Lists
|
|
| F |
9/25 |
Programming the GIMP Tools
(notes)
|
Scripting the GIMP Tools
|
The GNU Image Manipulation Program
Programming the GIMP Tools
|
Quiz 4
|
| M |
9/28 |
Exam Discussion
(notes)
|
|
|
|
| T |
9/29 |
Work on Assignment 4
(notes)
|
|
|
Assignment 4
|
| W |
9/30 |
Anonymous Procedures & Local Bindings
(notes)
|
Anonymous Procedures
Local Bindings
|
Anonymous Procedures
Local Bindings
|
|
| F |
10/2 |
Conditionals
(notes)
|
Conditionals
|
Conditionals
|
Quiz 5
|
| M |
10/5 |
Images as Functions from Positions to Colors
|
Building Images by Iterating Over Positions
|
Building Images by Iterating Over Positions
|
|
| T |
10/6 |
Revisiting Lists
|
Exploring Lists
|
Building Data Structures with Heterogeneous Lists
|
|
| W |
10/7 |
Recursion Basics
|
Recursion Basics
|
Recursion Basics
|
Assignment 5
|
| F |
10/9 |
Rescursion Basics, Continued
(notes)
|
|
|
Quiz 6
|
| M |
10/12 |
Preconditions, Revisited
(notes)
|
Verifying Preconditions
|
Verifying Preconditions
|
|
| T |
10/13 |
Characters and Strings
(notes)
|
Characters and Strings
|
Characters and Strings
|
Exam 2
|
| W |
10/14 |
Recursion with Helper Procedures
(notes)
|
Recursion with Helper Procedures
|
Recursion with Helper Procedures
|
|
| F |
10/16 |
Recursion with Helper Procedures, Continued
(notes)
|
|
|
Quiz 7
|
| Fall Break |
| M |
10/26 |
Other Forms of List Recursion
(notes)
|
List Recursion, Revisited
|
List Recursion, Revisited
|
|
| T |
10/27 |
Numeric Recursion
(notes)
|
Numeric Recursion
|
Numeric Recursion
|
|
| W |
10/28 |
Naming Local Procedures
(notes)
|
Local Procedure Bindings
|
Local Procedure Bindings
|
|
| F |
10/30 |
Turtle Graphics
(notes)
|
Turtle Graphics
|
Turtle Graphics
|
Quiz 8
|
| M |
11/2 |
Iteration
(notes)
|
Iteration
|
Iteration
|
|
| T |
11/3 |
Geometric Art Through Numeric Recursion
(notes)
|
Geometric Art
|
Geometric Art
|
Assignment 6
|
| W |
11/4 |
Randomized (Unpredictable) Drawing
(notes)
|
Randomized Drawing
|
Randomized Drawing
|
|
| F |
11/6 |
Pairs and Pair Structures
(notes)
|
Pairs and Pair Structures
|
Pairs and Pair Structures
|
Quiz 9
|
| M |
11/9 |
Vectors
(notes)
|
Vectors
|
Vectors
|
|
| T |
11/10 |
Trees
(notes)
|
Trees
|
Trees
|
Exam 3
|
| W |
11/11 |
On Two-Dimensional Design
(notes)
|
|
Elements and Principles of Two-Dimensional Design
About the Project
|
|
| F |
11/13 |
Project Kickoff
(notes)
|
Playing with Project Ideas
|
Project Ideas
|
Quiz 10
|
| M |
11/16 |
Higher-Order Procedures, Revisited
(notes)
|
Design Patterns and Higher-Order Procedures
|
Design Patterns and Higher-Order Procedures
|
Project Proposal
|
| T |
11/17 |
Files in Scheme
(notes)
|
Files in Scheme
|
Files Reading
|
Proposal Images
|
| W |
11/18 |
Project Working Day
(notes)
|
|
|
|
| F |
11/20 |
Pause for Breath
(notes)
|
|
|
Quiz 11
|
| M |
11/23 |
Analyzing Procedures
(notes)
|
Analyzing Procedures
|
Analyzing Procedures
|
|
| T |
11/24 |
Association Lists
(notes)
|
Association Lists
|
Association Lists
|
Project
|
| W |
11/25 |
Binary Search
(notes)
|
|
Search Algorithms
|
|
| Thanksgiving Break |
| M |
11/30 |
Project Assessment: Images
|
|
|
|
| T |
12/1 |
Project Assessment: Algorithms
(notes)
|
|
|
|
| W |
12/2 |
Binary Search Lab
(notes)
|
Binary Search
|
|
|
| F |
12/4 |
An Introduction to Sorting
(notes)
|
|
|
Quiz 12
|
| M |
12/7 |
Insertion Sort
(notes)
|
Insertion Sort
|
Sorting
|
Exam 4
|
| T |
12/8 |
Merge Sort
(notes)
|
Merge Sort
|
Merge Sort
|
|
| W |
12/9 |
Recap
|
|
|
|
| F |
12/11 |
Wrapup
|
|
|
|