CS 3120 Programming Language Concepts

Winter 2007, Class Schedule

All days in red are mandatory. Days in green are holidays

Jan 8: Introduction, compiling vs. interpreting, review of recursion

·  notes

  • Reading: Sebesta, 1.1, 1.2-1.6 (skim), 1.7

Jan 10: Grammars

·  notes

  • Reading: Sebesta, 3.1-3.3

·  Homework 1 (updated Jan 12)

Jan 12: Parse trees

·  notes

  • Reading: Sebesta, 3.3

Grammars and precedence and associativity

·  notes

  • Reading: Sebesta, 3.3

Jan 15: Martin Luther King Day

Jan 17: Attribute Grammars

·  notes

  • Reading: Sebesta, 3.4

Regular expressions, recursive descent parsing

  • Reading: Sebesta, p. 258, 4.4

Jan 19: Languages using grammars

Jan 22: Python introduction

Jan 24: Python lab

Jan 26: Variables

  • Reading: Sebesta, 5

Jan 29: Variables

  • Reading: Sebesta, 5 (cont'd)

Jan 31: Variables

  • Reading: Sebesta, 5 (cont'd)

Feb 2: Data Types

  • Reading: Sebesta, 6

Feb 5: Expressions, more on types

  • Reading: Sebesta, 7

Feb 7: Expressions, more on types, continued

  • Reading: Sebesta, 7 (continued)

Feb 9: Parameter passing, stack and static implementations

  • Reading: Sebesta, 9, 10 (start)

Feb 12: Stack implementations (continued), Methods

  • Reading: Sebesta, 10 (cont'd)

Feb 14: Functions -- storage and scope issues

  • Reading: Sebesta, 5.8, 10.4, 10.6

Feb 16: Python and functional programming

Feb 19: Exception handling

Feb 21: Data abstraction, Object-oriented programming

  • Reading: Sebesta, 11

Feb 23: More on object-oriented programming

Feb 26: XML

Feb 28: XPath

  • Reading: XPath tutorial (w3school has decent tutorials on many of the XML-related specifications, including XSL)

Mar 2: XPath, continued

Mar 5: Logic programming

Mar 7: XSL (with some HTML)

Mar 9: XSL, continued

Mar 12: XML Schema

Mar 14: Concurrency

  • Reading: Sebesta, 13.1, 13.2, 13.7

Mar 16: Review for final exam

Mar 21: Final exam, 2-3:50pm