Lectures

Course material will be presented and discussed during lectures. Lectures will be held on Monday, Wednesday, and Friday from 10:30-11:20am in Mary Gates Hall 389.

Attendance in lecture is strongly recommended. Recordings will be available for the benefit of students who are sick or otherwise unable to attend.

Each lecture will open with brief updates on the course.

Week 01: TypeScript, Browsers

January 03 - January 05 :   🧑‍🏫 Slides   ·   🧑‍💻 Code   ·   📺 Videos   ·   📝 Notes

Week 02: Correctness, Specifications, Testing

January 08 - January 12 :   🧑‍🏫 Slides   ·   🧑‍💻 Code   ·   📺 Videos   ·   📝 Notes

Week 03: Inductive Datatypes, Proof by Calculation

January 15 - January 19 :   🧑‍🏫 Slides   ·   🧑‍💻 Code   ·   📺 Videos   ·   📝 Notes

Week 04: Trees, Structural Induction, Exceptions, Generics

January 22 - January 26 :   🧑‍🏫 Slides   ·   🧑‍💻 Code   ·   📺 Videos   ·   📝 Notes

Week 05: Procedural Abstraction, Data Abstraction, Invariants

January 29 - February 2 :   🧑‍🏫 Slides   ·   🧑‍💻 Code   ·   📺 Videos   ·   📝 Notes

Week 06: Floyd Logic, Loops, Recursion

February 05 - February 09 :   🧑‍🏫 Slides   ·   🧑‍💻 Code   ·   📺 Videos   ·   📝 Notes

Week 07: Arrays, Servers, Routes

February 12 - February 16 :   🧑‍🏫 Slides   ·   🧑‍💻 Code   ·   📺 Videos   ·   📝 Notes

Week 08: Debugging, Stateful UI

February 19 - February 23 :   🧑‍🏫 Slides   ·   🧑‍💻 Code   ·   📺 Videos   ·   📝 Notes

Week 09: Full-stack Apps, App Design

February 26 - March 01 :   🧑‍🏫 Slides   ·   🧑‍💻 Code   ·   📺 Videos   ·   📝 Notes

Week 10: Aliasing, Subtypes, Equality, Design Patterns

March 04 - March 08 :   🧑‍🏫 Slides   ·   🧑‍💻 Code   ·   📺 Videos   ·   📝 Notes

Final Exam

Monday, Mar 11, 2024 - 8:30-10:20 a.m.