# Schedule for CSC 123, Fall 2017

 Date Topic Readings Lab Assignment due Other F Sep 15 Hello, Welcome, What is studying? M 18 basic musical terminology, an algebra of music HtDP 2e prologue Lab 1 W 20 mathematical background, an algebra of music HtDP 2e 1 (all) F 22 Functions, Programs HtDP 2e 2.0--2.2 M 25 simple intervals, evaluating functions, the stepper HtDP 2e 2.3--2.4 Lab 2 Assignment 1 due W 27 QUIZ, musical intervals, note names HtDP 2e 2.5 F 29 The Design Recipe, simple functions HtDP 2e 3.0--3.2 Progress Rpt. 1 M Oct 2 REVIEW AND REGROUPING W 4 intervals, sampling, nyquist frequency, desiging with big-bang HtDP 2e 3.3--3.6 F 6 adding sine waves, cond, pstreams HtDP 2e 4.0--4.2 Lab 3 M 9 enumerations & intervals HtDP 2e 4.3--4.5 W 11 QUIZ, programming with compound data, pstream queueing HtDP 2e 4.6, 5.0--5.3 F 13 Adding GUI elements, pstreams HtDP 2e 5.4--5.6 Progress Rpt. 2 M 16 sound-playing model HtDP 2e 5.7--5.9 Assignment 2 due W 18 Intro to PStreams HtDP 2e 5.8--5.9 Lab 4 F 20 Itemizations with Structures HtDP 2e 6.0, 6.1, 7, Intermezzo: BSL M 23 Exam review, Functions on Lists HtDP 2e 8.0--8.4 W 25 MIDTERM EXAM F 27 No class Assignment 3 due M 30 Programming with lists HtDP 2e 9.0, 9.1 Lab 5 Progress Rpt. 3 W Nov 1 Programming with lists II F 3 lists of structures in the world HtDP 2e 9.2, 9.3 Lab 6 (tba) M 6 basic frequency analysis, simple list functions HtDP 2e 9.5 Assignment 4 due W 8 lists: more list functions on lists, producing lists HtDP 2e 10.0, 10.1, 10.2 F 10 Veterans Day -- NO CLASS M 13 lists in lists, reading code HtDP 2e 10.3 W 15 fft II, map HtDP 2e 11.0, 11.1, 11.2, 11.3 Assignment 5 due F 17 Jim Heintz guest lecture HtDP 2e 11.4 Progress Rpt. 9 M 20 Thanksgiving -- NO CLASS W 22 Thanksgiving -- NO CLASS F 24 Thanksgiving -- NO CLASS M 27 abstraction III: foldr HtDP 2e 14.0, 14.1, 14.2, 14.3, 14.4 Assignment 6 (tba) W 29 extended example: sorting F Dec 1 Review Assignment 7 (tba)