Instructor: Keith Winstein
Class meetings: Monday and Wednesday, 2:15 p.m.–3:30 p.m. in McCullough 122
Office hours: Wednesday, 3:30 p.m.–4:30 p.m. in Gates 282
Piazza: [CS 81N on Piazza]
This course is about dreamers, role models, and the spirit of adventure. Hackers are said to be the soul of computing: playful programmers who think progress is best made by trial and error, guided by the “hacker ethic.” Another view has hackers as nettlesome troublemakers—“computer bums” at best, or maybe just plain criminals. In this class, you’ll decide, by interviewing real hackers about their exploits and learning how to do your own hacks. We’ll study major moments in the fifty-year history of hacking and read from texts including Steven Levy’s “Hackers,” John Markoff’s “What the Dormouse Said,” Andy Hertzfeld’s “Revolution in The Valley,” and Peter Seibel’s “Coders at Work.”
The purpose of the class is to have fun and get a sense of the wonderfully strange and diverse culture of hacking, which has gone from an obscure counterculture to something that megacorporations now consciously try to emulate (witness Facebook’s headquarters at “1 Hacker Way” and every company that hosts a competitive “hackathon”). When I started as a freshman in college, I was fortunate to come in contact with many hacker role models—programmers and engineers who were generally much older than me and who seemed amazing. Some of them were still involved in grand adventures, and some were semi-retired with tales of past glory. My high-school friends urged me to “pick their brains” instead of being intimidated, and I tried to follow that advice. I still try to live up to their examples today. Having access to role models turned out to be a great benefit, and I would like to use this class to try to repay that!
The main activities of CS 81N will be:
The class will be graded 50% based on the interview, 25% based on in-class participation, and 25% based on written responses to readings. There will sometimes be recreational programming and other laptop activities during class, but please no unrelated computer use during the class. Class attendance is required.
Date | Contents |
---|---|
Monday, March 30 | L1 Intro to the course. Recreational programming with Racket. |
Wednesday, April 1 | L2 Before class Please read Hackers, chapters 1–4 (PDF available on Piazza), and write a quick response on Piazza. In class Video from today’s class |
Monday, April 6 | L3 Before class Please read Hackers, chapters 5–7 and Appendix A. Please download and install Racket on your laptop computer and please bring it to Monday's class. (If you do not have a laptop or encounter difficulties, please email the instructor or post in Piazza.) |
Wednesday, April 8 | L4 Before class If you haven't already, please read Hackers, chapters 5–7 and “The Last True Hacker” (chapter on Richard Stallman near the end of the book). Please also read this interview with Margaret Hamilton, who is depicted in the Levy book as a sort of anti-hacker. (She led the software team on the first moon landing and was the first to coin the term “software engineering.”) Write a quick response on Piazza. In class Video from today’s class |
Monday, April 13 | L5 Before class Please read the famous essays (1) The Rise of Worse is Better and (2) The Inner Ring and come to Monday’s class prepared to discuss them. |
Wednesday, April 15 | L6 Before class Please start reading Neal Stephenson’s In the Beginning was the Command Line. Write a quick response on Piazza. In class Video from today’s class |
Monday, April 20 | L7: hacker visit Bill Gosper Before class Please read (1) Martin Gardner’s original essay on Conway’s game of Life and (2) the Wikipedia entry on the game. |
Wednesday, April 22 | L8 Before class Please continue reading “In the Beginning was the Command Line,” at least until “Geek Fatigue”. In class Video from today‘s class |
Monday, April 27 | L9: hacker visit James Harvey Before class Read Interviewing Principles and any two chapters from Coders at Work.” On Piazza: submit two names of people you would like to do a “practice interview” with (first choice and second choice). Write one high-quality paragraph about why each person interests you, and what you hope to learn (e.g. mystery solved, truth uncovered, experience shared) by interviewing them. |
Wednesday, April 29 | L10: hacker visit Jennifer Granick Before class (1) Attempt to make contact with your first-choice “practice interview” subject, either by sending a short (3-sentence!) email, or making a telephone call. Try to schedule a 30-minute interview some time in the next week. Be prepared to record the interview. (2) Read Jennifer Granick’s account of “Ciscogate”: Part 1 and Part 2. |
Monday, May 4 | L11: hacker visit Mel Chua Before class Please read (1) Mel Chua‘s What Is Engineering? and (2) Psst: wanna eavesdrop on my research?, and (3) Keith‘s interview with Jack Valenti (2004). |
Wednesday, May 6 | L12: hacker visit Andy Hertzfeld Before class Read any five stories from “Revolution in the Valley” (read more if you like!). By end of day Wednesday Conduct your recorded “practice interview.” |
Monday, May 11 | L13 Before class Turn in the edited, final version of your “practice interview.” We will discuss and critique the practice interviews in class. |
Wednesday, May 13 | L14: hacker visit Bob Hearn Before class On Piazza: submit two names of hackers you would like to interview for the final assignment (first choice and second choice). These can be anybody you feel embodies the hacker spirit, including our class visitors and those we have read about. Write one high-quality paragraph about what you hope to learn and convey to the reader. |
Monday, May 18 | L15: hacker visit Bunnie Huang |
Wednesday, May 20 | L16: hacker visit Amy Smith |
Monday, May 25 | no class |
Wednesday, May 27 | L17: hacker visit Karen Marcelo |
Monday, June 1 | L18 Before class Turn in the edited, final version of your interview. We will read some of the interviews in class. |
Wednesday, June 3 | L19 More interviews, and wrap-up. |