Textbook and Readings
Required Textbooks:
-
1.
- Brian W. Kernighan and Dennis M. Ritchie.
The C Programming Language. Prentice Hall,
second edition, March 1988.
-
2.
- Brian W. Kernighan and Rob Pike. The
Unix Programming Environment. Prentice Hall,
March 1984.
Other Readings: This list will be expanded as the
course progresses.
-
1.
- Jon Bentley and Don Knuth. Programming
pearls: Literate programming. Communications
of the ACM, 29(5):364–369, May 1986.
-
2.
- Jon Bentley, Don Knuth, and Doug McIlroy. A
literate program. Communications of the ACM,
29(6):471–483, June 1986.
-
3.
- Derrick Coetzee. An efficient implementation of
Blum, Floyd, Pratt, Rivest, and
Tarjan’s worst-case linear selection algorithm. http://moonflare.com/, January 2004.
-
4.
- Donald E. Knuth. Mini-indexes for literate
programs. Software—Concepts and Tools,
15:2–11, 1994.
-
5.
- Jon Bentley. Litle languages. Communications
of the ACM, 29(8):711–721, August 1986.
-
6.
- Donald E. Knuth and Silvio Levy.
The CWEB system of structured
documentation. User manual. http://www-cs-faculty.stanford.edu/~knuth/cweb.html,
February 2002. Version 3.64.
-
7.
- Silvio Levy and Donald E. Knuth.
Counting words. Sample program
in the CWEB distribution. http://www-cs-faculty.stanford.edu/~knuth/cweb.html,
August 1995.
-
8.
- Donald E. Knuth, Tracy Larrabee, and Paul M.
Roberts. Mathematical Writing. Mathematical
Association of America, Washington, D.C., 1989.
-
9.
- Donald E. Knuth and Silvio Levy. The
CWEB System of Structured Documentation.
Addison-Wesley, 1993.