Welcome to the Theory (and Practice) of Programming Languages!
You have reached the home of the Programming Languages course (COMP 371/471) in the Computer Science Department of Loyola University Chicago.
Warning
These notes are still being written, so expect a few rough edges. But we’re getting closer!
Build Status
This book is written using the Python Sphinx documentation tool. It automatically builds and deploys using GitHub Actions (a continuous integration system). All commits trigger a rebuild of the book and, if successful, a deployment to GitHub pages.
- Book Web Site
- Book PDF (Latest Relase)
github.com/lucproglangcourse/lucproglangcourse.github.io/releases/latest/download/proglang.pdf
- Book Source Code
How to Contribute
Your contributions are highly welcome! Please submit issues and pull requests.
Contents
- 1. Overview
- 2. Context and Background
- 3. The Imperative and Object-Oriented Paradigms in Scala
- 4. The Functional Programming Paradigm
- 5. Program Representation and Interpretation
- 6. The Concurrent Programming Paradigm
- 7. Summary
- 8. Appendix: Programming Language Design Principles
- 9. Appendix: Resources
- 10. Appendix: Course Software
- 11. Appendix: Course Syllabi
- 11.1. Course: COMP 371/471 Programming Languages
- 11.2. Section: 001 Fall 2023
- 11.3. Section: 001 Fall 2022
- 11.4. Section: 001 Fall 2021
- 11.5. Sections: 001/002 Fall 2020
- 11.6. Section: 001 Fall 2019
- 11.7. Section: 001 Fall 2018
- 11.8. Section: 001 Spring 2018
- 11.9. Section: 001 Spring 2017
- 11.10. Detailed Course Outline
- 11.11. Key Resources
- 12. Appendix: TODO
Indices and tables
Todo
add sample projects, activities, tests, and (tiered) master list for presentations
Todo
add stuff from https://trello.com/c/kAMGZ4uf/28-add-in-next-iteration