Computer Science 23
class reading, or, words of wisdom from
hacker extraordinaire, Joel Spolsky, and, the venerable Unix programming guru, Eric Raymond

Throughout the course we will read a number of articles that relate to programming and the software development cycle. Most will be anecdotal based on experience working in the software industry and others more academic. Please read them and come armed with thoughts, opinions, questions.

We have a reading for each Wed and Friday class. We won't have too much time in class for discussion to be honest but do read these and we'll take 5-10 minutes at the start of
class or at break in the class.

I like these articles for a number of reasons: they are insightful, sometimes funny, always opinionated and reflect real world experience - whether you like that or not.

Students asked for more Joel so we have more Joel this term. If it's too much we'll back off.

Sometimes Joel can come over a little jaded but you gotta love him. 

Hey, a certain about of  cynicism and attitude needs to be demonstrated to get your hackers badge from me at the end of term, and reading Joel and Eric
will help enormously.

Week 1  

Wednesday - The Tale of J. Random Newbie (2 pages), chapter 16, section 1 of The Art of Unix Programming, Eric S. Raymond.

Friday -
Biculturalism, (3 pages), Joel Spolsky

Week 2  

Wednesday - The Joel Test: 12 Steps to Better Code, (9 pages), Joel Spolsky

Friday - Philosophy (15 pages), chapter 1 of The Art of Unix Programming, by Eric S. Raymond.

Week  3

Wednesday - The Perils of JavaSchools,
(6 pages),  Joel Spolsky

Friday - Strategy Letter I: Ben and Jerry's vs. Amazon, (7 pages), Joel Spolsky

Week  4

Wednesday - Searching the Web, ACM Transactions on Internet Technology (TOIT), Volume 1, (39 pages),  Issue 1  (August 2001), 
Arvind Arasu, Junghoo Cho, Hector Garcia-Molina, Andreas Paepcke, Sriram Raghavan (Stanford University)

Friday - Painless Functional Specifications - Part 1: Why Bother?, (6 pages), Joel Spolsky

Week 5  

Wednesday -  Painless Functional Specifications - Part 2: What's a Spec?, (4 pages), Joel Spolsky

Friday - Craftsmanship, (4 pages), Joel Spolsky

Week 6

Wednesday -  Painless Functional Specifications - Part 3: But... How?, (4pages), Joel Spolsky

Friday -
Fire And Motion, (5 pages), Joel Spolsky

Week 7

Wednesday -  Painless Functional Specifications - Part 4: Tips, (6 pages), Joel Spolsky

Friday -
The Law of Leaky Abstractions, (5 pages), Joel Spolsky

Week 8

Monday - Things You Should Never Do, Part I, (5 pages), Joel Spolsky

Since we love Joel's views in this class here is a talk he gave at google.