CS106A: Programming Methodology. This quintessential Stanford computer science course is a source of delight for some and a fountain of pure frustration for others. As an Undecided-But-Definitely-Humanities-Or-Social-Sciences major, I occasionally find myself falling into the latter camp, especially the night before a major assignment is due. Before the relief of handing in a program, comes the agony of trying to finish:
Realizing you slept through your alarm set for 7 A.M. Guess this means your early morning plans to catch up on all of your unread chapters in The Art and Science of Java are going to have to be put on hold.
The assignment is officially due in 24 hours. “That’s so many hours!” you tell yourself, knowing you’ll need to work through all of them if you’re going to submit on time.
You have an hour for lunch between classes. You bring your computer to the dining hall and tell yourself you’ll debug while you scarf down Lag’s thicc pizza and some spinach leaves for “health.” You neither debug your code nor finish your spinach.
You’re finally out of your last class of the day and ready to tackle the two milestones of code that you still haven’t written. You nervously gulp down a latte, preparing to wage war against the human need for sleep.
You head over to the LaIR for extra help, bracing yourself as you get in the line that has already formed to sign up for the help queue. You try your best to ignore the hellish fact that you’re literally waiting in line to sign up to wait in another line.
You’ve successfully submitted a help request form. You’re 17th in line to receive guidance from a section leader. Scanning the area for a free seat among the sea of panicked freshmen, you spy an unoccupied corner — empty except for someone’s leftover take-out box of Panda Express chow mein. Prime real estate. Home sweet home for the next six hours.
The fact that this program isn’t going to write itself has become abundantly clear. What is a parameter? What is a boolean? Is it bad to make everything a private instance variable? You question how Steve Wozniak pulled through. You settle on the idea that he must have had a steady supply of caffeine and carbohydrates.
A section leader has descended to your side like a benevolent angel, and you prepare to throw yourself at their feet. You wonder whether they’re going to make you explain the messy code that you’ve already written to try to set you in the right direction. They do. You cringe. As you run through your faulty program with them, you consider whether or not you have what it takes to be a Real Housewife of Palo Alto.
Right now seems like a good time to buy Hot Cheetos and a chocolate shake from TAP.
Your empty bag of Hot Cheetos mocks you. You submit another help request form, having discovered a seemingly endless stream of bugs that are undoubtedly the result of a lack of decomposition.
With only half a milestone left to complete and your previous bugs taken care of, you’re so close to the end that you can almost taste the sweet relief of submitting your work. The LaIR is closing up, and you wonder if coding while you walk back to your dorm is feasible. You shudder as you realize what you’ve just considered and who you’ve become: a programmer.
Contact Cecilia Atkins at catkins ‘at’ stanford.edu.