Home

Course description

Lecture notes

Assignments

Reference

 

 

 

CS 345 - Programming Languages (52470)

Fall 2010

Syllabus

This course is a survey of the fundamental concepts underlying modern programming languages. The emphasis is on identifying common syntactic and semantic language constructs and features, examining their manifestation in specific programming languages, and understanding the similarities and differences that arise in language implementations. The programming paradigms that will be studied include:
  • Procedural / imperative
  • Functional
  • Object-oriented
  • Concurrent
The representative language features will be drawn from ANSI C, C++, Java, Scheme, ML, and JavaScript.

Course materials

    Required:
  • Concepts in Programming Languages by Mitchell - ISBN 0521780985.
  • C: A Reference Manual (5th edition) by Harbison and Steele - ISBN 013089592X.
  • Selected reading materials made available as the course progresses.

Prerequisites

CS 310(H), CS 336(H), and M 408D or 408M.