CISC 108: Introduction to Computer Science I, Spring 2016 Week Tentative schedule Topics Week 1 February 9 February 11 • • • • • • Week 2 February 16 February 18 • Conditionals • Enumerations, intervals, itemizations • “World” programs Readings Course overview Atomic data (numbers, strings, booleans, images) Simple functions The Design Recipe Function composition Testing How to Design Programs, Second Edition • Chapter 1 • Chapter 2 • Chapter 3, Sections 1–5 How to Design Programs, Second Edition • Chapter 3, Sections 6–8 • Chapter 4 February 22: Last day to register or add classes Week 3 February 23 February 25 • Compound data • Structures How to Design Programs, Second Edition • Chapter 5 • Chapter 6 • Chapter 7 • Chapter 8 Week 4 March 1 March 3 • Lists • Non-empty lists • Recursion How to Design Programs, Second Edition • Chapter 9 • Chapter 10 (skip Section 3) Week 5 March 8 March 10 • Lists of structures • Lists of lists How to Design Programs, Second Edition • Chapter 10, Section 3 • Chapter 11 March 10: Exam 1 Page 1 of 3 CISC 108: Introduction to Computer Science I, Spring 2016 Week Tentative schedule Topics Readings Week 6 March 15 March 17 • Auxiliary functions • Sorting How to Design Programs, Second Edition • Chapter 12 • Chapter 14 Week 7 March 22 March 24 • • • • How to Design Programs, Second Edition • Chapter 16 • Chapter 17 • Chapter 18 Abstraction First-order functional abstraction Parametric data definitions Local variables March 25: Deadline for reporting midterm grades (freshmen) March 26–April 3: Spring Break Week 9 April 5 April 7 • Lambda (λ) • Self-referential data • Trees How to Design Programs, Second Edition • Chapter 19 • Chapter 20 • Chapter 21 • Chapter 22 April 22: Last day to change registration or withdraw from courses Week 10 April 12 April 14 • Generative recursion • Quicksort • Time and space efficiency How to Design Programs, First Edition • Chapter 25 • Chapter 26 • Chapter 29 April 14: Exam 2 Page 2 of 3 CISC 108: Introduction to Computer Science I, Spring 2016 Week Tentative schedule Topics Readings Week 11 April 19 April 21 • Accumulators • Iteration How to Design Programs, First Edition • Chapter 30 • Chapter 31 Week 12 April 26 April 28 • Mutation • State • Mutating loops How to Design Programs, First Edition • Chapter 34 • Chapter 35 • Chapter 36 • Chapter 39 Week 13 May 3 May 5 • • • • How to Design Programs, First Edition • Chapter 34 • Chapter 35 • Chapter 36 • Chapter 39 Week 14 May 10 May 12 • Java transition Mutation State Mutating loops Java transition TBA: Exam 3 Page 3 of 3