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