CIS 425 Principles of Programming Languages

Spring 2006 Schedule


[ CIS 425 Home Page | Assignments | Announcements ] Last updated 2006/06/07 11:58:21

Week Topic Reading
Week 1
4/3 & 4/5
  • Introduction and Overview
  • Language Categories, Design Issues, Implementations
Louden, Chapters 1,3 (Also scan chapter 2 for history of languages)
Selected lecture notes and slides
Week 2
4/10 & 4/12
  • Syntax and Grammars
  • BNF Notation
  • Parsing
Louden, Chapter 4
Selected lecture notes and slides
Week 3
4/17 & 4/19
  • Language Concepts
    • Basic Semantics
    • Variables and Types
    • Lvalues and Rvalues
    • Names, Values, and Scope
Louden, Chapters 5,6
Selected lecture notes and slides
Week 4
4/24 & 4/26
  • Imperative Programming
    • Expression Evaluation
    • Control Flow
    • Functions and Procedures
Louden, Chapters 7,8
C/C++/Java precedence table
Selected lecture notes and slides
Week 5
5/1 & 5/3
  • Object Oriented Programming
    • Encapsulation and Abstract Data Types
    • Constructors and Destructors
    • Overloading
    • Polymorphism and dynamic binding
    • Issues in Practical Language Design
Louden, Chapter 10
Growing a Language
Selected lecture notes and slides
Wednesday, May 10 Midterm Exam
Week 6
5/8 & 5/10
  • Functional Programming
  • List processing with Scheme
Louden, Sections 11.1 - 11.3
Intro to Scheme and its Implementation by Paul Wilson
DrScheme can be downloaded for many platforms
Petite Chez Scheme can be downloaded for Windows and other platforms
Selected lecture notes and slides
Week 7
5/15 & 5/17
  • Functional Programming in a Typed Language
    • Introduction to ML
    • Syntax and Examples
Louden, Sections 11.4, 11.5, 11.8
Ullman, Chapters 1 & 2
SML-NJ can be downloaded for Windows
Poly/ML is open source and can be downloaded for Windows, Mac, Linux, and even includes an editor
Selected lecture notes and slides
Week 8
5/22 & 5/24
  • Types and Functions in ML
Ullman, Chapters 2-3
Programming in Standard ML
Selected lecture notes
Week 9
5/31
  • A Simple Interpreter in ML
Ullman, Chapters 5-6
Selected lecture notes and slides
Week 10
6/5 & 6/7
  • Domain Specific Languages
  • Logic Programming
  • Review
Domain Specific Languages Bibliography
MAWL paper, tutorial, and quick reference
PRL5 paper from USENIX '94 VHLL Symposium

Prolog slides

Tuesday, June 13, 10:15 AM Final Exam


datkins@cs.uoregon.edu

Last updated 2006/06/07 11:58:21