CSI 3120
Programming Language Concepts
Fall 2020
Topics
- Programming paradigms
- OCaml
- Types and inductive data
- Polymorphism and higher-order functions
- Modules and abstract data types
- Mutable data
- Syntax and semantics
- Scope, functions and storage management
- Sequential control
- Object-oriented concepts
- Combinators, pipelines and scripting
- Concurrent and distributed programming
- Axiomatic semantics
Readings
- Concepts in Programming Languages
- Real World OCaml
- Maurizio Gabbrielli and Simone Martini, Programming Languages: Principles and Paradigms, Springer, 2010.
- Peter Van Roy, Programming Paradigms for Dummies: What Every Programmer Should Know, 2009.
- Peter Van Roy and Seif Haridi, Concepts, Techniques, and Models of Computer Programming, MIT Press, 2004.
- Peter Van Roy and Seif Haridi, Programmation: Concepts, techniques et modèles, Dunod, 2007.
- Robert W. Sebesta, Concepts of Programming Languages, 12th edition, 2019.
- Allen B. Tucker and Robert E. Noonan, Programming Languages: Principles and Paradigms, 2nd edition, 2007.
Sources
- Course catalogue ↗2026–2027
- instructor_course_page ↗Fall 2020
- Historical course page with chapter-by-chapter required and optional readings.