Monday and Wednesday, 11:50am-1:10pm, WEB 1460
by appointment (send e-mail)
For general information, see the Course Description below.
Introductions; Sudoku Solver
Sudoku solvers, clients, and servers
Sudoku code reviews; Dominion Protocol v1
Lenses [William H.]
Initial dominion players; example v1 implementation
Dominion players; Dominion Protocol v2
Dominion code reviews; example v2 implementation
Dominion v2 players; Dominion Protocol v3
Scribble as a DSL
Project reports: Annie, Victor
Project reports: Erich, Kyle, William S., Chris
Project reports: Andrew, Dan, Sarah, Tobin
Thesis report: Dan; project reports: Zef, William H.
Project reports: Nick, Guannan, Tim, Pierce, Sam
This programming course is intended for students who have taken a programming-languages course and who are interested in gaining more experience with functional-programming languages and techniques.
There are no lectures or exams for the course. Students are graded on the completion of open-ended coding assignments and, equally importantly, class participation. Class participation includes presenting programs and discussing the presented work of other students.
Students may use any functional programming language for completing assignments, and diversity of language choices will be encouraged. Suitable functional languages include (but are not limited to) Racket, Haskell, Scala, OCaml, F#, SML, Erlang, Clojure, Common Lisp, Agda, Idris, and Elm.