Monday and Wednesday, 3:00pm-4:20pm, virtual (link in Canvas)
by appointment (send e-mail)
Introductions and Sudoku Solver and Generator
Language and Sudoku presentations: Yo, Gavin, Bradley
Language and Sudoku presentations: Jairon, Nathan, Calvin
Language and Sudoku presentations: Ryan, Megan, Hayden
Language and Sudoku presentations: Emerson, Sona, Carson, Alex
Santorini presentations: Matthew, Yian, Mei
Santorini presentations: Nathan, Gavin, Yo
Santorini presentations: Zach, Abhi, Josh, Saivamshi
Santorini with cards presentations: Carson, Sona, Heydon, Josh
Santorini with cards presentations: Ryan, Braeden, Saivamshi
Santorini with cards presentations: Emerson, Bradley, Alex
Project proposals: everyone
no meeting (non-instructional day)
Project reports: Ryan, Gavin, Sona, Jairon
Project reports: Hayden, Megan, Carson, Yian
Project reports: Alex, Saivamshi, Josh
Project reports: Abhi, Zach, Calvin, Emerson, Braeden
Project reports: Mei, Nathan, Bradley, Yo
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 exams and almost no lectures 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. Hence the “studio” part of the course name: the intent is for the course to work like an art studio course, but for functional programming.
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.
For information on withdrawing from courses, appealing grades, and more, see the college’s academic guidelines. For information on repeating a class, co-requirements, academic misconduct, and more, see the department’s policies and guidelines.