Calendar of topics and assignments

CSC 171, Spring 2006

Last modified:

Note: I haven't finished planning the schedule of topics for the Java portion of the course, and some things in this schedule may actually take more or less time than I've estimated. I'll update this schedule as I work things out.

Date Assignment Reading Notes Subject
01/25/06     PDF lecture: Administrivia, expressions, syntax & box diagrams
01/25/06     PDF lab: DrScheme, the Stepper, defining variables and functions
01/27/06 HW1 HTDP through chap. 3 PDF lecture: Defining functions; the design recipe; data types and English
01/30/06     PDF lecture: multi-parameter functions; re-using functions; error recording
01/30/06     PDF lab: Teachpacks; practice with data types and PSP forms
02/01/06   HTDP chap. 3 and chap. 4 moved to BlackBoard lecture: Auxiliary functions and conditionals
02/01/06   Help Desk "image.ss";
tiles teachpack
  lab: Strings; images; practice with conditionals
02/03/06   HTDP chap. 5   lecture: Writing multi-function programs
02/06/06 HW1 due Help Desk "world.ss"   lecture: Animations and event-handling
02/06/06       lab: Practice with these
02/07/06 Last day to add classes
02/08/06       Writing an animation from scratch
02/08/06       lab: Practice with animations
02/10/06 HW2     Randomness in an animation
02/13/06   HTDP chap. 6.1   lecture: posns and coordinates
02/13/06       lab: practice with posns
02/15/06   HTDP chap. 6.3-6.5   lecture: defining your own structs
02/15/06       lab: Practice defining structs
02/17/06       Discuss homework and writing animations
02/20/06       Discuss homework and writing animations
02/20/06       lab: work on animations
02/21/06 Last day to drop classes
02/22/06   HTDP chap. 7   lecture: mixed data types
02/22/06       lab: Practice with user-defined structs and mixed data types
02/24/06 HW2 due; HW3 HTDP chap. 8   lecture: syntax and semantics
02/27/06   HTDP chap. 9   lecture: lists
02/27/06       lab: Practice with lists
03/01/06   HTDP chap. 9   lecture: searching and counting in lists
03/01/06       lab: Practice with these
03/03/06 HW3 due; HW4     lecture: using templates on structs and mixed types
03/06/06   HTDP chap. 10   lecture: functions returning lists; lists of structs
03/06/06       lab: practice with these
03/08/06   HTDP chap. 11   lecture: natural-number recursion
03/08/06       lab: Practice with natural numbers
03/10/06 HW4 due; HW5 HTDP chap. 12   lecture: recursive auxiliary functions
03/13/06   HTDP chap. 13-15   lecture: list syntax, trees, and lists of lists
03/13/06       lab: Practice with these
03/15/06   HTDP chap. 18   lecture: local definitions
03/15/06       lab: practice with local
03/17/06 HW6 HTDP chap. 19   lecture: generalizing a function
03/20/06 HW5 due HTDP chap. 19-21   lecture: generalizing functions, designing abstractions
03/20/06   HTDP chap. 22   lab: writing higher-order functions; GUI's
03/22/06   HTDP chap. 34-35, 40   lecture: assignment, sequence, and I/O
03/22/06       lab: practice with assignment, sequence, and I/O
03/24/06 HW6 due HTDP chap. 39, 40   lecture: encapsulating state and information-hiding

03/27/06   HtDCH chaps. 1-3   lecture: Java philosophy; translating data definitions to Java
03/27/06       lab: using ProfessorJ; writing classes in Java
03/29/06   HtDCH chaps. 4-5   lecture: mixed data types, aka unions of classes
03/29/06       lab: practice with these; lists in Java
03/31/06   HtDCH chaps. 6-7   lecture: class diagrams
03/31/06 Last day to withdraw from classes
04/03/06   HtDCH chaps. 8-10   lecture: from functions to methods; "this" and "return"
04/03/06       lab: practice writing methods
04/05/06 HW7 HtDCH chaps. 11-13   lecture: methods for classes defined by choices
04/05/06       lab: practice writing methods; CodeLab
04/07/06   HtDCH chaps. 14-15   lecture: summarize and review Java so far
04/10/06 Spring break
04/12/06
04/14/06
04/17/06   HtDCH chap. 16   lecture: testing equality on union types
04/17/06       lab: practice w/multiple dispatch
04/19/06   HtDCH chap. 16   lecture: abstract classes
04/19/06       lab: patch to allow multiple dispatch; practice w/ abstract classes
04/21/06   HtDCH chap. 17   lecture: designing hierarchies of classes
04/24/06 HW7 due HtDCH chap. 18   lecture: private, public, and overloading
04/24/06       lab: practice w/ protection specifiers and overloading
04/26/06 HW8 HtDCH chap. 19   lecture: bidirectional references, assignment, mutation
04/26/06       lab: practice w/assignment and mutation
04/28/06       lecture: sequence, void methods, local variables
05/01/06       lecture: ArrayLists; traversing with recursion
05/01/06       lab: practice with ArrayLists
05/03/06       lecture: for-loops and while-loops
05/03/06       lab: practice writing loops
05/05/06       lecture: input & output; using while-loops on input
05/08/06   lecture: Catch up & review
05/08/06 HW8 due lab: Catch up & review
05/10/06 Emergency/Study Day
05/15/06 171 final exam, 10:30-12:30