Course Summary

This course covers the essential concepts and features in the design and implementation of programming languages. Students will learn various programming languages and paradigms. Students will have the ability to pick the best language for an application, and the ability to learn new programming languages independently.

Prerequisites: CMPSC 221 (OO Programming); CMPSC 360 (Discrete Math)

Administrative Information

Lectures: MWF 12:20-1:10pm at Wartick Lab 110

Professor: Gang Tan; Westgate W358; phone: 814-8657364; gtan at cse dot psu dot edu
Office hours: Weds 2-4pm, or by appointment

Teaching Assistants: Mengran Fan (; Office hours: Thursdays 12 to 2pm at W328 Westgate
Ashley Huhman (; Office hours: Tuesdays 10 to 12pm at W361 Westgate

Syllabus: See the [PDF] file.

Textbook: Michael L. Scott. Programming Language Pragmatics (third or fourth edition). Morgan Kaufmann. 3rd edition ISBN: 978-0123745149; 4th edition ISBN: 978-0124104099.