CISC 280 Program Development Techniques
Latest Info page, Spring, 2001
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 May 18, 2001.
Some Scheme source code
(including painter setup).
Upcoming:
Tues, May 22: Final exam 1:00-3:00pm
Done:
Tue, May 14: the halting problem, review.
Handout: review sheet.
Thu, May 10: compilers and interpreters,
Reading: Chapter 4.1
Tue, May 8: project discussion
Thu, May 3: serializers and semaphores,
Reading: Chapter 3.4
Handout: EZPass system project assignment.
Tue, May 1: Concurrency,
Reading: Chapter 3.4
Handout: Lab module J
Thu, Apr 26: Environment model of evaluation.
Reading: Chapter 3.2
Tue, Apr 24: Mutable list structure,
Reading: Chapter 3.3.1, 3.3.2, 3.3.3
Handout: Lab module I ,
Thu, Apr 19: Review exam, start on mutable data.
Reading: Chapter 3.1
Tue, Apr 17: Exam on chapter 2.
Thu, Apr 12: Generic programming wrapup, Chapter 2 wrapup
Handout: review sheet.
Online: review sheet answers.
Tue, Apr 10: Multiple representations and tagged data.
Reading: Chapter 2.4, 2.5
Handout: Lab module H.
Thu, Apr 5: More on sets, and set representations.
Tue, Apr 3: Set abstractions.
Reading: Chapter 2.3
Thu, Mar 22: Symbolic data, quote.
Reading: Chapter 2.3
Tue, Mar 20: Painters.
Reading: Chapter 2.2.4
Handout: Lab module G ,
Painter summary.
Thu, Mar 15: exam results, more on lists.
Exam model answers (in postscript).
Tue, Mar 13: Midterm exam on chapter 1.
Handout: Lab module F .
Thu, Mar 8: More lists, and review.
Handout: midterm review sheet .
Tue, Mar 6: Lists.
Reading: Chapter 2.2.
Handout: Lab module E .
Thu, Mar 1: Basic compound data (pairs).
Reading: Chapter 2.1.
Tue, Feb 27: First class procedures.
Reading: finish Chapter 1.3.
Handout: Lab module D .
Thu, Feb 22: Procedures as parameters.
Reading: Chapter 1.3.
Also: revisit how to recognize tail recursion and how to create
tail recursions.
Tue, Feb 20: Finish expmod, look at RSA encryption.
Reading: Chapter 1.2 still.
Handout: Lab module C .
Thu, Feb 15: Examples of the power and flexibility of recursive expression.
3 fib versions. Exponentiation (specifically expmod),
Reading: Finish section 1.2
Also: review evaluation process in context of DrScheme stepper.
scheme example programs
Tue, Feb 13: Discuss tree recursion,
Reading: Chapter 1.2.2
Also: finish Linear Recursion and sqrt example.
Handout: Lab module B .
Mon, Feb 12, Lab:
Module A homework due.
Thu, Feb 8: Linear Recursion.
Reading: Chapter 1.2.1
Also: digressed into large number discussion. Key points:
- logarithm base b equals length in base b digits within 1.
- Computational issues bring up numbers which are beyond astronomical.
-
The algebraic properties
of logs and exponentiation make logs convenient tools for programmers.
- lg(n) denotes log base 2, approximates bit length of n.
- 2^lg(a) = a (the definition).
- lg(ab) = lg(a) + lg(b).
- lg(1) = 0, lg(2) = 1.
- lg(1/a) = - lg(a).
- lg(a^b) = b lg(a).
- 10^3 approximates 2^10. It follows that digits(n) is approx 3/10 bits(n).
Tue, Feb 6: Scheme syntax and basic use.
Reading: SICP forward, preface to the first edition.
Reading: SICP Chapter 1 section 1.
(i.e. all subsections of form 1.1.x.), but you may ignore the second half
of section 1.1.5 titled "Applicative order vs normal order."
Handouts:
Syllabus, lab manual Intro, Lab module A .
saunders@cis.udel.edu