ICS 313: Programming Language Theory

Tentative Schedule

Tuesday Thursday
8/21 Introduction: Class Mechanics and Why study programming language theory?
Watch the first part of Go Programming session video from Google I/O (Google I/O is an annual software developer-focused conference held by Google, so is designed for people like you after graduation).
Watch part of Walter Bright @ NWCPP: Advanced D Programming Language Features (NWCPP is the Northwest C++ Users Group, which has student members too)
8/23 Classes cancelled due to Hurricane Lane
8/28 Introduction to Programming Language Concepts
read Mira Balaban's Principles of Programming Languages (PPL for short) Introduction and ch. 1; we have permission from Professor Balban to use her lecture notes; if you find any errors/corrections, please let me know so that I can forward them to her.
8/30 Intro to Common LISP
9/4 Programming Language Syntax, Semantics
read PPL ch. 2
example code from class
9/6 More LISP
9/11 Abstraction on Data
read PPL ch. 3
example code from class
9/13 Yet more LISP
9/18 Evaluators for Functional Programming
read PPL ch. 6.1-6.2 (note out of order chapter)
9/20 CLOS
example code from class
9/25 Evaluators for Functional Programming (cont.)
read PPL ch. 6.3-6.4 (note out of order chapter)
9/27 More CLOS
example code from class
10/2 Delayed Evaluation
read PPL ch. 4
10/4 Intro to Prolog
example code from class
10/9 Logic Programming
read PPL ch. 7.1-7.2
10/11 More Prolog
example code from class
10/16 Logic Programming (cont.)
read PPL ch. 7.3-7.4
10/18 Yet More Prolog
example code from class
10/23 Scripting Languages (not covered on Midterm)
read "Scripting: Higher Level Programming for the 21st Century" by John K. Ousterhout, IEEE Computer, 31(3) 1998, pp. 23-30,
read "Are Scripting Languages Any Good? A Validation of Perl, Python, Rexx, and Tcl against C, C++, and Java" by Lutz Prechelt, Advances in Computers , 57 (Ed.: M. Zelkowitz), Academic Press, 2003, pp. 205-270.
10/25 Review for Midterm
10/30 Midterm Exam 11/1 Intro to Python
11/6 Election Day (no classes) 11/8 More Python
11/13 Type Correctness
read PPL ch. 5.1-5.3
11/15 Yet more Python
11/20 Even More Python 11/22 Thanksgiving (no classes)
11/27 Type Correctness (cont.)
read PPL ch. 5.4-5.5
11/29 Imperative Programming
read PPL ch. 8
12/4 Conclusion: Techniques, Principles and Language Comparison
read PPL ch. 9
12/6 Review for Final Exam
12/11 Comprehensive Final Exam 9:45-11:45 am in the same room as class, Holmes 243
(see UHM Office of Undergraduate Education Academic Schedule Final Exam- Fall for exam times for your other classes).
No Classes (final exam period)

David N. Chin / Chin@Hawaii.Edu