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