123

There has been several questions with the same scheme as this one:

I was reluctant to post yet another one, but Jeff Erickson's lecture notes on algorithms changed my mind. I thought: Oh my! All these years and I haven't seen these excellent notes!

So, I thought there might be other great lecture notes, which are really worth reading. So, for each computer science subfield (data structures, algorithms, theory of computation, computational complexity, cryptography, etc.), recommend the superb lecture notes of your choice, and say why you think it excels.

One simple rule to keep it tidy: One answer per each subfield. (This will be a community wiki, so you can edit existing answers, and add your recommendation.)

Sadeq Dousti
  • 16,479
  • 9
  • 69
  • 152

15 Answers15

34

Probability Theory And Randomized Algorithms

Nikhil
  • 1,354
  • 10
  • 23
  • 2
    This link is now dead. Could you please fix or it will be removed? – Dave Clarke Feb 09 '12 at 16:10
  • 5
    @Dave, it seems there is no longer a link from Ryan's webpage to the course. But I don't think removing the entry is a good idea, he might put the link back at some point. Your comment that the link is broken is sufficient IMO. – Kaveh Feb 09 '12 at 22:12
  • @DaveClarke The link is fixed. Yay! – Jardine Jul 23 '14 at 05:30
26

Quantum computation and information

Some excellent lecture notes from this field:

An introductory course on quantum computing. Good enough to be made into a book. I know several researchers who have a printout of these notes on their bookshelf.

An advanced course on quantum information. Some of the best lectures notes I've ever read.

An advanced course on quantum algorithms. A very good resource for recent quantum algorithms. If the original paper on some quantum algorithm is hard to understand, this is where I would check next.

I can't summarize this course in one line. Read the description on the course web page.

Includes general introduction to Quantum Computing, as well as crypto-specific topics such as Quantum Key Distribution, Quantum Commitments, Bounded Quantum Storage Model, and Quantum Zero-Knowledge.

Sadeq Dousti
  • 16,479
  • 9
  • 69
  • 152
Robin Kothari
  • 13,617
  • 2
  • 60
  • 116
  • Very interesting, thanks. I always wanted to learn quantum computing, but didn't have enough time to read a book. Do you know any course devoted to quantum cryptography? I found one here, but unfortunately, the notes aren't available online. – Sadeq Dousti Jan 05 '11 at 16:38
  • @Sadeq: Sorry, no idea. – Robin Kothari Jan 08 '11 at 06:02
25

Computational Complexity

There are many excellent courses on this topic. The following is merely the tip of the iceberg. To choose one, I suggest taking a look at the material covered in each course, as well as the level it is offered:

Clark Zinzow
  • 101
  • 4
Sadeq Dousti
  • 16,479
  • 9
  • 69
  • 152
23

A Theorist's Toolkit by Sanjeev Arora.

I love these notes because it gives you a rather complete set of tools for attacking problems in complexity theory. For example, VC-dimension is used widely for proving lower bounds in the communication model, and these notes explains it so well and from the basics.

Sadeq Dousti
  • 16,479
  • 9
  • 69
  • 152
Marcos Villagra
  • 3,290
  • 27
  • 45
21

Information Theory

Derrick Stolee
  • 2,044
  • 1
  • 21
  • 34
17

PCP & Hardness of Approximation

Holger
  • 975
  • 9
  • 17
Sadeq Dousti
  • 16,479
  • 9
  • 69
  • 152
17

Discrete math

Discrete Mathematics for Computer Science by Lehman, Leighton, and Meyer (older version)

Jeffε
  • 23,129
  • 10
  • 96
  • 163
15

Cryptography

There are a number of excellent lecture notes on the subject, all by famous people in the field. You can choose one (or two) of the following to study; it all depends on your environment, background, and requirements:

Sadeq Dousti
  • 16,479
  • 9
  • 69
  • 152
15

Pseudorandomness

The best course on the subject is offered by Salil Vadhan. See also this topic for a draft of Salil's book on pseudorandomness.

Sadeq Dousti
  • 16,479
  • 9
  • 69
  • 152
14

Expander Graphs

The authoritative course is offered by Nati Linial and Avi Wigderson. See this topic for more information,

Sadeq Dousti
  • 16,479
  • 9
  • 69
  • 152
13

Computational Geometry

Lecture Notes by David Mount.

Vinicius dos Santos
  • 1,868
  • 12
  • 21
11

Combinatorial Optimization

Austin Buchanan
  • 1,166
  • 1
  • 17
  • 28
11

SAT

I visited a SAT course a few years ago with Professor Welzl. His lecture notes are by far the best I’ve seen throughout my entire studies.

Unfortunately, only the 2005 version is online, including a short list of updates.

(The fastest SAT algorithm as well as the constructive proof of the Lovász local lemma come from guys in his group.)

Sacha
  • 338
  • 2
  • 11
9

Spectral Graph Theory

user7545
  • 251
  • 4
  • 8
9

The course "Pearls of Algorithms". Part 3: Probabilistic Analysis and Randomized Algorithms. The lectures notes are on smoothed analysis. I especially like the figure 1.1 on the third page.

Oleksandr Bondarenko
  • 4,215
  • 1
  • 25
  • 46