CSC151.01
Schedule
Readings
Labs
Assignments
Reference
Search
Schedule
CSC 151.01
Functional Problem Solving with Scheme
Spring 2010
Jump to:
Current Date
:
Bottom
Date
Topic
Reading
Lab
Mon 01/25
Introduction to algorithms
Drawing Smiley Faces
Tue 01/26
Introduction to CSC 151
Grinnell's Linux environment
Getting started with Linux
Wed 01/27
Introduction to the Gimp
The GNU Image Manipulation Program
Getting started with the GIMP
Fri 01/29
Introduction to Scheme
Starting Scheme
Starting Scheme
Mon 02/01
Tools for scripting the GIMP
Programming with GIMP tools
Programming with GIMP tools
Tue 02/02
Numbers and symbols
Basic types
Numeric values
Wed 02/03
Graphics objects
Drawings as values
Drawings as values
Fri 02/05
Writing your own procedures
Writing procedures
Writing procedures
Mon 02/08
Writing your own procedures
Writing procedures
Writing procedures
Tue 02/09
Raster graphics and RGB colors
Raster graphics and RGB colors
Raster graphics and RGB colors
Wed 02/10
Transforming colors
Transforming RGB colors
Transforming RGB colors
Fri 02/12
Design and Color
Mon 02/15
Transforming images
Transforming images
Transforming images
Tue 02/16
Documentation
Documenting procedures
Wed 02/17
Making and Manipulating Drawings
Homogeneous Lists
Lists of Drawings
Fri 02/19
Anonymous Procedures
Anonymous Procedures
Anonymous Procedures
Mon 02/22
Exam 1 discussion
Tue 02/23
Turtle graphics
Turtle graphics
Turtle graphics
Wed 02/24
Iteration
Iteration
Iteration
Fri 02/26
Naming local values
Naming values with local bindings
Naming values with local bindings
Mon 03/01
Boolean values and predicate procedures
Boolean values and predicate procedures
Boolean values and predicate procedures
Tue 03/02
Conditionals
Conditionals
Conditionals
Wed 03/03
Implementing Drawings
Building Data Structures with Heterogeneous Lists
Implementing Drawings
Fri 03/05
Recursion over lists
Recursion basics
Recursion basics
Mon 03/08
Recursion over lists
Recursion basics
Recursion basics
Tue 03/09
Helper recursion
Recursion with helper procedures
Recursion with helper procedures
Wed 03/10
Unit Testing
Unit Testing
Unit Testing
Fri 03/12
Iterating over positions
Building images by iterating over positions
Building images by iterating over positions
Mon 03/15
Other forms of list recursion
List recursion, revisited
List recursion, revisited
Tue 03/16
Verifying preconditions
Verifying preconditions
Verifying preconditions
Wed 03/17
Naming local procedures
Local procedure bindings and recursion
Local procedure bindings and recursion
Fri 03/19
Randomized drawing
Randomized drawing
Randomized drawing
Mon 04/05
Numeric recursion
Numeric recursion
Numeric recursion
Tue 04/06
Geometric art through recursion
Geometric art
Geometric art
Wed 04/07
Characters and strings
Characters and strings
Characters and strings
Fri 04/09
Vectors
Vectors
Vectors
Mon 04/12
Pairs and pair structures
Pairs and pair structures
Pairs and pair structures
Tue 04/13
Trees
Trees
Trees
Wed 04/14
Project kickoff
Project ideas
Playing with project ideas
Fri 04/16
Project Design
Mon 04/19
Analyzing procedures
Analyzing procedures
Analyzing procedures
Tue 04/20
Association lists
Association lists
Association lists
Wed 04/21
Higher-order procedures
Higher-order procedures
Higher-order procedures
Fri 04/23
Pause for breath
Mon 04/26
Binary search
Search algorithms
Binary search
Tue 04/27
Introduction to sorting
Wed 04/28
Insertion sort
Sorting
Insertion sort
Fri 04/30
Merge sort
Merge sort
Merge sort
Mon 05/03
Project assessment: Images
Tue 05/04
Project assessment: Procedures
Wed 05/05
Implementing Turtles: Objects in Scheme
Building Objects in Scheme
Building Objects in Scheme
Fri 05/07
Implementing Turtles: Objects in Scheme
Building Objects in Scheme
Building Objects in Scheme
Mon 05/10
Storing data in files
Files
Files
Tue 05/11
What is computer science? Revisited
Wed 05/12
Wrap-up
Fri 05/14
Review for the Final
Jerod Weinman
Created 19 August 2009