Principles of Programming Languages
	            CMSC 331-04 	Mark E Woodcock  (woodcock@umbc.edu)
		    Spring 2017		634-0943 (so far)
		    TR 1730-1845	ITE 374, xdepartment
		    M/P 104		OH:  After class
			     
	Tuesday				Thursday
January
30 	Boring introduction(1)		Grammars (3) 
February
 7	Assoc & Prec(3)			ML Syntax (15.1,.2,.3,.7)
14	ML II				patterns, fn by cases
21 	ref transp.			simple datatype 
28	complex datatypes (6)		type inf & polymorphism
March
 7	Midterm I                       Abstraction; Datatypes (6,11)
14	Snow Day (on-line Ruby)		Ruby Basics (7,8)
21      SPRING BREAK                    SPRING BREAK
28	OO (12)   			Params (9)
April
 4	param-passing(9,11)		Ruby  
11   	Midterm II			Special Project
18	Lambda Calc			Concurrency (13)	
25	Exceptions (14)			Semantics (3)
May
 2	Map/Reduce			Pig
 9	Predicate Calc (16) 		Prolog
16      slack                           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 Thursday, 18 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 full-time all semester, so the best time to catch me will 
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.

GRADER--"undergraduate graders typically remain anonymous"

UPDATES
Keep track of revisions to this syllabus at 
http://www.cs.umbc.edu/~woodcock/cmsc331/syl17.html