Programming Languages
CSCI-GA.2110-001 Fall 2017

Course Instructor
Benjamin Goldberg
Room 401, Warren Weaver Hall
Phone: 212-998-3495

Office Hours
Wednesdays, 3pm-5pm and by appointment

Lectures:  Wednesdays at 5:10pm - 7pm
Room 109 Warren Weaver Hall

Course Home Page
Registered students will find the course web site here.

Course Description
This course discusses the design, use, and implementation of imperative, object-oriented, functional and other categories of languages. The topics covered include scoping, type systems, control structures, functions, modules, object orientation, exception handling, concurrency, and the lambda calculus. A variety of languages are studied, including Java, Scala, Ada, Lisp/Scheme, and ML. Concepts are reinforced by programming exercises and written homework.