Announcement

Syllabus

Lecture Hours

  • Tue 12:00 - 13:15 (27111)
  • Thu 13:30 - 14:45 (27111)
  • Office Hours: Tue 7:30pm-8:30pm

Textbook

  • Programming Language Pragmatics - Michael L. Scott

Grading

  • Exam - 60%
  • Project - 30%
  • Class participation - 10%

Programming Assignments

Lecture Slides

# Date Topic Slides Notes
1 3.5 Introduction and Formal Languages Lecture 01
2 3.7 Introduction and Formal Languages
3 3.12 Chapter 01. Compilation Lecture 02
4 3.14 Chapter 02. Compilation
5 3.19 Chapter 02. Scanner and Parse Tree Lecture 03
6 3.21 Chapter 02. Parsing - Scanner Lecture 04
7 3.26 Chapter 02. Top-down Parsing Lecture 05 (errors fixed)
8 3.28 Chapter 02. Top-down Parsing
9 4.2 Chapter 02. Bottom-up Parsing Lecture 06
10 4.4 Chapter 02. Bottom-up Parsing
11 4.8 Chapter 03. Names,Scopes,Binding Lecture 07 (Slides updated)
12 4.10 Chapter 03. Names,Scopes,Binding
13 4.16 Chapter 04. Semantic Analysis Lecture 08
14 4.18 Kotlin
4.23 Midterm Exam Class Room -> 26515
15 4.30 Chapter 06. Control Flow Lecture 09
16 5.02 Chapter 07. Data Types Lecture 10 Linux Commands 1
17 5.07 Chapter 08. Control Abstraction Lecture 11 Linux Commands 2
18 5.09 Chapter 08. Control Abstraction Linux Commands 3 (sed)
19 5.14 Chapter 09. OOP Lecture 12 Linux Commands 4 (awk)
20 5.16 Chapter 09. OOP Lecture 13
21 5.21 Chapter 09. OOP Linux Basics
22 5.23 Chapter 09. OOP
23 5.28 Chapter 10. Functional Programming Language Lecture 14
24 5.30 Chapter 10. Scheme Lecture 15
25 6.04 Chapter 13. Scripting Language Lecture 16
26 6.06 No class: national holiday
27 6.11 Bash Script Lecture 17
28 6.13 Bash Script
6.18 Final Exam