CSCI 3210: Theory of Programming Languages

Sect. 001

Lecture

M W

1420 - 1545

KOM 320


Tentative Schedule

 

Date

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:

Project5

 

Week 10

Mar. 18

Logic Programming:

 

 

Mar. 20

Subprogram:

 

 

Week 11

Mar. 25

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

 

 

Mar. 27

Subprogram:

 

 

Week 12

Apr. 1

Subprogram:

Project6

 

Apr. 3

Subprogram Implementation:

 

 

Week 13

Apr. 8

Abstract Data Type and Object Oriented Programming:

Project7

PresentationRubric

Apr. 10

Presentation: Power point slides

 

 

Week 14

Apr. 15

Presentation

 

 

Apr. 17

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

 

 

Week 15

Apr. 22

Presentation

 

 

Apr. 24

Presentation

 

 

Week 16

May 1

Final Exam: 1230 - 1430

 

 

Class Resources

Syllabus

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

$PUB

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