Latest Info page,
CISC 280 Program Development Techniques
Spring, 2002
This page contains a brief summary of each class topic and the associated reading
and homework assignments.
It morphs frequently, being updated at least weekly.
You may need to reload it at each viewing
to avoid being shown a stale version from your browser cache.
Most recent items are at the top.
Last updated 14May2002.
Some Scheme source code
(including painter setup).
Upcoming
Mon, May 20, 1:00-3:00pm.:
Final Exam in 209 Smith Hall.
Wed, May 15, 5pm: Project 2 due.
Done
Tue, May 14:
Mon, May 13, Lab:
Topper catchup, work on project 2.
For H and J toppers look here
For F topper look here
Thu, May 9:
Reading:
SICP Section 4.1
Handout:
Project 2 assignment, Due May 15.
- The Metacircular evaluator
- Guest lecturer: Ray Kozlowski
Tue, May 7:
Reading:
SICP Section 3.5
- Solution to the "comma" question
- More on streams
- functional vs iterative programming
Mon, May 6, Lab:
Topper catchup, work on project 2.
Thu, May 2:
Reading:
SICP Section 3.5
Handout:
Project 2 assignment, Due May 15.
- Streams
- primitives delay and force
- project discussion
Tue, Apr 30:
Reading:
SICP Section 3.3
- Queue implementation
- Defining Tables
- A look at the submission system
Mon, Apr 29, Lab:
Handout: Toppers for lab J.
Thu, Apr 25:
Reading:
SICP Section 3.3, 3.4
- More on serializers
- Defining Stacks
- Queue implementation plan
Tue, Apr 23:
Reading:
SICP Section 3.2, 3.3.1, 3.4
- Using setcar! and setcdr!; The aliasing issue.
- More on the environment model of evaluation.
- Serializers, a tast of parallel programming.
Mon, Apr 22, Lab:
Handout: Toppers for lab I.
Handout: Lab J assignment, using assignment:
due in lab Apr 29.
Thu, Apr 18:
Reading:
SICP Section 3.1, 3.2
- using assignment, set!
- the environment model of evaluation
- designing program tests.
- Midterm returned
Tue, Apr 16: Mideterm exam on chapter 2.
Answer key
Mon, Apr 15, Lab:
Handout: Toppers for lab H.
Handout: Lab black box testing assignment:
due in lab Apr 22.
For today's lab:
D, E, F toppers
G topper
Thu, Apr 11:
Reading:
SICP Section 2.5
- data directed programming
- coersion
- Ch 2 review. study guide
Tue, Apr 9:
Reading:
SICP Section 2.4
- Multiple representations of data
- representations for rational numbers
- generic operator system
Mon, Apr 8, Lab:
Handout: Toppers for lab G.
Handout: makeup toppers for D,E,F.
Handout: Lab data directed programming assignment:
due in lab Apr 15.
Thu, Mar 21:
Reading:
SICP Section 2.3.1, 2.3.2
- Huffman Code example.
- symbolic differentiation example
- More on painters
Tue, Mar 19:
Reading:
SICP Section 2.2.4
- Midterm exam returned
- Lists (map, filter), trees(count-leaves, count-pairs).
- Painters and their frames.
Download with a right click: Painters.scm
Mon, Mar 18, Lab:
Handout: Toppers for lab F (& D,E)
Handout: Lab painter project assignment:
part 1 is due Mar 25, part 2 is due Apr 8.
Thu, Mar 14:
Reading:
SICP Section 2.2.3
- 3 views: pairs, lists, trees
- list and tree operations: patterns used in key functions: length, map, filter, count-leaves, count-pairs, ...
- list display
Tue, Mar 12:
Exam on Chapter 1 - control abstractions
Mon, Mar 11, Lab:
Handout: Toppers for lab E (& C,D)
Handout: Lab Module F assignment, due Mar 18.
Thu, Mar 7:
Reading:
SICP Section 2.2.1 2.2.2
Tue, Mar 5:
Reading:
SICP Section 2.1
- constructors, selectors, recognizers, and mutators
- Top level distinct types: number? procedure? pair? boolean? null? string?
- Pairs: cons, car, cdr, pair?
- Abstraction levels: pairs, rats, rat arith, appl using rats
Mon, Mar 4, Lab:
Handout: Toppers for lab D (& C)
Handout: Lab Module E assignment, due Mar 11.
Thu, Feb 28:
- let syntax
- Procedures as returned values
- General strategies as procedures
Tue, Feb 26:
Reading:
SICP Section 1.3
- RSA encryption example
- Procedures as parameters
- 3n + 1 problem
Mon, Feb 25, Lab:
Handout: Toppers for lab B and C.
Handout: Lab Module D assignment, due Mar 4.
Thu, Feb 21:
Reading:
SICP Finish Section 1.2
- RSA public key encryption
- Fast exponentiation and primality testing.
- time syntax
Tue, Feb 19:
Reading:
SICP Section 1.2.4-6
Handout: Lab Module C assignment, due Feb 25.
- Another tree recursion. Recursion categories summary
- Fast isqrt. More on theta() approximation.
- slow, fast, and extremely fast. After astronomical..?
Mon, Feb 18, Lab:
Handout: Toppers for lab A and B.
Thu, Feb 14:
Reading:
SICP Remainder of Section 1.2
- Tree recursion (fibonacci example)
- Counting steps, approximating computation time
- fast fib
Tue, Feb 12:
Reading:
SICP Section 1.2.1
- Internal definitions (continuing sqrt example)
- Expressing repetition through recursive proceedures.
- Tail recursive procedure => iterative process.
Mon, Feb 11, Lab:
Handout: Toppers for lab A and email submission system
instructions.
Handout: Lab Module B assignment, due Feb 18.
Thu, Feb 7:
Reading:
SICP Forward, Section 1.1
Handout: Lab Intro and Module A assignment, due Feb 11.
- Control abstraction (sequence, selection, repetition)
- Scheme syntax for conditionals (cond, if, and, or)
- Repetition through recursive definitions (sqrt example)
Tue, Feb 5:
Homework:
Access DrScheme either on composer or download to your machine.
- Brief history of programming languages (Jave = Scheme + C++).
- Basic Scheme syntax and use (procedure call, define, lambda).
- Course organization.
saunders@cis.udel.edu