Principles of Programming Languages CMSC 331-04 Mark E Woodcock (woodcock@cs.umbc.edu) Spring 2026 410-455-3554 TR 1300-1415 ITE 216 SOND 206 OH: M 1300-1400, R 1100-1200 (N.B. the date listed at the beginning of the week is Monday! This section is TR.) Tuesday Thursday 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) Quiz2 Abstraction; Datatypes (6,11) 9 HW2-D Logic Programming 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 Tuesday, 19 May, 1300-1500. 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--Sudipta Mondal(smondal1@umbc.edu) OH--MW 1500-1600, ITE 339 UPDATES Keep track of revisions to this syllabus at http://www.cs.umbc.edu/~woodcock/cmsc331/syl26_01.html