Week | Date | Topics | Reading | Milestones | |
---|---|---|---|---|---|
1 | Mon. 29 Aug. | Inroduction Why Study Programming Langauges? (notes) |
Sections 1.1 | Assign First Day Survey Assign In-Class 1: Ice Breaker |
|
Wed. 31 Aug. | Tradeoffs in Programming Languages (notes) Intro to Connect 4 project |
Sections 1.3 - 1.7 Connect 4 |
Assign In-Class 2: Tradeoffs Assign Project 1: Connect 4 in C |
||
Fri. 2 Sep. | Functional Programming Motivation and Installation of Kawa Scheme Expressions and Functions Scheme binding ("let") and debugging |
Sections 15.1-15.5 Video 01 Video 02 Video 03 |
Assign In-Class 3: Intro to Kawa Scheme Due Homework 1: Tests for Connect 4 |
||
2 | Mon. 5 Sep. | No Class | |||
Wed. 7 Sep. | More tradeoffs | ||||
Fri. 9 Sep. | More functional programming intro | ||||
3 | Mon. 12 Sep. | Functional Programming Kawa conditionals Kawa recursion |
Video 04 | Assign Project 2: Connect 4 in Scheme Due Project 1: Connect 4 in C |
|
Wed. 14 Sep. | Using Symbols as Data Functional Programming Lists Names, Bindings, and Scopes |
Video 05 Video 06 Video 07 Sections 5.1-5.3 |
Assign Project 2: Connect 4 in Scheme | ||
Fri. 16 Sep. | First class functions | ||||
4 | Mon. 19 Sep. | First-class functions | Video 08 | ||
Wed. 21 Sep. | First-class functions | Sections 5.4-5.8 | Assign In-Class 4: Names and Bindings | ||
Fri. 23 Sep. | Project work day | ||||
5 | Mon. 26 Sep. | Names, Bindings, and Scopes (notes) | Assign In-Class 5: Scope | ||
Wed. 28 Sep. | Names, Bindings, and Scopes (notes) Closures |
Due Project 2: Connect 4 in Scheme | |||
Fri. 30 Sep. | Data Types (notes) | Sections 6.3, 6.4, 6.14 | |||
6 | Mon. 3 Oct. | Data Types (notes) | |||
Wed. 5 Oct. | Data Types (notes) | Due Project 2: Connect 4 in Scheme Assign Project 3: Connect 4 in JavaScript |
|||
Fri. 7 Oct. | Quiz 1 | ||||
7 | Mon. 10 Oct. | JavaScript (notes) | Sample Code | ||
Wed. 12 Oct. | JavaScript (notes) | Deconstructring objects | |||
Fri. 14 Oct. | Quiz 2 | ||||
8 | Mon. 17 Oct. | Review Scheme reduce/fold JavaScript decnstruction JavaScript method calling (call, bind) |
|||
Wed. 19 Oct. | JavaScript Promises | ||||
Fri. 21 Oct. | Quiz 3 | Due Project 3: Connect 4 in JavaScript | |||
9 | Mon. 24 Oct. | Fall Break, No Class | |||
Wed. 26 Oct. | Promises JavaScript unit testing with Jest |
| Sample Code | Assign Term Paper : Term Paper | ||
Fri. 28 Oct. | Abstract Data Types (notes) | Sections 11.1, 11.2, 11.3, 11.5, 11.6, 11.7 | |||
10 | Mon. 31 Oct. | Object-Oriented (notes) | Sections 12.1, 12.2, 12.3 | ||
Wed. 2 Nov. | More OO | Assign Project 4: Connect 4 in Ruby | |||
Fri. 4 Nov. | Ruby (notes) |
Ruby | Assign In-Class 6: Ruby | ||
11 | Mon. 7 Nov. | Ruby | |||
Wed. 9 Nov. | Ruby | ||||
Fri. 11 Nov. | Quiz 4 JavaScript and make-up Scheme | ||||
12 | Mon. 14 Nov. | More OO Reflection (notes) |
|||
Wed. 16 Nov. | TBD | ||||
Fri. 18 Nov. | Quiz 5 binding, ADT, OO, and Polymorphism | ||||
13 | Mon. 21 Nov. | Syntax and Semantics | Sections 3.1, 3.2, 3.3, 3.5.0 | ||
Wed. 23 Nov. | Thanksgiving Break. No Class | ||||
Fri. 25 Nov. | Thanksgiving Break. No Class | ||||
14 | Mon. 28 Nov. | Syntax and Semantics | Sections 3.5 | ||
Wed. 30 Nov. | TBD | ||||
Fri. 2 Dec. | |||||
15 | Mon. 5 Dec. | TBD | |||
Wed. 7 Dec. | |||||
Fri. 9 Dec. | |||||
16 | Mon. 12 Dec. | ||||
Wed. 14 Dec. | Final Exam: 10:00 a.m. or noon |
Due | Name | Details |
---|---|---|
Fri. 2 Sep. | Homework 1: Tests for Connect 4 | |
Mon. 12 Sep. | Project 1: Connect 4 in C | |
Wed. 5 Oct. | Project 2: Connect 4 in Scheme | |
Fri. 21 Oct. | Project 3: Connect 4 in JavaScript |
Date | Name | Details |
---|
Updated Sunday, 27 November 2022, 8:48 PM