[FrontPage] [TitleIndex] [WordIndex

Note: You are looking at a static copy of the former PineWiki site, used for class notes by James Aspnes from 2003 to 2012. Many mathematical formulas are broken, and there are likely to be other bugs as well. These will most likely not be fixed. You may be able to find more up-to-date versions of some of these notes at http://www.cs.yale.edu/homes/aspnes/#classes.

List of things you should know about if you want to do ComputerScience.

1. Foundations and logic

Why: This is the assembly language of mathematics—the stuff at the bottom that everything else complies to.

2. Fundamental mathematical objects

Why: These are the mathematical equivalent of data structures, the way that more complex objects are represented.

3. Modular arithmetic and polynomials

Why: Basis of modern cryptography.

4. Linear algebra

Why: Shows up everywhere.

5. Graphs

Why: Good for modeling interactions. Basic tool for algorithm design.

6. Counting

Why: Basic tool for knowing how much resources your program is going to consume.

7. Probability

Why: Can't understand randomized algorithms or average-case analysis without it. Handy if you go to Vegas.

8. Tools

Why: Basic computational stuff that comes up, but doesn't fit in any of the broad categories above. These topics will probably end up being mixed in with the topics above.

These you will have seen before:

These may be somewhat new:


2014-06-17 11:58