/
Concurrent Programming
Programming Language Concepts
January – April 2016
Administrative Details
- Evaluation
- Assignments 30%, midsemester exam 30%, final exam 40%
- Instructor: S P Suresh
- Submit all assignments on Moodle only. Further instructions will be given as part of the assignments.
Course Plan
- Introduction to basic object-oriented concepts using Java
- Classes, objects, subclasses and inheritance, runtime polymorphism, interfaces and implementations, generics, iterators, callbacks
- Concurrent programming in Java
- Recap of Haskell
- Untyped lambda calculus: basics
- Encoding of arithmetic functions
- Y combinator and encoding all recursive functions
- Reduction strategies, Church-Rosser theorem
- Simply typed lambda-calculus: Church and Curry typing
- Weak normalization
- Polymorphism and type inference in Haskell
- Introduction to System F
Assignments
Lectures
- Lecture 1. January 13, 2016
- Lecture 2. January 18, 2016
- Lecture 3. January 20, 2016
- Lecture 4. January 25, 2016
- Lecture 5. January 27, 2016
- Lecture 6. February 3, 2016
- Lecture 7. February 8, 2016
- Lecture 8. February 15, 2016
- Lecture 9. February 17, 2016
- Lecture 10. February 29, 2016
- Lecture 11. March 2, 2016
- Lecture 12. March 7, 2016
- Lecture 13. March 14, 2016
- Lecture 14. March 16, 2016
- Lecture 15. March 28, 2016
- Lecture 16. March 30, 2016
- Lecture 17. April 4, 2016
- Lecture 18. April 6, 2016
Resources