General Information
Course Description
A study of the organization, specification, and behavior of programming languages. The course will focus on five different programming language paradigms: imperative, object-oriented, functional, logic, and concurrent. Programming assignments using example languages from each of these paradigms will be required. Emphasis will be placed on learning Scheme, ML, and Prolog in a Unix environment. Other topics covered include language syntax, control structures, objects, and functions.
Instructor
- Prof. Peter Yoon
- Office:
MECC 127 - Phone:
(860) 297-2461 - Email:
peter.yoon@trincoll.edu - Office Hours: TR 2:30-4:00 p.m. (by appointment via Zoom)
- Zoom: trincoll.zoom.us/j/94883841797
Recommended Readings
- Programming Languages
- Concepts of Programming Languages, 11th Edition by Robert Sebesta, Pearson, 2015.
- Programming Language Pragmatics, 4th Edition by Michael L. Scott, Morgan Kaufmann, 2015.
- Concepts in Programming Languages by John C. Mitchell, Cambridge University Press, 2002.
- The Science of Programming, by David Gries, Springer, 1987.
- Structure and Interpretation of Computer Programs – Second Edition, by Harold Abelson, Gerald Jay Sussman, and Julie Sussman, The MIT Press, 1996.
- Modern Programming Languages: A Practical Introduction Second Edition by Adam Brooks Webber, Franklin, Beedle & Associates, 2013.
- Elements of ML Programming, ML97 Edition by Jeffrey D. Ullman, Pearson, 1998.
- The C Programming Language, Second Edition by Brian Kernighan and Dennis Ritchie, Prentice-Hall, 1988.
- Compilers
- Compilers: Principles, Techniques, and Tools, Second Edition by Aho, Lam, Sethi, and Ullman, Pearson/Addison Wesley, 2006.
- Modern Compiler Implementation in C by Andrew Appel. Cambridge University Press. 1998
- Crafting Interpreters by Robert Nystrom. Genever Benning, 2021.
