CS 341 - Survey of Programming Languages
Readings


Unless otherwise noted, all readings are from the course text.  Each reading assignment should be completed before the class on the date indicated.  These readings are subject to change; check here for updates.  If a reading assigned in class does not match the reading assignment here, the reading assigned in class supercedes.
Class Month Day Topic Readings (parenthesized
reading are optional)
1 August 29 Course overview, Scheme introduction  
2   31 Scheme introduction, dynamic typing Essentials of Programming Languages forward, Scheme tutorial through pairs and lists
3 September 5 Scheme introduction, lambda expressions remainder of Scheme tutorial
4 7 Functions as first-class objects  
5   12    
6   14    
7   19 JavaCC introduction, front end structure, tokens, regular expressions, lexical analysis, context free grammars, syntactic analysis, calculator JavaCC template and addition of computation. Chapter 1 through 1.2.3 (Semantic Analysis) from Aho et al. "Compilers: principles, techniques, & tools" (provided), Figure 1.7, skim meanings of terms "Compiler: Front end", "Lexical Analysis", "Regular Expression: Basic concepts", "Parsing: Computer languages", "Context-free grammar"
8   21 Abstract syntax trees, addition of AST nodes to JavaCC template, calculator interpreter example  
9   26    
10   28    
11 October 3    
12   5    
13   12    
14 17    
15   19    
16   24    
17   26 Aspect-Oriented Programming; Visitor Pattern Visitor Pattern Wikipedia article, Reel portion of Virginia Reel video (seriously!)
18   31 Python Programming: Introduction  
19 November 2    
20   7    
21   9    
22   14    
23   16 Android Event-Driven Programming: Introduction Android tutorial: Pig
24   21    
25   28   Starting another Activity, McCown workshop example
26   30    
27 December 5    
28   7    
Final   16 Final Exam 8:30-11:30AM Final Exam Times