Classroom: | MWF 9:10a–10:00a, MCRey 315 |
Web page | www.cburch.com/cs/360/ |
Instructor: | Dr. Carl Burch |
E-mail: | |
Telephone: | 450–1377 (office); 499–9892 (home) |
Office: | MCRey 310 |
Office hours: | T 8:30–9:30, W 1:10–2:00, R 1:30–2:30, F 10:10–11:00
drop-ins, appointments always welcome |
Schedule
Wed 22 Aug | Haskell: Numerical functions A1–5 |
Fri 24 Aug | binding time, static v. dynamic types
Haskell: higher-order functions A6–7 |
Mon 27 Aug | Haskell: polymorphic and custom types B1–5 |
Wed 29 Aug | Haskell: tuples, lists, strings C1–4 |
Fri 31 Aug | Assignment 1 due Haskell: folds, comprehensions C5–6 |
Mon 3 Sep | Labor Day — no classes |
Wed 5 Sep | Persistent trees, stacks, queues D1–3 |
Fri 7 Sep | Assignment 2 due Lambda calculus E1 |
Mon 10 Sep | Lazy evaluation
E2
Lambda calculus recursion E3.1 |
Wed 12 Sep | Test 1 [Review A, Review B, Solutions] |
Fri 14 Sep | Assignment 3 due Test postmortem Pure lambda calculus E3.2 |
Mon 17 Sep | Binding: Aliases, type, scope F1–3 |
Wed 19 Sep | Binding: Memory location F4 |
Fri 21 Sep | Assignment 4 due Binding: Templates F5 Tail recursion G |
Mon 24 Sep | Axiomatic semantics
H1
Proving a factorial program H2.1 |
Wed 26 Sep | Proving sum of factors H2.2 |
Fri 28 Sep | Assignment 5 due Proof shortcomings H3 |
Mon 1 Oct | Monads as transformations I1 |
Wed 3 Oct | Haskell monad support
I2
IO: Displaying text I3.1 |
Fri 5 Oct | Assignment 6 due
IO: Displaying text I3.2–3.3 The Maybe monad I4 |
Mon 8 Oct | Compiler stages
BNF grammars, recursive descent |
Wed 10 Oct | Test 2 [Review A, Review B, Solutions] |
11—14 Oct | Fall Break — no classes |
Mon 15 Oct | history of languages |
Wed 17 Oct | history of languages |
Fri 19 Oct | Assignment 7 due EBNF recursive descent parsing |
Mon 22 Oct | optimizations |
Wed 24 Oct | array bounds checking
register allocation compiling classes |
Fri 26 Oct | Project preferences due Haskell interpreter walkthrough executing JavaScript efficiently |
Mon 29 Oct | Prolog |
Wed 31 Oct | Prolog bubble sort
concurrency overview |
Fri 2 Nov | Assignment 8 due Scala (Brandon) |
Mon 5 Nov | Lua (Julie) |
Wed 7 Nov | Test 3 [Review A, Review B, Solutions] |
Fri 9 Nov | Assignment 9 due Erlang (Safari) |
Mon 12 Nov | Smalltalk (Kaleigh) |
Wed 14 Nov | OCaml (Clarissa) |
Fri 16 Nov | Dart (Thierry) |
Mon 19 Nov | Go (Andres) |
21–25 Nov | Thanksgiving — no classes |
Mon 26 Nov | threads & atomic values
lock-free programming |
Wed 28 Nov | Algol 68 (Jonathan) |
Fri 30 Nov | Assignment 10 due
D (Kyle) |
Mon 3 Dec | APL (Benjamin) |
Fri 7 Dec | Project paper due (no class) |
Tue 11 Dec | Final, 9am [Review A, Review B, Solutions] |
13 Dec–14 Jan | Winter Break — no classes |