CMSC 330, Summer 2019

Organization of Programming Languages

Schedule

Lectures & Discussions

Lecture vidoes are on ELMS

Date Topic and Materials
05/28 Introduction (pdf) Ruby 1 (pdf)
05/29 Ruby 2 (pdf) Lecture notes and Examples ( github)
05/31 Regular Expressions (pdf) Lecture notes and Examples ( github) Regex Cheat Sheet
06/03 Code blocks (pdf) Mixins(pdf) Lecture notes and Examples ( github)
06/05 OCaml Introduction(pdf) Functions(pdf) Working with OCaml(pdf) Lecture notes and Examples ( github)
06/07 Ocaml Lists and Recursive Functions (pdf) Lecture notes and Examples ( github)
06/10 Lets, Tuples, Records (slides) Higher order functions (slides) Lecture notes and Examples ( github)
06/12 Higher order functions (slides) Tail Recursion(slides)
06/14 Data types (slides)
06/17 Closures (slides)
06/19 Imperative (slides) Modules(slides)
06/21 Finite Automata(slides)
06/24 DFA, NFA(slides)
06/26 DFA, NFA, CFG(slides)
06/28 Midterm
07/01 CFG(slides) Parsing (slides)
07/03 Operational Semantics (slides) Code example (github)
07/08 Lambda Calculus Basics(slides)
07/10 Church Encodings(slides)
07/12 Rust Introduction(slides) Ownership(slides)
07/15 Collections (slides) Traits (slides) Structs and Enums(slides) Smart Pointers (slides)
07/17 Software Security(slides)
07/19 Final