University of Toronto -- Department of Computer Science
St. George Campus --
Winter Session
2005
CSC 373H:
"Algorithm Design and Analysis"
Lecture Summaries and Tutorial Exercises
The schedule of
lectures, tutorials,
and office hours,
is available on the
main page.
Textbook readings
By the start of each week,
we will post a list of textbook sections
that you can read ahead
to prepare for the lectures and tutorial.
- Section(s) 4.1.
- Section(s) 4.5, 4.4.
- Section(s) 11.8.
- Section(s) 5.1, 5.2.
- Section(s) 5.7.
- Section(s) 5.5, 6.1.
- Section(s) 6.1, 6.3, 6.5.
- Section(s) 7.1, 7.2, 7.3.
- Section(s) 7.3, 7.10.
- Section(s) 7.10, 11.6.
- Section(s) 11.6, 11.1.
- Section(s) 11.1, 11.3.
- Section(s) 11.3, 13.1.
Lecture summaries/slides
For section L0101,
short summaries of lecture material
(in plain text format)
will be posted at the end of each week.
For section L5101,
a copy of the lecture slides
(in Microsoft PowerPoint format)
will be posted at the end of each week.
Note that the actual lecture content may vary from these summaries/slides
(e.g., additional examples or explanations could be given,
some of the material could be skipped or mentionned only briefly)
and you are responsible for what was covered in class.
- L0101 summary /
L5101 slides
- L0101 summary /
L5101 slides
- L0101 summary /
L5101 slides
- L0101 summary /
L5101 slides
- L0101 summary /
L5101 slides
- L0101 summary
(updated Tue 22 Feb) /
L5101 slides
- L0101 summary /
L5101 slides
- L0101 summary /
L5101 slides
- L0101 summary /
L5101 slides
- L0101 summary /
L5101: no slides for this week
- L0101 summary /
L5101 slides
- L0101 summary /
L5101 slides
- L0101 summary /
L5101 slides
Learning objectives
By the end of this course,
students should
be familiar with standard algorithm design techniques
(greedy strategies, dynamic programming, divide and conquer,
linear programming, randomization):
- know the definitions of the various techniques;
- be able to recognize algorithms that employ these techniques;
- be able to write algorithms using these techniques;
- understand what it means for algorithms
written using these techniques to be correct;
- be able to analyze the efficiency of algorithms
written using these techniques.
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.
- Greedy algorithms (Chapter 4): 2.5 weeks.
- Dynamic programming (Chapter 5): 2.5 weeks.
- Divide and conquer (Chapter 6): 2.5 weeks.
- Linear programming (parts of Chapter 12): 2.5 weeks.
- Randomized algorithms (parts of Chapter 13): 2.5 weeks.
© Copyright 2005
by François Pitt
last updated at 09:45 (EDT) on Mon 18 Apr 2005
![[Valid XHTML 1.0!]](../valid-xhtml10.png)