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 - 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*
- 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)