#1174 overall
COS 326 Functional Programming
Princeton University
1 recommender · 1 thread · recommended in 1 year, 2016 · score 0.7
COS 326 is Princeton's undergraduate functional programming course, taught in OCaml, covering functional programming concepts, types, and programming language design through challenging programming assignments.
Commenters point to it as a source of challenging OCaml programming assignments once you have the basics.
Recommendations by year
20062026
OCaml is a great language. I'm so glad I was forced to learn at in university. Apart from the language itself, the ecosystem surrounding it is very mature as well.
- OCamlbuild is the bee's knees. Configuring complex projects requires just one line in the Makefile
- OPAM works wonderfully. No configuration required. Everything just works.
- Merlin (https://github.com/the-lambda-church/merlin) is incredible. If you use Vim / Emacs, you owe it to yourself to set it up and have better syntax highlighting, indentation and type information right within your editor.
- Approachable online guides to get started. RWO[1] is a fantastic resource and teaches you the good parts right from the start.
- Utop (https://github.com/diml/utop) is a very modern, fully-featured REPL (almost as good as IPython)
----------
If you've been thinking of learning OCaml, here are a few useful resources -
- Real World OCaml [RWO] - https://realworldocaml.org/
- Using, Understanding, and Unraveling the OCaml Language - http://caml.inria.fr/pub/docs/u3-ocaml/index.html
- Developing applications with OCaml - http://caml.inria.fr/pub/docs/oreilly-book/html/index.html
- System programming in OCaml - https://ocaml.github.io/ocamlunix/ocamlunix.html
Lastly, if you are out of ideas on what to build with OCaml, try out these courses for some challenging programming assignments
- Functional Programming (Princeton) : http://www.cs.princeton.edu/~dpw/courses/cos326-12/info.php
- Programming Languages and Compilers (UIUC): https://courses.engr.illinois.edu/cs421/fa2014/