Note: The due dates for all assignments are on Gradescope.

Class Schedule

See below for the lab schedule.

Date Notes
Wed, Sep 4 Lecture: Introduction and Higher-Order Functions. Homework: Programming 1 and Written 1
Mon, Sep 9 Lecture: Unit Testing and Reasoning with Types
Wed, Sep 11 Lecture: First-Class Functions
Mon, Sep 16  
Wed, Sep 18 Lecture: First-Class Functions in Depth, Homework: Programming 2 and Written 2
Mon, Sep 23 Lecture: Advanced Higher-Order Functions, Higher-Order Functions with Data Structures
Wed, Sep 25 Lecture: A Mental Model of JavaScript (Part 1)
Mon, Sep 30 Lecture: Review Session 1, Review Problems, Mid-Term 1 Notes
Wed, Oct 2 Lecture: Practice Mid-term 1, Mid-Term 1 Notes
Mon, Oct 7 Mid-term 1 (in-class)
Wed, Oct 9 Lecture: Garbage Collection Homework: Programming 3 and Written 3
Mon, Oct 14 No class (Holiday)
Tue, Oct 15 Monday schedule. Lecture: Property-Based Testing
Wed, Oct 16 Lecture: A Mental Model of JavaScript (Part 2)
Mon, Oct 21 Class cancelled
Wed, Oct 23 Class cancelled
Mon, Oct 28 Lecture: Object-Oriented Programming in JavaScript, Design Patterns: Streams 1
Wed, Oct 30 Lecture: Design Patterns: Builders and Observables. Homework: Programming 4 and Written 4
Mon, Nov 4 Continuation of last lecture
Wed, Nov 6 Lecture: Objects vs. Functions
Mon, Nov 11 No class (Holiday)
Wed, Nov 13 Lecture: Design Patterns: Error Handling [Design Patterns: Stream 2]
Mon, Nov 18 Lecture: [Practice Mid-term 2]. Mid-Term Notes
Wed, Nov 20 Mid-term 2 (in-class) Mid-Term Notes
Mon, Nov 25 No class (Thanksgiving)
Wed, Nov 27 No class (Thanksgiving)
Mon, Dec 2 Lecture: Programming Programming Languages (Part 1). Homework: Programming 5
Wed, Dec 4 Lecture: Programming Programming Languages (Part 2) Lecture: Planning.
Mon, Dec 9 Lecture: Testing Stochastic Algorithms. Homework: Programming 6
Wed, Dec 11 Lecture: Everything You Do Not Know About JavaScript

Lab Schedule

Date Notes
Wed, Sep 4 and Fri, Sep 6 No lab (Sep 4 lab is scheduled before first class)
Wed, Sep 11 and Fri, Sep 13 Discussion Section 1 Worksheet
Wed, Sep 18 and Fri, Sep 20 Discussion Section 2 Worksheet, Discussion Section 2 Slides
Wed, Sep 25 and Fri, Sep 27 Discussion Section 3 Slides, Example HOFs
Wed, Oct 2 and Fri, Oct 4 Dicussion Section 4 Slides
Wed, Oct 9 and Fri, Oct 11 No lab (This is the week of the midterm so no new material to cover)
Wed, Oct 16 and Fri, Oct 18 Discussion Section 6 Slides
Wed, Oct 23 and Fri, Oct 25 Discussion Section 7 Slides
Wed, Oct 30 and Fri, Nov 1 Discussion Section 8 Slides
Wed, Nov 6 and Fri, Nov 8 result.js
Wed, Nov 13 and Fri, Nov 15 No lab on Wednesday, Exam Review Friday (Nov 13 is on a Monday schedule.)
Wed, Nov 20 and Fri, Nov 22  
Wed, Nov 27 and Fri, Nov 29 No lab (Thanksgiving)
Wed, Dec 4 and Fri, Dec 6  
Wed, Dec 11 and Fri, Dec 13 No lab (Dec 13 lab is after last class)