Principles of Programming Languages CMSC 331-02 Mark E Woodcock (woodcock@cs.umbc.edu) Spring 2023 293-6803 (so far) MW 1900-2015 ITE 353, 410-455-3500 PHAB 108 OH: After class Monday Wednesday January 30 Boring introduction(1) Grammars (3) February 6 Assoc & Prec(3) ML Syntax (15.1,.2,.3,.7) 13 ML II patterns, fn by cases 20 ref transp. simple datatype 27 complex datatypes (6) type inf & polymorphism March 6 Abstraction; Datatypes (6,11) Ruby 13 Midterm I Slack 20 SPRING BREAK SPRING BREAK 27 More Ruby(7,8) OO (12) April 3 Params(9) param-passing(9,11) 10 Concurrency (13) Exceptions (14) 17 Lambda Calc Semantics(3) 24 Midterm II Map/Reduce May 1 Pig Lambda Calculus 8 Predicate Calc (16) Prolog 15 slack 22 FINAL READINGS (N) - Chapter number in the Sebesta Book. 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 Wednesday, 24 May, 1800-2000. 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: Midterm 30 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 I will be working elsewhere full-time all semester, so the best time to catch me will be directly before or after class. If you wish to set up some time to see me call me at work, leave a message with the department or send me e-mail. TA--Saiteja Peddi speddi1 at umbc.edu Thurs 1400-1530 (ITE 344); Friday 1400-1530 (online) GRADER--Sai Kumar Vaddepally ci94858 at umbc.edu UPDATES Keep track of revisions to this syllabus at http://www.cs.umbc.edu/~woodcock/cmsc331/syl23.html