CS 6963 – Functional Programming Studio
Spring 2019 | ||
Tuesday and Thursday, 12:25am-1:45pm, WEB 1460 | ||
Instructor: |
| |
Office Hours: |
| by appointment (send e-mail) |
For general information, see the Course Description below.
Schedule
Jan 8 |
| Introductions and Sudoku Solver and Generator |
Jan 10 |
| Language and Sudoku presentations: Simon, Russell, Junior |
Jan 15 |
| Language and Sudoku presentations: Stone, John, Steve |
Jan 17 |
| Language and Sudoku presentations: Jen, Shaobo, Akshay |
Jan 22 |
| |
Jan 24 |
| Language and Sudoku presentations: Sirus, Maryam, Mike |
Jan 29 |
| |
Jan 31 |
| no meeting |
Feb 5 |
| Santorini discussion |
Feb 7 |
| no meeting |
Feb 12 |
| Santorini presentations: Anthony, Liam, Shen |
Feb 14 |
| Santorini presentations: Kenway, Yaodong, Xinbo |
Feb 19 |
| |
|
| |
Feb 21 |
| Closure compilation; see also Feely87 |
Feb 26 |
| Santorini with cards presentations: Thanhson, Simon, Russell |
Feb 28 |
| Santorini with cards presentations: Stone, Junior, Kenway |
Mar 5 |
| Santorini with cards presentations: Jen, Mike, Shen |
Mar 7 |
| |
Mar 12 |
| spring break |
Mar 14 |
| spring break |
Mar 19 |
| Concurrent ML; see also references |
Mar 21 |
| Project proposals: everyone |
Mar 26 |
| Functional data structures: Okasaki96; queues; AVL trees; HAMTs |
Mar 28 |
| Lenses: William Hatch |
Apr 2 |
| no meeting |
Apr 4 |
| no meeting |
Apr 9 |
| Project reports: Akshay, Mike, Stone, Junior |
Apr 11 |
| Project reports: Steve, Simon, Shaobo, Sirus |
Apr 16 |
| Project reports: Liam, Kenway, Russell, Vinod |
Apr 18 |
| Project reports: Jen, Xinbo, Shen |
Apr 23 |
| Project reports: Anthony, Thanhson, Yaodong |
Course Description
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.
Student Code and Academic Guidelines
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.