Bibliography for CS50, Introduction to Computer Science , for the fall 1996 term.

 Required course texts: 

	Eric S Roberts
	The Art and Science of C
	Addison-Wesley, 1995
	isbn 0-201-54322-2

	Brian W Kernighan and Dennis M Ritchie
	The C Programming Language, 2nd edition
	Prentice Hall, 1988
	isbn 0-13-110362-8

	Douglas E Comer
	The Internet Book
	Prentice Hall, 1995
	isbn 0-13-131565-9
		a bit dated, e.g., little on the web
		but detailed and specific about how networking really works,
		unlike most other internet books

 Recommended course texts: 

	Brian W Kernighan and Rob Pike
	The Unix Programming Environment
	Prentice Hall, 1984
	isbn 0-13-937681-X
		getting dusty, unfortunately

	Grace Todino, John Strang, Jerry Peek
	Learning the Unix Operating System, 3rd edition
	O'Reilly & Associates, 1993
	isbn 1-56592-060-0
		really abbreviated intro, for real novices

ancillary books worth reading, though not necessarily worth buying

 programming: 

	the elements of programming style
		kernighan & plauger, mcgraw hill, 1978
			good advice, but fortran & pl/1 examples only

	writing solid code
		steve maguire, microsoft press
			lots of excellent advice; very practical & realistic
			his "debugging the development process" is also worthwhile

	deep c secrets
		van der linden, prentice hall
			good advice and explanations, fun reading

	programming pearls
	more programming pearls
		jon bentley, addison-wesley
		lots of good advice in bite-sized chunks

	the mythical man month
		fred brooks, addison-wesley
		getting dusty, but still good advice from someone who
		managed a really large project.  the most eloquent
		statement i've seen of why programming is fun and hard.

	advanced programming in the unix environment
		w richard stevens, addison wesley
			system-call level with examples; great reference

	obfuscated C and other mysteries
		don libes, wiley&sons
			perverse beyond words, but fun

 internet: 

	internetworking with tcp/ip vol 1; 3rd edition
	doug comer, prentice hall
		a good technical intro to how the internet works
		vols 2 & 3 are also good

	tcp/ip illustrated, vol 1 & 2
	w richard stevens, addison-wesley
			more code, excellent descriptions

	zen and the art of the internet
	brendan kehoe
	3rd ed, 1996.
		pretty superficial, dated (in spite of date)
		too much a laundry list of addresses

	ed krol
	the whole internet
	o'reilly assoc
		the win95 version is much more current
		less superficial than kehoe but still a user-level book

 java: 
	java in a nutshell
	david flanagan; o'reilly
		for programmers, not web site designers.  good examples,
		lots of realistic code, plausible library reference.
		very inexpensive; the best buy i've seen.

 computer architecture, etc: 
	david a patterson & john l hennessy
	computer organization & design: the hardware/software interface
	morgan kaufmann publishers, 1994
	isbn 1-55860-281-x
		and other books by the same authors.  solid, authoritative,
		very well written.