CS 473: Stuff You Already Know

This page lists several basic mathematical concepts, data types, data structures, and algorithms that are typically covered in CS 173 and CS 225, and covered in more detail in CS 374, with pointers to the corresponding Wikipedia entries. We assume that everyone taking CS 473 is already familiar with everything on this list, or at least has the intellectual maturity to learn it on the fly. You can use any of these in your homework or exam solutions without providing further details or citing any source.

For detailed review of any of these topics, we strongly recommend using an actual textbook or one of the following online resources. (Beware that Wikipedia occasionally makes some very strange choices.)


Mathematics

For a solid introduction to most of these topics, I strongly recommend Eric Lehman and Tom Leighton's extensive lecture notes for the Mathematics for Computer Science course at MIT.


Abstract data types


Data structures

You may use any of these data structures in your homeworks and exams without providing further details or citing any source. If you use a small modification of one of these data structures, just describe your changes; don't regurgitate the original data structure details.


Algorithms

You may use any of these algorithms in your homeworks and exams without providing further details or citing any source. If you use a small modification of one of these algorithms, just describe your changes; don't regurgitate the original algorithm details.


Theory of Computation/Complexity

It is useful to have some basic background in theory of computation.