CMSC 245: Principles of Programming Languages


Instructor: David Wonnacott

Semester & Year: Fall 1999

Schedule: Lecture MWF 2:30-3:30
Lab MWF 3:30-4:00

Text: "Programming Languages Principles and Practice ", by Kenneth Louden

Requirements: Midterm and Final exam, weekly programming projects and homeworks. In addition, there will be cooperative in-class exercises during the first half of the course (these will not be graded).

Collaboration: You are encouraged to discuss the lecture material and the weekly labs and problems with other students, subject to the following restriction: the only "product" of your discussion should be your memory of it - you may not write up solutions together, or exchange written work or computer files.
Collaboration is not allowed on exams.

Prerequisites: CMSC 206

Description: This course will introduce many of the principles of modern language design and implementation. We will discuss various language features and the algorithms and data structures that are needed to provide these features. Labs will emphasize the use of various features, and written homework will focus on high-level understanding the algorithms and data structures involved. CMSC 350, Compiler Design, provides more in-depth information about some of these algorithms and data structures. Lectures (and labs) will include examples (and exercises) in C++ and Lisp, but familiarity with these languages is not required.

CMSC245 should include as many of the following topics as we can cover:


A course syllabus is available.

A guide to various software (including LinX) is also available.

This page maintained by davew