CS 152: Programming Languages

Prof. Stephen Chong
Spring 2014

Lectures: Tu,Th 10am-11:30am
Location: Maxwell Dworkin G125.


Course information

This course is an introduction to the theory, design, and implementation of programming languages. Topics covered in this course include: formal semantics of programming languages (operational, axiomatic, denotational, and translational), type systems, higher-order functions and lambda calculus, laziness, continuations, dynamic types, monads, objects, modules, concurrency, and communication.

See the lecture schedule for more detailed information on topics covered.

Course staff

See below for Office Hours.

All questions and issues related to assignments, course content, etc., should be sent to or discussed on Piazza. Questions related to grades, special consideration, etc. can be sent directly to Prof. Chong. In general, sending email to individual course staff will delay a response. Note that course staff may take up to 48 hours to respond to email and Piazza.

Time and place

Tuesdays and Thursdays, 10:00am-11:30am. Location Maxwell Dworkin G125.


Computer Science 51. Also recommended is Computer Science 121. Students must have good programming skills, be comfortable with recursion, basic mathematical ideas and notations, including sets, relations, functions, and induction. See the schedule for some suggested background reading on some of these concepts. Feel free to contact the instructor if you have questions about the requirements or other aspects of the course.

Homeworks, exams, and grading

Your grade will be determined by a weighted average of your scores on homework assignments, the midterm exam, the final exam, and class participation. The percentage breakdown (roughly and subject to change) is 50% homework assignments, 20% midterm, 25% final exam, and 5% participation.

Extension school

CS 152 is offered through the Extension School as CSCI E-152. Information specific to Extension School students can be found on the Extension Students page.


There is no required textbook for the course. In most cases, the class materials should suffice. The instructor will provide written lecture notes where helpful.

See the Resources page for additional material that you can examine.


See here for more information.


Section is Fridays 3pm-4pm, room MD 223 (MD 323 on Feb 14.). Section attendance is not required. Sections will, for the most part, be extended group office hours. You should feel free to come to section with questions about recent material covered in class. More information can be found here.

Office hours


See here for more information.

Late penalties, collaboration, and other course policies

See here for more information.