The Culture of Software

1Culture matters

I've never seen a man type so fast.

Xerox executive

I've got this need to program. I wake up in the morning with sentences of a literate program. Before breakfast - I'm sure poets must feel this - I have to go to the computer and write this paragraph and then I can eat and I'm happy.

Donald Knuth

The Experience of Programming

Describe your experience of programming. What goes through your mind? What do you feel?

Some programmers talk about being "in the zone." Have you had this experience?

The grade is pass/fail. More important is the follow-up discussion in which students share their experiences.

2Defining debates

How can we make software that doesn't suck?

Theory is when you know something, but it doesn't work. Practice is when something works, but you don't know why. Programmers combine theory and practice: Nothing works and they don't know why.

Steve McConnell


Alternative History

Write an alternative history of an aspect a computing. What if:

people . . . assume that some committee got it right and presented them with a set of tools or languages, and all they have to do is use it properly. There are amazing stories about where this stuff came from, and what influenced what, and who did what, and what is now considered a mistake, and what should be considered a mistake, but isn’t yet.

Douglas Crockford

Course Topics

Visions of the Future
artificial intelligence, human agumentation, knowledge economy
Theories of Innovation
myths, social construction of technology theory (SCOT)
The Computer Industries
Silicon Valley, mainframes, minis & micros
Science & Computer Science
Popper & Kuhn, theoretical computer science
Software Professionals
programmers, women, engineering, methodologies
Hackers & the Internet
hobbyists, Unix, free software