Principles of Programming Languages CMSC 331-01 Mark E Woodcock (woodcock@cs.umbc.edu) Spring 2026 410-455-3554 MW 1000-1115 ITE 216 PHAB 107 OH: M 1300-1400, R 1100-1200 Monday Wednesday January 26 SNOW WEEK SNOW WEEK February 2 Boring introduction(1) Grammars (3) 9 Assoc & Prec(3) ML Syntax (15.1,.2,.3,.7) 16 ML II Quiz1 patterns, fn by cases HW1-D 23 ref transp/type inf simple datatype March 2 complex datatypes (6) Abstraction; Datatypes (6,11) Quiz2 9 Logic Programming HW2-D LP II 16 SPRING BREAK SPRING BREAK 23 Review Midterm 30 Return OO (12) April 6 Ruby More Ruby (7,8) 13 Params(9) param-passing(9,11) 20 Concurrency (13) More Concurrency 28 Exceptions (14) Semantics (3) May 4 M-R/Pig Pig again 11 Review 18 FINAL EXAM READINGS (N) - Chapter number in the Sebesta Book (Concepts of Programming Languages; Robert W Sebesta; 11th Edition; Pearson). also: check the main page for more resources EXAMS Exams will be comprehensive and closed-book. The midterms will be held during regular class time. The final exam will be held in the usual room on Monday, 18 May, 1030-1230. HOMEWORK There will be several homeworks, including programing problems, during the semester. Homeworks will be weighted according to their difficulty and importance. You may discuss assignments with others, but you are only permitted to hand-in individual effort (e.g. solutions, programs). Late homeworks will be discounted 10% (of the potential grade) per school day. GRADES Course grades will generally be determined using the following components and weights: Quiz 5 Midterm 25 Homework 30 Final Exam 40 While a normal (boring) Bell Curve is expected, the instructor reserves the right to construct one, to consider class participation, relative improvement, to give all A's or flunk the whole class (where appropriate). CONTACTING THE INSTRUCTOR/Office Hours Send me an email; either I'm on email (easy), or I'm not (I'll see when I look at email next). You can try my office whenever, I may be busy, but ask. OH are time set aside where student questions get first priority. Folks with appts have first priority, but any student is welcome. OH: M 1300-1400, R 1100-1200 TEACHING ASSISTANT TA--Soham Khisa (skhisa1@umbc.edu) OH--TR 1430-1530 (ITE 340) UPDATES Keep track of revisions to this syllabus at http://www.cs.umbc.edu/~woodcock/cmsc331/syl26_01.html