UMBC CMSC 331 Fall 2013
Principles of Programming Languages
Home · About· Schedule · HW · Exams · Notes · Code · Examples · Resources ·

Tentative Schedule, subject to change

#
day
date
topic
text
notes
out
due
to do, comments
1
Thu
8/29
Introduction
ch 1, 2
00, 01, 02
 

read: The 100 Year Language, compilers, IDE, virtual machine, bytecode, PL Timeline, APL
view: how language fans see each other
see Also: Teach yourself..., Worse is Better, a reference to Harlan, and a reference to Go

2
Tue
9/3
Some history
ch 2
 
 

There is some important terminology in Chapter 1
Figure 1.2 shows how a PL can be said to create a virtual machine, in some sense
Figure 2.1 gives the impression that PL design is evolving over time, and that's true!
Popularity of programming languages is illustrated by http://www.tiobe.com/tiobe_index

3
Thu
9/5
Syntax
ch 3
 
 

read: sammet, Steele essay, WP article, programming paradigms
view: Steele interview
homework: Problems 3,4,6,7, 11 and 13 from the end of Chapter 3. Hardcopy due in class Tuesday 9/17.

4
Tue
9/10
Syntax
ch 3
 
HW1 

Nicholas on travel
see Also:
According to the UMBC Academic Calendar, the last day to add a class is September 11

5
Thu
9/12
Syntax
ch 3
 

Nicholas on travel
read:
operator precedence, BNF, BNF examples, EBNF, ebnf.pdf, CFG, parsing, Chomsky hierarchy
seeAlso: BNF and EBNF: What are they and how do they work

6
Tue
9/17
Semantics
ch 4
 
 

read: semantics, attribute grammar, operational semantics, denotational semantics, axiomatic semantics, Verification, proofs.pdf,
seeAlso:

7
Thu
9/19
Lexical and Syntactic Analysis
ch 4
 
HW2 
read: Regular expressions, regular grammars
8
Tue
9/24
Lexical and Syntactic Analysis
ch 4
read: compact guide to lex and yacc
9
Thu
9/26
Parsing
ch 4
 
try: flex example
10
Tue
10/1
Parsing
ch 4

read: parsing, top-down, recursive descent, bottom-up, ll(k), lr(k)

11
Thu
10/3
Parsing
ch 4
 
read:
12
Tue
10/8
Functional programming,scheme
ch 15
 

do: download PLT scheme, and/or try mzscheme on gl
read: on using DrScheme , Guide:1
seeAlso: Teach yourself scheme

13
Thu
10/10
scheme
ch 15
 HW4
HW3 

read: on using DrScheme , Guide:1, Guide:2, using scheme on gl
view: xkcd

14
Tue
10/15
scheme
ch 15
read: Guide:3, Guide:4, scope, closure
15
Thu
10/17
scheme
ch 15
read: currying, Haskell,
run: cfg1.ss, cfg2.ss, cfg.ss, fib.ss
view: xkcd
16
Tue
10/22
mid term
 
 

study: everything

17
Thu
10/24
Haskell
ch 15

read:

18
Tue
10/29
more Haskell
ch 15
view: DrScheme v4 tour
read: functional programming, lambda calculus,
19
Thu
10/31
still more Haskell
   
read: tail recursion, lazy evaluation, delay,variable
explore:
view:
20
Tue
11/5
Perl and R

 


Read: Perl, R, R tutorial
code: MyHash.r

21
Thu
11/7
environments
HW5 
read: Currying,
22
Tue
11/12
Streams

streams

 
 


23
Thu
11/14
Continuations

scheme in scheme 1

 
read: control, continuation, call/cc, call/cc2
24
Tue
11/19
FP in Python
read: Google Python Style Guide, iter tutorial, iterators, generators,SICP 4.1, MCE, spelling
study: mcscheme
watch: growing a language
Thu
11/20
Thanksgiving Day
  


25
Tue
11/26
Scheme in Python

Python RE, Python FP, scheme in python

 HW6

view: xkcd
read:
Python regular expressions, regular expressions, piglatin, tfidf
study: pig.py

26
Thu
11/28
Scheme in Python

scheme in python

 
 
try: scheme.py
print: pscm.pdf
view: lis.py lispy.py

27
Tue
12/3
Perl I
Perl
 


28
Thu
12/5
Perl II
Perl
read:
note: finin out
29
Tue
12/10
Review
ch 16

Prolog overview, prolog
final

 
 HW6
try:
--
Tue
12/17
final exam 1-3pm
study: old exams