This curriculum will end up requiring at least 400 uncompensated
hours to develop. If you use the material in your own lecturing, or for your own
projects, or autodidactic exploration, please consider donating
whatever amount you feel appropriate. If you can't donate,
you might drop me a line
to let me know the materials were useful. Thanks! Hack on!
The CS4803UWS main page is hosted on my wiki.
The LaTeX slide sources are hosted at GitHub.
All versions of these files are released under a Creative Commons
3.0 Attribute+ShareAlike license.
If forced to identify a few primary
sources, they'd have to include:
The Intel processor manuals and Optimization Guide
● The collected works of Agner Fog
● Culler and Singh's Parallel Computer Architecture
● The Linux kernel's source code and the LKML, especially mails by
Linus Torvalds, Dave Jones, Al Viro, Ulrich Drepper, and Ingo Molnar
● Warren's Hacker's Delight
● Abelson and Sussman's Structure and Interpretation of Computer Programs
● Stepanov's The Elements of Programming
● Knuth's The Art of Computer Programming Vol. 1–4A
● Ward and Halstead's Computation Structures
● Exchanges with coworkers including Jason Lunz, James
Malcolm, Gallagher Pryor, Brian Deitrich, Douglas Saylor, Norbert Juffa, Donnie Jones, and Seth Walters,
and GT colleagues including Andrew Hilton, Jesse Beu, Brian Railing, Jason Poovey, Rob McColl, Andy Kerr, Gary Yngve,
Robert Edmonds, and Samuel "Twitch" Hall.
● Classes at the Georgia Institute of Technology, particularly
those by Rich Vuduc, Hyesoon Kim, Jim Xu, Tom Conte, Jim
Greenlee, and Nate Clark.
All material copyright Nick Black 2013. Please mail me with notes or comments.