CPSC 200: Algorithm Analysis and Development
Syllabus
Click the rest of the
course outline for a broader overview.
- Objective:
- to provide an introduction to the
mathematical language, reasoning and methods; to introduce
material used directly in later Computer Science courses;
and, importantly, to explain how to reason mathematically.
- Syllabus:
- Most of the material covered comes Weiss
in particular Chapters~2--4 and~7, with other material as time
permits. I shall also cover material from Chapters 12, 13, 19, and 20
of Deitel and Deitel.
Topics include:
- Algorithm analysis and asymptotic complexity (2 weeks).
- Loop variants, loop invariants, and recursive
programming (1 week).
- Templates, the Standard Template Library,
containers, iterators, and generic programming in C++.
- Sorting algorithms (2 weeks).
- Error handling and exceptions (1 week).
- List classes (1 week).
- List based classes: stacks, queues, and deques (1 week).
- Tree classes (1 week).
Times are approximate.
The list of topics may not be exactly as shown above.