CSCI 3210: Theory of Programming Languages

Sect. 001



1420 - 1545

KOM 320

Tentative Schedule



Lecture Topic

Homework & Projects

Links to Documents

Week 1

Jan. 14

Introduction: Syllabus, Demo of SVN

Presentation Assignment (Due: Jan. 30)
Presentation Requirement

Project1 (Readme.txt: due: Jan. 30, report due: Apr. 10)
Project2 (Due: Apr. 10)

How to access repository
Tortoise SVN Tutorial

Jan. 16

Introduction: language evaluation criteria, classification of languages

Presentation Group

Week 2

Jan. 21

Martin Luther King, Jr. Day Holiday No Classes


Jan. 23

Syntax and Semantics: Compilation/Pure Interpretation/Hybrid, Regular Expression



Week 3

Jan. 28

Syntax and Semantics: CFG, derivation, parse tree, ambiguity



Jan. 30

Name, Scope, and Binding: Semantics, Name, binding (static binding vs. dynamic binding), type binding (explicit vs. implicit, type inference, dynamic type binding)

Project3 (Due: Feb. 11)


Week 4

Feb. 4

Name, Scope, and Binding: Storage binding(table), scope (static scoping and dynamic scoping), named constant



Feb. 6

Type Systems: type equivalence (name vs. type), type compatibility, type inference, type checking


Gradual Evolution

Cold War

Week 5

Feb. 11

1st Exam (Week1 Week3) Sample questions



Feb. 13

Functional Programming Language: (example)

Project4 (Due: 11:59pm, Feb. 25)

Ten Reasons not to use functional programming language

Week 6

Feb. 18

Data Types:


Feb. 20

Data Types:



Week 7

Feb. 25

Data Types:



Feb. 27

Expressions and Assignment Statements:



Week 8

Mar. 4

Spring Break. No classes



Mar. 6

Spring Break. No classes



Week 9

Mar. 11

Control Flow



Mar. 13

Logic Programming:



Week 10

Mar. 18

Logic Programming:



Mar. 20




Week 11

Mar. 25

2nd Exam (Name, Scope, Binding, Type Systems, Data Types, and functional programming language) Sample questions



Mar. 27




Week 12

Apr. 1




Apr. 3

Subprogram Implementation:



Week 13

Apr. 8

Abstract Data Type and Object Oriented Programming:



Apr. 10

Presentation: Power point slides



Week 14

Apr. 15




Apr. 17

3rd Exam (Expression/Assignment statement, control flow, subprogram, subprogram implementation, Prolog)



Week 15

Apr. 22




Apr. 24




Week 16

May 1

Final Exam: 1230 - 1430



Class Resources


Please take your time to go through the syllabus carefully and with patience.


All class examples, assignments, and source codes are available in this directory.