The slides shown in the class together with reading assignments are posted here. The slides are intended as supplementary materials, you are expected to take notes during the class. Reading assignments refer to the second edition of the textbook.

Week 1

Wednesday, 9/7
Course Overview, Overview of Programming Languages, C Overview I ( Notes )
Friday, 9/9
Programming Languages in Context, C Overview II ( Notes )
Reading Assignment
Chapter 1

Week 2

Monday, 9/12
Syntax, Categories of Grammars, Context-free Grammar, BNF ( Notes, Project 1 )
Wednesday, 9/14
EBNF, Derivation, Parse Tree ( Notes, Homework 1, C Sample Codes )
Friday, 9/16
Precedence, Associativity, Ambiguous Grammars, Clite, Big Endian, Little Endian ( Notes )
Reading Assignment
Chapter 2, 3

Week 3

Monday, 9/19
Stages of Compilation, Regular Expressions ( Notes, Project 2 )
Wednesday, 9/21
Flex, Abstract Syntax ( Notes, Homework 2 )
Friday, 9/23
Naming ( Notes )
Reading Assignment
Chapter 2, 3

Week 4

Monday, 9/26
Naming, l-value and r-value, Scope ( Notes, Project 3 )
Wednesday, 9/28
Reference, Symbol Table ( Notes, Homework 3, C Sample Codes - Header File )
Friday, 9/30
For Loop Scope in C, Header File in C, Overloading, Lifetime ( Notes )
Reading Assignment
Chapter 4

Week 5

Monday, 10/3
Types, Basic Types, Formats, Conversions ( Notes, Project 4 )
Wednesday, 10/5
Pointers, Arrays ( Notes, Homework 4 )
Friday, 10/7
Structures, Functions ( Notes )
Reading Assignment
Chapter 5

Week 6

Monday, 10/10
Polymorphism ( Notes, Project 5 )
Wednesday, 10/12
Practical Expression Semantics( Notes, Homework 5 )
Friday, 10/14
Program State and Semantics ( Notes )
Reading Assignment
Chapter 6

Week 7

Monday, 10/17
Fall break
Wednesday, 10/19
Expression Semantics ( Homework 6 )
Friday, 10/21
Side Effects
Reading Assignment
Chapter 7, 8

Week 8

Monday, 10/24
Skip and Assignment Semantics ( Notes, Project 6 )
Wednesday, 10/26
Conditional, Block, and Loop Semantics ( Notes, Homework 7 )
Friday, 10/28
For Loop Semantics, Loop Conversion, I/O semantics ( Notes )
Reading Assignment
Chapter 7, 8

Week 9

Monday, 10/31
C File I/O ( Notes )
Wednesday, 11/02
Exception Semantics ( Notes, Homework 8 )
Friday, 11/04
Function Terminology, Parameter Passing ( Notes )
Reading Assignment
Chapter 7, 9

Week 10

Monday, 10/07
Function Call Implementation, Memory Management ( Notes, Project 7 )
Wednesday, 11/09
Overflow, Bitwise Operators ( Notes, Homework 9 )
Friday, 11/11
Dynamic Allocation ( Notes )
Reading Assignment
Chapter 11

Week 11

Monday, 11/14
Garbage Collection, Concurrent Programming, Race Conditions ( Notes, Project 8 )
Wednesday, 11/16
Deadlocks, Synchronization, Threads in C ( Notes, Homework 10 )
Friday, 11/16
Threads in Java, Logic Programming ( Notes, Project 9 )
Reading Assignment
Chapter 17

Week 12

Monday, 11/21
Horn clauses, Resolution, Prolog ( Notes )
Wednesday, 11/23
Thanksgiving Break
Friday, 11/25
Thanksgiving Break
Reading Assignment
Chapter 15

Week 13

Monday, 11/28
Prolog, Backtracking, Recursion, List ( Notes )
Wednesday, 11/30
Presentation
Friday, 12/02
Presentation
Reading Assignment
Chapter 15

Week 14

Monday, 12/05
Presentation
Wednesday, 12/07
Presentation
Friday, 12/09
Presentation

© 2016 Ying Li. Page last modified: .