diff --git a/README.md b/README.md index c3590bf..b9f69e8 100644 --- a/README.md +++ b/README.md @@ -218,6 +218,9 @@ Courses - The goal of CMSC 430 is to arm students with the ability to design, implement, and extend a programming language. Throughout the course, students will design and implement several related languages, and will explore parsing, syntax querying, dataflow analysis, compilation to bytecode, type systems, and language interoperation. - [Lecture Notes](http://www.cs.umd.edu/class/spring2015/cmsc430/Schedule.html) - [Assignments](http://www.cs.umd.edu/class/spring2015/cmsc430/Projects.html) +- [Corsopl](https://pradella.faculty.polimi.it/PL.html) **Principles of Programming Languages** *Politecnico di Milano* Lecture Notes - Lecture Notes Readings - Readings + - This course gives an overview of Scheme, Haskell and Erlang while analyzing the languages' similarities and differences. As a result, many important/prevalent concepts and how they manifest differently in different programming languages are explained. Among these are (purely) functional programming, object orientation, type inference and evaluation order. + - Thorough introduction to functional programming with no preknowledge in any functional language required. - [COS 326](http://www.cs.princeton.edu/~dpw/courses/cos326-12/info.php) **Functional Programming** *Princeton University* Assignments Lecture Notes - Covers functional programming concepts like closures, tail-call recursion & parallelism using the OCaml programming language - [Lectures](http://www.cs.princeton.edu/~dpw/courses/cos326-12/lectures.php)