Course Details

CS 251: Programming Languages: Design and Implementation

What makes a programming language like "Python" or like "Java?" This course will look past superficial properties (like indentation) and into the soul of programming languages. We will explore a variety of topics in programming language construction and design: syntax and semantics, mechanisms for parameter passing, typing, scoping, and control structures. Students will expand their programming experience to include other programming paradigms, including functional languages like Scheme and ML. Prerequisite: Computer Science 200, 201 or instructor permission
6 credits; FSR; Offered Fall 2016, Spring 2017; D. Liben-Nowell, D. Musicant