University of Toronto -- Department of Computer Science
St. George Campus --
Fall Session
2004
CSC 363H:
"Computational Complexity and Computability"
Lecture Summaries and Tutorial Exercises
Contents
The schedule of
lectures, tutorials,
and office hours,
is available on the
main page.
| Top
| Contents
| Objectives
| Outline
| Lectures
| Tutorials
| Bottom |
Learning objectives
By the end of this course,
students should
| Top
| Contents
| Objectives
| Outline
| Lectures
| Tutorials
| Bottom |
Outline of lecture topics
The following topics will be covered in this course,
in the order listed.
For each topic,
we have indicated
the approximate number of weeks required to cover that topic as well as
a list of the relevant sections in the textbook.
- Computability Theory
[5 weeks]
(Chapters 3, 4, 5 in the textbook)
- Turing machines: definitions and examples [1 week]
(section 3.1)
- Other models of computation, the Church-Turing thesis [1 week]
(sections 3.2, 3.3)
- Diagonalization, the Halting problem, recognizability [1 week]
(sections 4.1, 4.2)
- Reducibility, examples [1 week]
(sections 5.1, 5.2)
- Mapping reducibility, examples [1 week]
(section 5.3)
- Complexity Theory
[8 weeks]
(Chapters 7, 10 in the textbook)
- Models of efficient computation
- P and NP
- NP-completeness, Cook's theorem
- Self-reducibility and polytime transformations
- Approximation algorithms and heuristics
- Lower bounds on problem complexity
(information-theory bounds, adversarial arguments).
| Top
| Contents
| Objectives
| Outline
| Lectures
| Tutorials
| Bottom |
Lecture summaries
Every week,
specific sections of the textbook
will be posted as readings.
You will be expected to read these sections
to prepare for the following week's lectures and tutorials.
At the end of each week,
a short summary of
the material covered during lecture
will be posted.
All summaries will be plain text (ASCII) files,
unless otherwise indicated.
- Week 1: summary;
readings: 3.1 (and review chapters 0, 1, 2 briefly).
- Week 2: summary;
readings: 3.2, 3.3.
- Week 3: summary;
readings: re-read end of Chapter 3,
4.1 except for
"Decidable problems concerning context-free languages",
4.2 except for "The diagonalization method".
- Week 4: summary;
readings: "The diagonalization method" in 4.2 (pp.160-164),
5.1.
- Week 5: summary;
readings: 5.3.
- Week 6: summary;
readings: 5.3, 7.1.
- Week 7: summary;
readings: 7.2, 7.3.
- Week 8: summary;
readings: end of 7.3 ("examples", "P vs NP"),
start of 7.4 ("polytime reducibility", "NP-completeness").
- Week 9: summary;
readings: end of 7.4 ("Cook-Levin theorem"), 7.5.
- Week 10: summary
updated on Fri 26 Nov;
readings: quickly look at 8.1, 8.2, 8.3, 9.1
(read just the results of the theorems, not the proofs).
- Week 11: summary;
readings: 10.1.
- Week 12: summary;
readings: 10.1.
- Week 13: summary;
finish approximation algorithms and heuristics;
review; discussion of exam (check out Tests/Exam page).
| Top
| Contents
| Objectives
| Outline
| Lectures
| Tutorials
| Bottom |
Tutorial exercises
At the end of every week,
a set of tutorial exercises
will be posted for the following week.
You will be expected to work on these exercises
(either alone or in group)
and to bring your solution ideas to tutorial,
where your TA will discuss them with you.
All exercises will be plain text (ASCII) files,
unless otherwise indicated.
- Week 1:
no tutorial
- Week 2
- Week 3
Updated on Mon 20 Sep 2004.
- Week 4
Updated on Tue 28 Sep 2004.
- Week 5
- Week 6: Term Test 1
- Week 7
- Week 8
- Week 9
- Week 10
- Week 11
- Week 12: Term Test 2
- Week 13
| Top
| Contents
| Objectives
| Outline
| Lectures
| Tutorials
| Bottom |
© Copyright 2004
by François Pitt
last updated at 12:33 (EDT) on Mon 13 Sep 2004
![[Valid XHTML 1.0!]](../valid-xhtml10.png)