Unsolicited advice on CS independent work (2013)
cs.princeton.edu
cs.princeton.edu
You can take the CS major as either a Bachelor's or an Engineering degree. Princeton requires all Bachelor's students to do two semesters of "independent work" their junior year, plus a thesis senior years. Engineering students have to do one semester of independent work, but they have to take additional courses and have more specific requirements. (The CS BSE degree is currently unique in not requiring a thesis.)
For many departments, junior independent work is a 20ish page research paper you write over the course of the semester either as part of a seminar or one-on-one with an advisor, so the CS independent work is intended to be roughly equivalent in terms of rigor. It's my understanding that most CS students work on a significant piece of software with a writeup at the end of the semester—often (but not always) in a semester on a single topic (eg computer vision, digital audio, etc) junior fall, and one-on-one with an advisor (or in a lab) junior spring. BSE students will often do their one semester of independent work senior year, in either form.
It's often pretty daunting staring at these requirements—and a lot of the onus is on you, the student, to figure out what you want to do and initiate it—so this advice seems to me to be aimed at students starting to plan their independent work.
Don't take this as gospel—I'm actually not a CS major, somewhat ironically, though I have many friends who are. Just hope this helps to contextualize Kernighan's advice.
Do you think that students at prestigious universities are somehow immune to feelings like this? Pursuing your first independent project, especially with high standards, can be daunting for anyone.
I could write 20 pages of a GSCE-standard English literature essay. I couldn't write 20 pages of Princeton-standard English literature essay.
See the difference? Both are 20 pages, but not the same challenge.
"In 1970, Brian Kernighan suggested the name "Unix", a pun on the name "Multics."
His family is from Canada. I had the opportunity to attend a small lecture at U. of Waterloo on "Little Languages" when he was in town in the mid 80's, with about 10 other students. One of my biggest influences.
Some context on the article link. There was a time when CS was a novel area of research. A lot of the experimentation into OS theory was made obsolete by Linux, since you could just tweak an Open Source kernel instead of doing a PhD-length project in schedulers, etc.
(origin of "hello, world" convention)
My manager was complaining about awk within earshot of Peter, making embarrassingly sloppy cheap-shot arguments, and rather loudly. I said to him "You know awk stands for Aho (/me points out window), Weinberger (/me points over at Peter) and Kernighan (/me points down toward Brian's desk), right?" My manager kind of ducked his head and quickly dropped his volume.
I never interacted with Kernighan, but everyone said he was very friendly and surprising humble. Weinberger was always very friendly when I interacted with him in the micro-kitchen, but I never worked on a project with him.
On a related topic, after AOL bought Netscape, many of the "refugees" went to Yahoo. There was one little wing with most of the famous server and HTML pioneers sitting next to each other, including Rob McCool and Laura LeMay.
FYI: awk is fine if you don't have perl installed, but perl is 10x faster, and more amenable to modular programming.
My point: His interests may not align with yours.
It's been about a decade since I attended, but IME I felt there were many undergraduate courses that were competently taught by overqualified luminaries in their fields (meaning, for those examples, you could probably get the same quality education from a much cheaper institution), but Prof. Kernighan's classes stood out as among the 2-3 truly unique and special highlights of a Princeton CS education.
OTOH, there's nothing quite like disappointing professors in their own classes while studying their own eponymous algorithms (sorry Prof. Tarjan... it's not you, it's me).
> Sat May 11 18:00:52 EDT 2013