The Art of Computer Programming Reading Group

Knuth in a Year

The Motivation

I don't have time to get a computer science degree. Despite the fact that I've been coding for years, I still lack a lot of really fundamental background in computer science. Knuth seems to cover all of the truly fundamental stuff really well, so it seems like a natural place to pick it up.

Unfortunately, these books are dense and sometimes hard to follow. Also, I lack the self-motivation for such a huge task without some external impetus: by starting this group and taking responsibility. Now, I can't be the only one who feels this way about Knuth; in fact, several of my friends have copies of the series they fully intended to read. They just, kind of, you know, lost interest in it. Like me. So, I'm starting this group to run through Knuth. That way, we'll all have someone else to lean on for questions about derivations, to collaborate with on problem sets, and (most importantly) someone to look bad in front of if we slack off or drop out. Hacking is about ego, and nothing hurts the ego like having to admit one's failure.

The Plan

Cover the three available volumes of Knuth's The Art of Computer Programming in a year. We will work in sequence, a week at a time. The initial pace is for 10.5 months, which works out to just over 34 pages a week. If you're doing problems, you'll want to leave a few days for that each week. That leaves you with around 11 pages of Knuth to read and digest every day. I have built in that six weeks of slack for a reason: I really don't expect to hit the marks every time.

To give you some perspective on the undertaking: The average length of a Christian Bible (Old and New Testaments) is 1000 pages. TAoCP is just shy of 1500. The Bible is prose; Knuth created a typesetting language to get his involved mathematical expressions to print beautifully.

If you're still interested, good for you. Realize that it's going to be seriously intense, and that I really don't want anybody dropping out or lagging behind. This is an expedition to the top of Mount Kilamanjaro, and we can only help inexperienced climbers so far before it starts hurting everyone.

The Contact

We are using the TAoCPRG mailing list, graciously hosted by ibiblio, for our communcations. Also, we'll be working out a way to do voice chats to discuss things. That will be one of the first administrivia things resolved on the mailing lists.

The Schedule

Week 1 will run from 1 June 2005 - 7 June 2005. This leaves a couple of weeks for structure to emerge and for word to get around to other interested people.

Week Start
Page
End
Page
Page
Count
Sections
1126251.1 ; 1.2.1 ; 1.2.2
22744171.2.3 ; 1.2.4
34574291.2.5 ; 1.2.6
47586111.2.7 ; 1.2.8
587123361.2.9 ; 1.2.10 ; 1.2.11
6124163391.3.1 ; 1.3.2
7164185211.3.3
8186199131.4.1 ; 1.4.2
9200214141.4.3
10215231161.4.4 ; 1.4.5
11232253212.1 ; 2.2.1 ; 2.2.2
12254279252.2.3 ; 2.2.4
13289307182.2.6
14308347392.3.1 ; 2.3.2
15348385372.3.3 ; 2.3.4.1 ; 2.3.4.2 ; 2.3.4.3
16386407212.3.4.4 ; 2.3.4.5 ; 2.3.4.6
17408423152.4
18424457332.5 ; 2.6
WeekStart
Page
End
Page
Page
Count
Sections
19140393.1 ; 3.2
204179383.3.1 ; 3.3.2
2180118383.3.3 ; 3.3.4
22119148293.4
23149193443.5 ; 3.6
(3.6 is a summary)
24195245504.1 ; 4.2.1 ; 4.2.2
(4.1 is 20 pages and skimmable)
25246264184.2.3 ; 4.2.4
26265318534.3.1 ; 4.3.2 ; 4.3.3
(Try not to get bogged down)
27319355364.4 ; 4.5.1 ; 4.5.2
28356417614.5.3 ; 4.5.4
(Again, don't get bogged down)
29418460424.6.1 ; 4.6.2
30461524634.6.3 ; 4.6.4
(anticipate splitting these)
31525537124.7
WeekStart
Page
End
Page
Page
Count
Sections
32146455.1.1 ; ; 5.1.2 ; 5.1.3
334772255.1.4
3473137645.2.1 ; 5.2.2
(looks diagram-heavy)
35138179415.2.3 ; 5.2.4 ; 5.2.5
36180218385.3.1 ; 5.3.2 ; 5.3.3
37219247285.3.4
38248310625.4.1 ; 5.4.2 ; 5.4.3 ; 5.4.4
(diagram-heavy, might split)
39311355445.4.5 ; 5.4.6 ; 5.4.7 ; 5.4.7
40356391355.4.9 ; 5.5
41396425296.1 ; 6.2.1
42426457316.2.2
43458491336.2.3 ; 6.2.4
44492512206.3
45513558456.4
46559583246.5

Josh Myer, 2005.05.18

hosted by ibiblio