CS 450: Structure of Higher Level Languages (Section 1)
Fall 2026
Past editions: Fall ‘25, Fall ‘24, Fall ‘23, Spring ‘23, Fall ‘22, Spring ‘21, Spring ‘20, Spring ‘19
Course information
- Location: W01-0005 (Wheatley-Peters)
- Schedule: Tuesday/Thursday 11:00AM - 12:15PM
Instructor contact
- Email:
Tiago.Cogumbreiro@umb.edu - Office hours: Tuesday/Thursday 1:45pm-3:15pm (in-person)
- Office location: (M03-0201-16) Room 0201-16, 3rd floor, McCormack
Class Schedule
Note: Any lecture titles in future dates are considered tentative.
| Date | # | Lecture | Download |
|---|---|---|---|
| 🙙 1. Basic Functional Programming 🙚 | |||
| Tue, Sep 8 | 01 | Course info, arithmetic in Racket, evaluation | |
| Thu, Sep 10 | 02 | Branching and function definitions | |
| Tue, Sep 15 | 03 | Lists and code serialization | |
| 🙙 2. Advanced Functional Programming 🙚 | |||
| Thu, Sep 17 | 04 | Recursion, nested definitions | |
| Tue, Sep 22 | 05 | Modules, structs, (map) updating lists | |
| Thu, Sep 24 | 06 | Functions as data-structures, currying | |
| 🙙 3. Optimized Functional Programming 🙚 | |||
| Tue, Sep 29 | 07 | foldr, looping first-to-last | |
| Thu, Oct 1 | 08 | foldl, looping last-to-first | |
| Tue, Oct 6 | 09 | Homework help; tail-recursion | |
| 🙙 4. Lazy evaluation 🙚 | |||
| Thu, Oct 8 | 10 | TypedRacket, thunks, and promises | |
| Tue, Oct 13 | 11 | Infinite streams | |
| Thu, Oct 15 | 12 | Finite streams, evaluating expressions | |
| 🙙 5. Implementing function calls 🙚 | |||
| Tue, Oct 20 | 13 | Language λS: slow function calls | |
| Thu, Oct 22 | 14 | Language λE: fast function calls | |
| Tue, Oct 27 | 15 | Exercises | |
| 🙙 6. Implementing Racket's define 🙚 | |||
| Thu, Oct 29 | 16 | Specifying λD | |
| Tue, Nov 3 | 17 | Implementing λD | |
| Thu, Nov 5 | 18 | Exercises | |
| 🙙 7. Monads and side effects 🙚 | |||
| Tue, Nov 10 | 19 | Garbage collection | |
| Thu, Nov 12 | 20 | The state monad | |
| Tue, Nov 17 | 21 | Loops and error monad | |
| 🙙 8. Abstraction 🙚 | |||
| Thu, Nov 19 | 22 | Monadic error; Monadic continuations | |
| Tue, Nov 24 | 23 | Parameters; Generic methods | |
| Thu, Nov 26 | (School closure) | ||
| Tue, Dec 1 | 24 | Macros | |
| 🙙 9. Object Oriented Programming 🙚 | |||
| Thu, Dec 3 | 25 | LambdaJS | |
| Tue, Dec 8 | 26 | JavaScript method and class inheritance | |
| Thu, Dec 10 | 27 | Conclusion | |