Tue Sep 22 07:33:23 EDT 2009
Q. What's new?
A.
TRA 301/COS 401, Introduction to Machine Translation, offered in Spring 2009, counts as an applications departmental.
Q. What's the bottom line?
A.
Theory: 340, 342 (MAT 306), 423, 433, 441, 451, 487
Systems: 306 (ELE 206), 318, 320, 333, 375, 425, 461, 475
Applications: 323, 325, 402, 424, 426, 429, 432, 435, 436, 444, 455, 479
By the way, if you're reading this on paper, you might take a quick look at the online version at http://www.cs.princeton.edu/academics/ugradpgm/life.php in case there are changes.
Q. What are the best sources of information about
the computer science department?
A.
| Class | Degree | Advisor | Office | Phone | |
|---|---|---|---|---|---|
| '10 | BSE | Szymon Rusinkiewicz | 406 | 8-7479 | smr@cs.princeton.edu |
| '10 | AB | David Blei | 419 | 8-9907 | blei@cs.princeton.edu |
| '11 | BSE | Michael Freedman | 308 | 8-9179 | mfreed@cs.princeton.edu |
| '11 | AB | Bob Sedgewick | 319 | 8-4345 | rs@cs.princeton.edu |
| '12 | BSE | Boaz Barak | 405 | 8-0255 | boaz@cs.princeton.edu |
| '12 | AB | Bob Sedgewick | 319 | 8-4345 | rs@cs.princeton.edu |
| '13 | BSE | Andrea LaPaugh | 304 | 8-4568 | aslp@cs.princeton.edu |
The Departmental Representative, Brian Kernighan (room 311, bwk@cs.princeton.edu), is the guardian of the rules as they've evolved through the years, and the keeper of this document. If your class advisor is unavailable for an extended period, the Dep Rep can sometimes answer your questions and sign add/drop forms. Finally, Andrew Appel is the department Chair and Vivek Pai is the Associate Chair; between them, they have all the official answers.
Q. What are the department's course requirements?
A.
If you are an AB, you must satisfy the requirements of West College (language requirement, distribution requirements, etc.; see the Undergraduate Announcement) and take Math 103-104 and 200 (or 202 or 204), and COS 126, 217, and 226 as prerequisites for the major. In addition, you must take 8 departmentals. Lastly, you must do two semesters of junior independent work and a senior thesis.
For both AB and BSE, there are three informal tracks -- theory, systems, and applications -- and you must take at least two courses in each of these tracks. The tracks are as follows:
Theoretical computer science:
340 Reasoning about Computation
342 Introduction to Graph Theory (MAT 306)
423 Theory of Algorithms
433 Cryptography
441 Programming Languages
451 Computational Geometry
487 Theory of Computation
Systems:
306 Introduction to Logic Design (ELE 206)
318 Operating Systems
320 Compiling Techniques
333 Advanced Programming Techniques
375 Computer Architecture and Organization (ELE 375) [formerly COS 471]
425 Database Systems
461 Computer Networks
475 Computer Architecture (ELE 475)
Applications:
323 Computing for the Physical and Social Sciences
325 Transforming Reality by Computer
402 Artificial Intelligence
424 Interacting with Data
426 Computer Graphics
429 Computer Vision
432 Information Security
435 Information Retrieval, Discovery and Delivery
436 Human-Computer Interface Technology
444 Electronic Auctions
455 Introduction to Genomics and Computational Molecular Biology (MOL 455)
479 Pervasive Information Systems
COS 495, Special Topics, is a departmental but may be associated with different tracks depending on content. Other one-time courses like the Princeton Laptop Orchestra (COS 414, 314), and The Efficient Universe (345) are also departmentals and may count in one of the tracks depending on level and content; 314/414 is Applications and 345 and 347 (Quantum Physics, Qubits, and Nanoscience, Fall 2007) are Theory. QCB 301 is an applications course.
If you plan to attend graduate school in CS, you are strongly encouraged to include core courses that are needed for successful admission to and progress in grad school, such as 318, 320, 340, 423, and 375.
Q. Can I take departmentals and prerequisites pass/D/fail?
A.
Q. I did a lot a programming in high school, so do I have to
take 126?
A.
Q. I did no programming at all in high school, so doesn't
this put me at a disadvantage in 126?
A.
Q. I'm a sophomore and I just discovered CS. Can I still be a CS major?
A.
It's even possible to pull this off if you don't discover CS until halfway through your sophomore year, again if you have done the math, physics and chemistry. Take COS 126 in your sophomore spring, then do 217 and 226 and three 300-level courses as a junior, leaving five departmentals and independent work as a senior. (We didn't say it would be easy, but it is possible.)
It's also possible to do this as an AB, this time assuming that you can manage your language and distribution requirements and have taken MAT 103 and 104. Then you can take one of MAT 200, 202 or 204 as a sophomore, along with 126 in the fall and 217 and 226 in the spring. After that, you're on track to take 8 departmentals (two each semester), two junior independent work projects, and your senior thesis.
It's barely possible to pull this off if you don't discover CS until halfway through your sophomore year, again if you have done enough math, say MAT 103. Take 126 and MAT 104 in your sophomore spring, then as a junior do 217 and 226, MAT 200, four 300-level courses and two JPs, leaving four departmentals and a thesis as a senior. (This is feasible but exceedingly tight.)
Q. I like computers, but I'd rather major in something like History
or Mechanical Engineering.
A.
Q. I'm a Computer Science major, and I'm interested in
Applications of Computing too. Can I do the CS major and also the
certificate program?
A.
Q. How do I decide whether I should be a BSE or an AB?
A.
Q. Doesn't that make the AB and BSE programs more similar than different?
A.
Q. Doesn't it matter whether my diploma has AB or BSE written on it?
A.
Q. Say what?
A. Oh, sorry. Your diploma will be written in Latin, so nobody will be able to tell. Our experience is that employers and graduate schools do not care whether you're an AB or a BSE (and most don't understand the distinction).
Q. When do I have to make a final decision about whether to be AB or BSE?
A.
Q. What courses count as departmentals?
A.
Finally, in an effort to allow students to broaden their interests, one departmental may be chosen from the following list: MUS 314 (PLOrk, with the programming precept), ORF 307, 401, and 406, CHM 303, ECO 312, MOL 437, and Physics 300-level and above, if the course is appropriate to the program of the student and the student has the prior approval of the advisor.
CS graduate courses (500-level) typically do not count as departmentals, but there are exceptions; check with the instructor before signing up if this is a major concern.
Bear in mind that if you are thinking of grad school in CS, it's wise to make sure that you take the core CS curriculum as an undergrad. Graduate programs at most schools will be primarily interested in the CS courses you have taken.
Q. Can I take departmentals in my sophomore year?
A.
Q. What about substitutions?
A.
Q. Can I get departmental credit for a course taken at
another school, for example during the summer?
A.
Q. I want to take a CS course that conflicts with a course in another
department that I also want to take. Can you please re-schedule the CS course?
A.
Q. Can I study computer architecture in the EE department?
A.
Students who would like to do independent work in computer architecture should try to take ELE 206/COS 306 in the spring of their sophomore year and COS/ELE 375 in the fall of their junior year.
Q. When do I have to declare which courses are departmentals?
A.
Q. What courses should I take in my first two years?
A.
Q. Should I take 217 or 226 first?
A.
Q. I placed out of some of those math and science courses, so I have
time for more computer science.
What should I do?
A.
Q. What's my GPA?
A.
Q. How are departmental averages computed for awarding honors?
A.
Q. Did you say "senior departmental exam?"
A.
Q. There are often CS graduate students in my upper-level courses.
How does this affect my grade?
A.
Q. If I fail a prerequisite, can I take departmentals that depend upon this
course?
A.
Q. What about independent work?
A.
Independent work is one of the unique features of a Princeton education. Independent projects typically arise either from an idea that excites you or from an idea put forth by a professor in the department. The department maintains a wiki of faculty research interests. This list is a good place to start in looking for a project or advisor. There is also some general advice on finding a topic, an adviser, and a successful outcome here.
Once you have a project, get a form (located on the bulletin board outside the department office) and sign it along with your advisor to let us know what you'll be doing. Your project is then between you and your advisor, but Vivek Pai coordinates all independent work, and schedules public talks, checkpoints, and other requirements. Full information is here.
It is possible to do a project with a faculty member in another department if you have the approval of your advisor or Professor Pai.
Q. I have a great independent work idea that will make me
rich and famous. Does the university own it?
A.
Q. Can I continue my summer project at Yagoosoft Corp
as independent work?
A.
Q. Can I take a semester abroad?
A.
Q. Wh's the best time to see my advisor?
A.
Q. Where can I get more information?
A.
Donna O'Leary (doleary@cs.princeton.edu, Room 210) is the Undergraduate Coordinator and has copies of information relevant to undergrads.
Q. What about the undergraduate council?
A.
| Name | Class | |
|---|---|---|
| Ellen Kim | '10 | ellenkim@princeton.edu |
| Sajid Mehmood | '10 | smehmood@princeton.edu |
| Darren Sri-Jayantha | '10 | dsri@princeton.edu |
| David Yang | '10 | davidy@princeton.edu |
| 2011 TBD |
Q. How do I apply to grad school?
A.
Q. What about clown school?
A.
Q. Can you help me find a job?
A.
OIT needs helpers trained in computing. And there are research projects in other departments that wish to hire students with programming skills. Over the summer, some professors hire students to work on research or teaching projects. Also, we receive inquiries from companies seeking to hire undergrads for summer work as well as after graduation. (For jobs after graduation, most companies go through Career Services; this is also a place to look for summer jobs.)
Donna O'Leary posts job announcements -- term-time, summer and post-graduation -- on the undergraduate bulletin board on the first floor. If you are interested in employment, check the bulletin board and the web site on a regular basis, or come by the Undergraduate Office (room 210) to see what's available.
The Keller Center for Innovation in Engineering Education has advice on internships.
Q. Is there life after computer science at Princeton?
A.
Q. Why is this Guide so long?
A.