CMSC 331 Programming Languages Fall, 1991 Instructor: Dr. Howard E. Motteler Office Hours: MWF 12:00-1:00, Room 111, CS building (TF 1) Text: Programming Languages, by Ravi Sethi Grader: Nanda S. Kumar, hours Monday 5:30-6:30, Room 112 Course Outline: Introduction and Basic Concepts Ch. 1, 2 Functional Languages Ch. 7 Grammars and Syntax Ch. 10 Assertive Languages Ch. 3, 4 Data Encapsulation and Inheritance Ch. 5, 6 Logic Programming Ch. 8 Concurrent Programming Ch. 9 The course begins with functional languages, in chapter 7, though we may briefly review material from chapter 2, as the need arises. An occasional subsection in certain chapters may be skipped, and material from outside the text may be introduced, as time permits. A number of examples and notes are available "online." Grading: Projects 300 pts Midterm 100 pts Final 200 pts Homework 105 pts Class Participation 15 pts -------- ------- Total 620 pts There are 3 small-to-moderate sized projects, one each in Lisp, C (or C++), and Prolog. Projects are assigned at least three weeks in advance of their due dates. There are no extensions of due dates, and no incompletes, except as required by university policy. At the instructor's option projects may be turned in late for partial credit. Project assignments and other information are given in the form of Unix files accessible from your account. Projects are submitted with a "submit" program, and get 0 points if they contain syntax errors. The midterm will come in or at the end of the section on assertive languages. There are 4 or 5 homework assignments, roughly one every three weeks. If you come to class most of the time and don't behave in an obnoxious way (e.g., wandering in and out of the room, or excessive sleeping) you automatically get at least 10 out of 15 class participation points. In addition to points for class participation, the first person to find mistakes in handouts, code, or examples that I put online can get "bonus points." If I agree that there is an error, you get one or more points, depending on how serious I think the error is.