
Computer Science

Photo: Chris Triolo
People sometimes confuse computer science with computer programming, but CS majors soon find that CS is much more than programming (though programming is still a lot of fun for most of us). The computer science major (whether AB or BSE) is uniquely flexible. Some of our majors want to create programs and systems that change the world; many end up in Silicon Valley. Others like the theory of computation and the new fields of mathematics it has opened up. We encourage our majors to explore other departments and disciplines, so students apply computing in areas like genomics, music, art, robotics, economics and psychology. Independent work provides an opportunity to work closely with individual faculty members on topics of significant technical and social interest, like electronic voting, artificial intelligence, and neuroscience. In all, computer science is good preparation for careers in many fields, since professionals who understand computing are far more effective in their work. Many of our majors go on to graduate school, most often in computer science, of course, but also in law, medicine, and business. Some continue with software development, others go into consulting or management, and every year a handful start their own companies.
What Students Say
• What is Computer Science?
• What can you learn from it?
• What is it like being a Computer Science major?
• What are common misconceptions about Computer Science majors?
• What kind of internships and international experiences have majors had?
• How will Computer Science majors save the world?
• Why would anyone want to date a Computer Science major?
"We could program before we could talk." This is only true for the 13% of us who spoke our first words to fellow programmers at Princeton (typically "floating" and "point").
Computer scientists are integral to virtually every business in the modern world. That means that there's a demand for us in everything from finance to politics to bioengineering. Of course, traditional computer companies such as Google and Microsoft pay special attention to us, and a large number of CS majors end up interning and/or working for companies like those. We typically have excellent job placement rates and starting salaries—in fact, we often have the highest average starting salaries of any major at Princeton.
Who builds the latest techno-gadgets for Batman? Who hacks the alien computer systems when they're about to take over the Earth? Who does Jack Bauer turn to when he's out of options?
• What can you learn from it?
• What is it like being a Computer Science major?
• What are common misconceptions about Computer Science majors?
• What kind of internships and international experiences have majors had?
• How will Computer Science majors save the world?
• Why would anyone want to date a Computer Science major?
Computer science is the systematic study of information and our interaction with it. What energy is to physics, information is to computer science. It is about how we represent it, how we store it, how we manipulate it and how we present it. At Princeton, we reduce these challenges into three sub-categories: computational theory, information systems and the applications of computing.
The theoretical aspect of the field concerns itself with information-handling processes, or algorithms. We consider the algorithmic implications of different ways of compressing and summarizing data (think: a bar graph vs. a pie chart). We study the most efficient ways to attack specific problems. And we consider whether classes of problems, by their very nature, defy optimal solutions.
We design integrated systems like Microsoft Windows, microprocessors and cell phones. These provide basic frameworks for us to deploy algorithms.
Finally, we write software, applying algorithms, data structures and information systems to complex problems—everything from curing cancer to posting messages on Facebook.
Back to Top
In the introductory courses, you’ll learn how to write short programs. You’ll get familiar with using them to handle nuanced problems with different types of data, like text data and sound waves. You’ll build gravitational simulations of the universe, write systems to determine whether Sarah Palin sounds more like Obama or McCain, and predict protein function from DNA. And you’ll start to get a sense of the theoretical challenges of algorithm design. For example: Is it possible to develop a method to plan out a college campus paper delivery route that’s guaranteed to always predict a faster route than any route-generating method that could exist (for any college campus)?
Whether you're a theory person, a systems person, all about apps or just passing through, you’ll learn strong techniques in solution design. You'll learn how to think through problems in computational terms; how to identify and exploit the properties of the information and tools you have to solve them; how to determine whether the solutions you develop actually work (it's often non-obvious—just ask Microsoft); how to make those solutions efficient; and how to deliver them in ways that people can actually use.
Back to Top
What is it like being a computer science major?
All majors have to take at least two courses in each of the theory, information systems and applications tracks, two additional departmentals and their respective independent work requirement. What people focus on beyond that is really up to them. Some people abandon programming, take a lot of math courses and focus on theory. Some people develop electrical engineering alter-egos and work on computer hardware. Some focus their studies on particular applications in other disciplines, like music, economics, or psychology.
All majors have to take at least two courses in each of the theory, information systems and applications tracks, two additional departmentals and their respective independent work requirement. What people focus on beyond that is really up to them. Some people abandon programming, take a lot of math courses and focus on theory. Some people develop electrical engineering alter-egos and work on computer hardware. Some focus their studies on particular applications in other disciplines, like music, economics, or psychology.
We have an unbelievably diverse list of electives. For departmental credit, we can study eBay in "Internet Auctions", write wired programs on electronic chips in "Logic Design", study the Internet in "Computer Networks", make music on the fly in the "Laptop Orchestra", make machines think in "Artificial Intelligence" or take "An Introduction to Genomics and Computational Molecular Biology". The strong interdisciplinary emphasis means that a lot of CS majors see themselves as "CS and something else".
The independent work experience is really different from other departments. Chances are, in order to write your JP, you'll write a lot of code. The department seems to use the JP as a long-term investment in future researchers—and for free, nontrivial labor for vast, complex research problems. But the nature of the department is such that you can totally go up to a professor and say, "I want to write my thesis on Paris Hilton's face"—and pitch an idea on non-tag-based image searching.
There's a strong emphasis on presentation. Once you have a topic, you present a formal, 10 minute PowerPoint proposal, with a 5 minute Q&A session at the end. This is your first JP grade. You get a second grade for your mid-point paper, which you hand in a couple weeks after the semester break. It's a one- to two-page description of what you've done, with an indication of how often you've seen your adviser and his/her thoughts/feelings about your progress. This is your second JP grade. In the 12th week, you present your work and preliminary results either in a department-wide poster session or with another oral presentation for a smaller audience. This is your third JP grade. Finally, you write a 20-25 page paper, which will determine your fourth, most important grade. The thesis is exactly double the JP, with a similar set-up stretched out over two semesters.
The cool thing about this process is that it keeps you on your toes. It's virtually impossible to write a JP or thesis overnight. By the time you come to make your proposal, two to three weeks into the semester, you have to have a solid handle on your topic, have done some background research and have put together a plan of attack. If your paper is mostly theoretical, you might not have to write a lot of code or do much experimentation; for applications projects, you'll need to start early so you have some hard data to work with in your paper. Luckily, the coding part of the project also tends to be a lot more fun than the dusty research that other majors have to put up with.
"We could program before we could talk." This is only true for the 13% of us who spoke our first words to fellow programmers at Princeton (typically "floating" and "point").
"We can reverse program the vat that your brain is in." (we're not telling)
"We speak Klingon." Seriously, if we wanted to be über-geeks, we'd be physics majors. We can't recite The Return of the Jedi verbatim. We don't know the value of pi to 6349 decimal places. And we don't care what the effect on real estate values in Buffalo would have been if second-tier pensions in Bali had been indexed against wage trends in the Saskatchewan prairies at the height of the peanut oil price bubble in southern Turkmenistan. We don't even know what most of those words mean. We're computer scientists: we don't care about the specific value of anything.
"We are Klingons." This is a sordid rumor perpetuated by jealous comp lit majors.
"We spend twenty-three hours a day programming." Many of us are perfectly normal. We eat. We have been known to sleep. And we bench press up to a third of our body weight. Three of us have lesser halves (completely consistent with Princeton rates). We have great fashion sense. And we love Brian Kernighan, America and our moms (in that order).
Computer scientists are integral to virtually every business in the modern world. That means that there's a demand for us in everything from finance to politics to bioengineering. Of course, traditional computer companies such as Google and Microsoft pay special attention to us, and a large number of CS majors end up interning and/or working for companies like those. We typically have excellent job placement rates and starting salaries—in fact, we often have the highest average starting salaries of any major at Princeton.
Back to Top
Who builds the latest techno-gadgets for Batman? Who hacks the alien computer systems when they're about to take over the Earth? Who does Jack Bauer turn to when he's out of options?
That's right, ladies and gentlemen, computer scientists are the power behind the throne, the real heroes in the ongoing war against super-villainy.
