CS 310 - Programming Language Concepts - Fall 2009

Class Information

Instructor: Nicholas Coleman
Time: TueThu
11:00 am - 12:15 am
Classroom: Engineering
Room 105
Text: Programming Language Pragmatics
Third Edition
by MichaelL. Scott
ISBN: 978-0-12-374514-9
Textbook cover

Links

Lectures, Assignments, and Exams

Tuesday Thursday
Week 1 8/25
  • Introduction
PLP 1.1 - 1.4
8/27
  • Regular Expressions
  • Context-Free Grammars
  • Derivations and Parse Trees
PLP 2.1
Week 2 9/1
  • Scanning
  • Generating a Finite Automaton
PLP 2.2.1
9/3
  • Parsing
  • Recursive Descent
PLP 2.3.1
Week 3 9/8
  • Table-Driven Top-Down Parsing
  • Homework 1:
    2.1 (a), 2.4 (a) (b) (c),
    2.12 (a) (b),
    2.15 (a) (b) (c) (d)
PLP 2.3.2
9/10
  • The Notion of Binding Time
  • Object Lifetime and Storage Management
PLP 3.1-3.2
Week 4 9/15
  • Scope Rules
PLP 3.3
9/17
  • Semantic Analysis
  • Attribute Grammars
PLP 4.1-4.2
Homework 1 due
Week 5 9/22
  • Evaluating Attributes
  • Review for Exam 1
  • Homework 2
PLP 4.3
9/24
Exam 1
Chapters 2, 3, and 4
Week 6 9/29
  • Functional Languages
  • Scheme
PLP 10.1 - 10.3
10/1
  • More Scheme
  • Homework 2:
    4.5, 4.9, 4.13
PLP 10.3
Week 7 10/6
  • Control Flow
  • Expression Evaluation
PLP 6.1
10/8
  • Structured and Unstructured Flow
  • Sequencing
  • Selection
PLP 6.2 - 6.4
Week 8 10/13
  • Iteration
  • Homework 2 due
PLP 6.5
10/15
PLP 6.6
Week 9 10/20
  • Data Types
  • Type Systems
PLP 7.1
10/22
  • Records and Variants
PLP 7.3
Week 10 10/27
  • Arrays
PLP 7.4
10/29
  • Pointers and Recursive Types
  • Programming Assignment 1 due
PLP 7.7
Week 11 11/3
Exam 2
Chapters 10, 6, and 7
11/5
  • Logic Programming Concepts
  • Prolog
  • Resolution and Unification
PLP 11.1 - 11.2.1
Week 12 11/10
NO CLASS - Advisory Board Meeting
11/12
  • Prolog Lists
  • Prolog Arithmetic
  • Search/Execution Order
PLP 11.2.2 - 11.2.4
Week 13 11/17
  • Tic-Tac-Toe
  • Imperative Control Flow
  • Database Manipulation
PLP 11.2.5 - 11.2.7
11/19
PLP 11.4
Thanksgiving
Break
11/24
NO CLASS
11/26
NO CLASS
Week 14 12/1
  • Parameter Passing
PLP 8.3
12/3
  • Data Absraction and Object Orientation
  • Object Oriented Programming
PLP 9.1
Week 15 12/8
  • Scripting Languages
  • Shell Scripting
  • Text Processing
PLP 13.1 - 13.2.2
12/10
  • General Purpose Scripting
  • Innovative Features
PLP 13.2.4, 13.4
Finals 12/15
Final Exam
10:00 am
12/17