![]() |
||||
| COMS W4995 005 Parallel Functional Programming Fall 2025 |
||||
Class meets Mondays, Wednesdays 1:10 - 2:25 PM in 451 CSB.
| Name | Office hours | Location | |
|---|---|---|---|
| Maxwell Levatich | ml4553@columbia.edu | Tuesday/Thursday 1:00 - 3:00 PM | 468 CSB |
| Kyle Edwards | kje2115@columbia.edu | Friday 4:00 - 6:00 PM | CS TA Room (Mudd 122) |
| Stephen A. Edwards | sedwards@cs.columbia.edu | By appointment |
| Date | Lecture | In-Class Quiz | Slides | Lecture Code | Due |
|---|---|---|---|---|---|
| Wed Sep 3 | Introduction Basic Haskell |
![]() ![]() |
|
||
| Mon Sep 8 | (Basics contd.) |
||||
| Wed Sep 10 | (Basics contd.) |
||||
| Mon Sep 15 | Datatypes and Typeclasses |
![]() |
|
||
| Wed Sep 17 | (Datatypes contd.) |
Quiz 1: Basics |
|||
| Sun Sep 21 |
Homework 1
.hs file |
||||
| Mon Sep 22 | (Datatypes contd.) |
Quiz 2: Types |
|||
| Wed Sep 24 | (Datatypes contd.) |
||||
| Mon Sep 29 | Monads: Motivation |
![]() |
|
||
| Wed Oct 1 | (Monads: Motivation contd.) |
||||
| Sun Oct 5 |
Homework 2
.hs file |
||||
| Mon Oct 6 | Monads |
Quiz 3: Typeclasses |
![]() |
||
| Wed Oct 8 | Modules IO |
![]() ![]() |
|||
| Mon Oct 13 | Control.Monad |
![]() |
|||
| Wed Oct 15 | Monad Transformers, State |
Quiz 4: Monads |
|||
| Sun Oct 19 |
Homework 3
.zip file |
||||
| Mon Oct 20 | Laziness and Seq |
![]() |
|||
| Wed Oct 22 | Parallel Evaluation |
Quiz 5: Laziness |
![]() |
|
|
| Mon Oct 27 | Strategies |
![]() |
|
||
| Wed Oct 29 | (Strategies cont'd) |
Quiz 6: par, rseq, rpar |
|||
| Sun Nov 2 |
Homework 4
.pdf file
|
||||
| Mon Nov 3-4 | Election Day Holiday | ||||
| Wed Nov 5 | Haskell Stack, Project Ideas |
![]() |
|||
| Mon Nov 10 | The Par Monad |
![]() |
|
||
| Wed Nov 12 | Repa: Regular Parallel Arrays |
Quiz 7: Par Monad |
![]() |
|
|
| Sun Nov 16 | Project Proposal | ||||
| Mon Nov 17 | Accelerate: GPU Arrays |
![]() |
|||
| Wed Nov 19 | Theorem Proving |
Quiz 8: Arrays |
|
||
| Mon Nov 24 | The Lambda Calculus |
![]() |
|||
| Wed Nov 26-28 | Thanksgiving Holiday | ||||
| Mon Dec 1 | (Lambda contd.) |
||||
| Wed Dec 3 | Sample project presentations |
||||
| Mon Dec 8 | Project advising meetings |
||||
| Wed Dec 17 | Project Report and Presentation |
|
Connect-4:
(KE) Jeremy Newman |
|
Misere-Nim:
(KE) Zack Singerman |
|
N-Gram:
(KE) Grayson Newell |
|
Othello:
(KE) Siying Ding and Carly Kiang |
|
Pac-Man:
(KE) Jonathan Chen and Kevin Wang |
|
Prime-Factorization:
(KE) Hazel Flaming |
|
Blokus:
(ML) Pablo Ordorica Wiener |
|
Futoshiki:
(ML) Eric Cheng and Yao Wang |
|
graph-coloring-1:
(ML) Anjolaoluwa Fajemisin |
|
graph-coloring-2:
(ML) Jacky Huang |
|
Knapsack:
(ML) Jessica Xu |
|
Presberger-Arithmetic:
(ML) Richard Li |
|
Chip-Router:
(SE) James Mastran |
|
Magic-Squares:
(SE) Diego Fernandez |
|
parallel-sorting:
(SE) Xinchen Zhang |
|
Semantic-Diff:
(SE) Ashley Garcia |
|
Sliding-Tiles:
(SE) Eden Chung and Maxine Tamas |
|
Wildfire-sim:
(SE) Joshua Brown |
| Assessment | Weight | Notes |
|---|---|---|
| Homeworks | 60% (15% each) | Graded according to a rubric; both code correctness and style are assessed |
| Quizzes | 10% | Each quiz is graded correct or incorrect/missing; lowest 3 quizzes are dropped |
| Project | 30% | Graded holistically based on quality of code, final report, and presentation |
{- I collaborated with Haskell Curry, Jim Backus, Alonzo Church, and Grace Hopper on this assignment, and consulted:
http://hackage.haskell.org/package/base-4.12.0.0/docs/Data-List.html
https://stackoverflow.com/questions/211216
http://www.cis.upenn.edu/~cis19
-}
Please do not do any of the following: