Computer Science - Principles of Programming Languages CSCI 3137   Principles of Programming Languages
This course provides a comparative study of programming language features. It provides a comparison of different programming paradigms, discusses control and data abstractions with a focus on the underlying principles instead of syntax, and investigates some implementation concerns that drive the design choices made in different programming languages. It also provides students with hands-on experience with modern non-object-oriented imperative programming languages, including functional and logic programming. The goal is to broaden the students’ understanding of the landscape of programming languages and to enable them to compare the capabilities of different programming languages with the goal of choosing an appropriate language for a given project.
PREREQUISITES: CSCI 2110.03 and CSCI 2122.03