CIS 425 Spring 2002

Principles of Programming Languages

CRN 31059

[ Details | Objectives | Schedule | Assignments | Announcements ]

Last updated 2002/05/31 11:42:08

Details


Course Objectives


CIS425 Schedule

Week Topic Reading
Week 1, 4/1-5
  • Introduction and Overview
  • Syntax and Grammars
    • BNF Notation
    • Parsing
Sethi, Chapters 1,2
Selected lecture notes
Week 2, 4/8-12
  • Imperative Programming
    • Control Flow
    • Blocks
    • Expression Evaluation
Sethi, Chapters 3,4
Selected lecture notes
Week 3, 4/15-19
  • Language Concepts
    • Variables and Types
    • Lvalues and Rvalues
    • Functions and Procedures
    • Names, Values, and Scope
Sethi, Chapters 4,5
Selected lecture notes
Week 4, 4/22-26
  • Object Oriented Programming
    • Encapsulation
    • Constructors and Destructors
Sethi, Chapters 6,7
Stroustrup, Chapters 1, 2, 3
Selected lecture notes
Week 5, 4/29-5/3
  • Object Oriented Programming
    • Overloading
    • Polymorphism
    • Issues in Practical Language Design
Growing a Language
Monday, May 6 9:00 AM Midterm Exam
Week 6, 5/6-10
  • Functional Programming
  • List processing with Scheme
Sethi, Chapters 8,10
Intro to Scheme and its Implementation
Selected lecture notes
Peitite Chez Scheme can be downloaded for Windows and other platforms
Week 7, 5/13-17
  • Functional Programming in a Typed Language
    • Introduction to ML
    • Syntax and Examples
Sethi, Chapter 9
Ullman, Chapter 1
Selected lecture notes
SML-NJ can be downloaded for Windows
Week 8, 5/20-24
  • Types and Functions in ML
Ullman, Chapters 1-3
Programming in Standard ML
Selected lecture notes
Week 9, 5/27-31
  • A Simple Interpreter in ML
Ullman, Chapters 5-6
Selected lecture notes
Complete code for static scope interpreter
Week 10, 6/3-7
  • Domain Specific Languages
  • Logic Programming
  • Review
Domain Specific Languages Bibliography
MAWL paper, tutorial, and quick reference
PRL5 paper from USENIX '94 VHLL Symposium
Sethi, Chapter 11
Selected lecture notes
Friday, June 14 10:15 AM Final Exam


CIS425 Assignment Policy

Assignments are due at the beginning of class on the due date indicated. Writing and diagrams must be legible - use machine copy if possible. For programming assignments, only machine copy will be accepted. You may work on assignments in teams of two if you wish. In this case, make sure both team member's names are on the assignment - each will receive the same credit for the work. Work turned in should be your own or your team's - if you collaborate with anyone else on any of the assignments, indicate that on the work you turn in. Academic honesty is expected and cases of suspected dishonesty will be handled according to university policy. In particular, copying someone else's work (including material found on the web) will not be tolerated. If solutions to assignments are obtained from outside sources, the source must be cited.

Assignment schedule


datkins@cs.uoregon.edu

Last updated 2002/05/31 11:42:08