[ Lectures
| Course Description | Course
Outline | Homework and Project Information | Class Schedule ]
|
Lectures and Other Course Materials(back to top)
|
Course announcements, lecture slides and assignments will be posted on T-Square.
|
CourseDescription (back to top)
|
A language is a certain class of strings that can be recognized by a
corresponding machine. The objective of this course is to learn these
abstract languages and the computations of their corresponding machines.
Scanners and parsers of compilers will illustrate the practical applications
of these theories. The notions of the Turing machines and decidability will also be discussed. The key objectives of this course are
the following:
- in-depth understanding
of computational powers of regular languages, context-free languages and
Turing machines;
- understanding of
practical applications of regular and context-free languages in
compilers;
- problem solving by
combining the two in pattern matching languages
|
Course
Outline (back to top)
|
Required Textbooks
Bundle ISBN# 1418879746, including
Outline
- Lexical analysis,
scanners, pattern matching
- Regular expressions,
DFAs, NFAs and automata
- Limits on regular
expressions, pumping lemma
- Practical parsing, LL
and LR parsing
- Context-free
languages, grammars, Chomsky Hierarchy
- Pushdown automata,
deterministic vs. non-deterministic
- Turing Machines, Decidable vs.
Undecidable problems, Halting Problem
Grading
- Homeworks: 25%
- 3 Quizzes: 20% each
- Mini-project : 15%
|
Homework
and Project Information (back to top)
|
Georgia Tech and College of Computing academic Honor Code applies. Homeworks are announced in class and are posted on the class web page. You are allowed to discuss course materials, homework problems, and
assignments in small groups, but limited to discussion of general
ideas only. You must write your solutions completely independently,
and must report the names of your collaborators with whom you discussed
the assignments. Under no circumstances may you copy solutions from any
source, including but not limited to other students solutions, official
solutions distributed in past terms, and solutions from courses taught at
other universities. Violation of these rules may result in disciplinary
actions. Homework solutions should be turned in in class, stapled, before the lecture starts, on a due day. If you are unable to attend a lecture when a homework is due, you can submit a postscript or a PDF file with your solutions to T-Square before the time of the class. No late homeworks will be accepted.The exams are closed book. Cheet sheet(s) may be allowed. The details about the project will be posted later.
|
Class
Schedule (back to top)
|
- In the reading list, L
stands for the textbook by Louden and S by Sipser.
- A very tentative
schedule
Week
|
Date
|
Topic
|
Reading
|
1
|
Tuesday, January 10
|
Logistics. Introduction to compiler concepts
|
L1.1-1.5
|
|
Thursday, January 12
|
Regular expressions
|
S1.3
|
2
|
Tuesday, January 17
|
DFA,NFA, equivalence of DFAs and NFAs, closure properties of regular languages
|
S1.1,1.2
|
|
Thursday, January 19
|
NO CLASS
|
|
3
|
Tuesday, January 24
|
RegExp=regular
languages
|
|
|
Thursday, January 26
|
Pumping lemma
|
S1.4
|
4
|
Tuesday, January 31
|
Lexical analysis; Context-free grammar
|
L2.3,S2.1
|
|
Thursday, February 2
|
Review for Quiz 1
|
|
5
|
Tuesday, February 7
|
Quiz 1
|
|
|
Thursday, February 9
|
Context-free grammar, Ambiguity |
S2.1,L3.1-4 |
6
|
Tuesday, February 14
|
Chomsky normal form
|
S2.1
|
|
Thursday, February 16
|
Pushdown Automata
|
S2.2
|
7
|
Tuesday, February 21
|
Quiz 1 review. Non-context-free languages
|
S2.3 |
|
Thursday, February 23
|
Recursive descent parsing |
L4.1-2 |
8
|
Tuesday, Febraury 28
|
Left recursion removal, LL(1) parsing |
|
|
Thursday, March 1
|
NO CLASS |
|
9
|
Tuesday, March 6
|
LL(1) parsing; First and follow sets
|
L4.2-3
|
|
Thursday, March 8
|
LL(1) parsing cont. |
cont.
|
10
|
Tuesday, March 13
|
Review for Quiz 2 |
|
|
Thursday, March 15
|
Quiz 2
|
|
11
|
Tuesday, March 20
|
Spring Break
|
|
|
Thursday, March 22
|
Spring Break
|
|
12
|
Tuesday, March 27
|
Overview of LL(1)
|
|
|
Thursday, March 29
|
Overview of bottom-up parsing; LR(0)
|
L5.1-2
|
13
|
Tuesday, April 3
|
Quiz 2 review, SLR(1)
|
L5.3
|
|
Thursday, April 5
|
LALR(1), LR(1), Intro to Turing Machines
|
L5.4, S3.1
|
14
|
Tuesday, April 10
|
Turing Machines |
|
|
Thursday, April 12
|
Turing Machines
|
S3
|
15
|
Tuesday, April 17
|
Review for Quiz 3
|
S3
|
|
Thursday, April 19
|
Quiz 3
|
|
16
|
Tuesday, April 24
|
Turing Machines
|
|
|
Thursday, April 26
|
Review
|
|
|
|
Finals Week (but we have no final)
|
|
|