Life in the Computer Science Department

A Guide for the Humble Undergraduate - Old Version

Q. What are the best sources of information about the computer science department?

A. As in any organization, the most useful information is available from the people at the lower levels of the organization and the most official information comes from those at the upper levels. Your classmates can tell you the informal rules. If you need more formal information, check with your class advisor, who knows the rules applying to your class and is familiar with your record. Current class advisors are:

ClassDegreeAdvisor OfficePhoneE-mail
'04BSE David August 2098-2085 august at cs.princeton.edu
'04AB Perry Cook 4088-4951 prc@cs.princeton.edu
'05BSE Amit Sahai 4068-0255 sahai@cs.princeton.edu
'05AB Moses Charikar 3058-7477 moses@cs.princeton.edu
'06BSE Szymon Rusinkiewicz 4058-7479 smr@cs.princeton.edu
'07BSE David Walker 4128-7654 dpw@cs.princeton.edu

The Departmental Representative, Brian Kernighan (room 311, bwk@cs.princeton.edu) is the guardian of the official 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 your course cards. Finally, Larry Peterson is the department Chair and Andrew Appel is the Associate Chair; between them, they have all the official answers.

Q. What are the department's course requirements?

A. Here, the answer varies depending upon the degree you are seeking. If you are a BSE, you must satisfy the engineering school requirements (Physics, Chemistry, etc.; see the Undergraduate Announcement) and take COS 126, 217, and 226 as prerequisites for the major. You must also take 8 departmentals, which must include COS 306, 341, 423, 471 and one of COS 318, 320 or 333. In addition, you must take one semester of independent work by signing up for COS 397 or 398 in your junior year, or COS 497 or 498 in your senior year. If you take two or more semesters of independent work, one may be counted as a departmental.

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 201-202 (or 203-204), and COS 126, 217, and 226 as prerequisites for the major. Physics 103-104 (or 105-106) are strongly recommended. In addition, you must take 8 departmentals, which must include COS 341 and 423. Lastly, you must do two semesters of junior independent work and a senior thesis.

Q. Can I take departmentals and prerequisites pass/D/fail?

A. No. You must take departmental prerequisites, such as Math 103-104-201-202 and COS 126-217-226, (and Physics and Chemistry if you're a BSE) for a letter grade. You must also take your Departmental courses (300- and 400-level CS) for a letter grade.

Q. I did a lot a programming in high school, so do I have to take COS 126?

A. It depends. There's more to computer science (and more to COS 126) than programming, and there's plenty of material in 126 to interest and challenge even experienced programmers. Nevertheless, students can go directly to 217 and 226 with a score of 5 on the AP Computer Science B exam, or with permission of the instructor.

Q. I did no programming at all in high school, so doesn't this put me at a disadvantage in 126?

A. The instructors in 126 expect to have students with a wide range of programming experience, and organize preceptorials accordingly. Much of the material in 126 will be new to everyone.

Q. I like computers, but I'd rather major in something like History or Mechanical Engineering.

A. Perhaps you should join the Certificate Program in Applications of Computing, which requires four CS courses beyond COS 126, plus a senior thesis (in your home department) that incorporates computing in some way. See the director of that program, Ken Steiglitz (room 421).

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. No. (The same restriction applies to EE majors in the Computer Engineering track.)

Q. How do I decide whether I should be a BSE or AB candidate?

A. It doesn't much matter. The AB program and the BSE program each require 3 prerequisites (126, 217, 226) and 8 departmentals. The differences are: (1) The AB program has 4 semesters of independent work in addition to your departmentals; the BSE program has only one semester. (2) The BSE program specifies 5 of your 8 departmentals; the AB program specifies only 2, so you have a bit more freedom. (3) For the AB program you have to take a language and distribution requirements; for the BSE program, you have to take Chemistry and slightly fewer distribution requirements. (BSE's must take Physics; AB's are recommended to.) See the Undergraduate Announcement for more details.

Q. Doesn't that make the AB and BSE programs more similar than different?

A. Yes.

Q. Doesn't it matter whether my diploma has AB or BSE written on it?

A. Tua diploma in lingua Latina scribet, ergo nemo eam poterit legere. Plurimi adhibetures erunt aequaliter felix cum gradis AB aut BSE.

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. Any time before graduation. As long as you have satisfied the requirements for either degree, you can switch from one to the other just by filling out a form.

Q. What courses count as departmentals?

A. Any CS course labeled above 300 can count except 397, 398, 497, and 498. One of 397, 398, 497, or 498 can count only for BSE's, but only if the BSE student takes at least two of these four independent work courses. Any Math course numbered above 300 can count except courses whose contents duplicate other courses taken. Any ELE course numbered above 300 can count as a departmental, as can Philosphy 312.

Finally, in an effort to allow students to broaden their interests, one departmental may be chosen from the following list: ORF 307, 401, and 406, CHM 303, ECO 306, MUS 312 or 324 (with computer project approved by Professor Cook and not if COS/MUS 325 is counted as a departmental) 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. Yes, and in your freshman year too, and they count towards the number of departmentals you need to graduate. In particular, you are encouraged to take COS 306 or COS 341 before your junior year if you can manage it. (However, you need Math 104 before taking COS 341.)

Q. What about substitutions?

A. We believe that the above list of courses is sufficiently flexible so that further substitutions will be allowed only in extreme situations.

Q. Can I get departmental credit for a course taken at another school, for example during the summer?

A. No. The sole exception will be a course taken during a semester abroad.

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. No. Things conflict; sorry. You should probably make a multi-year schedule, especially to avoid conflicts between required CS courses and required courses in any certificate programs you're in.

Q. Can I study computer architecture in the EE department?

A. Computer Science 471 is required for BSEs. ELE 375 shares lectures with COS 471, but in addition has a hardware lab that satisfies the ABET design requirement; if you are interested in the lab, you should sign up for ELE 375 instead.

Students who would like to do independent work in computer architecture should try to take COS 306 in the spring of their sophomore year and COS 471 or ELE 375 in the fall of their junior year.

Q. When do I have to declare which courses are departmentals? There's a space on my course cards to mark.

A. It is unnecessary to declare a course as a departmental unless it is a non-CS course or it requires approval from your advisor. For "normal" departmentals, it doesn't matter whether you mark that space on your course cards.

Q. What courses should I take in my first two years?

A. You should take 126, 217, and 226, as well as your math, physics, freshman writing seminar, chemistry (BSE), language (AB).

Q. Should I take 217 or 226 first?

A. Either one. 226 and 217 are both offered both semesters. Take them in either order, or at the same time if you like.

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. Well, you could take 341 in the fall of your sophomore year, or 306 in the spring.

Q. How are departmental averages computed for awarding honors?

A. At the end of your senior year, we determine which of the courses you've taken could qualify as departmentals. The eight of these courses in which you received the best grades are then counted as your departmentals. Thus, there is no penalty in taking an extra departmental course in which you might do poorly. Computation of honors is done separately for BSE's and AB's. For BSE's, honors are determined on the basis of grades in the eight best departmentals and independent work. For AB's, the eight best departmentals, the senior thesis, junior independent work, and the senior departmental exam are used. There is no specific formula or numerical score that determines honors.

Q. Did you say "senior departmental exam?"

A. Yes! AB seniors must give an oral presentation of their independent work, at the beginning of the exam period of the spring semester. This is the Senior Departmental Exam.

Q. There are often CS graduate students in my upper-level courses. How does this affect my grade?

A. The department's policy is that grading will be based only on undergraduate performance; the presence of grad students in a course will not affect undergraduate grades at all. We hope, in fact, that these students enrich the course experience for undergrads.

Q. If I fail a prerequisite, can I take departmentals that depend upon this course?

A. Students who flunk prerequisites cannot take departmentals that depend on them under any circumstances. While this policy may appear severe, we adhere to it because of bad experiences under previous policies.

Q. What about independent work?

A. AB's are required to do two semesters of junior independent work and a senior thesis (which takes two semesters). BSE's are required to do one semester of independent work and are encouraged to do more. 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 list of all faculty research interests and a list of projects that excite them.

This list is a good place to start in looking for a project or advisor. 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 Randy Wang coordinates all independent work, and schedules public talks, checkpoints, and other requirements.

It is possible to do a project with a faculty member in another department if you have the approval of your advisor or the Departmental Representative.

Q. Can I take a semester abroad?

A. Yes. This program is administered by the Dean of the College. After you get information about the program from the Dean's office, and you choose a university to study at, see the CS Departmental Representative with that university's course catalog to see if there are any courses that could substitute for one of your CS departmentals.

Q. When are the best times to see my advisor?

A. The best times are during office hours. These times may be posted on your advisor's web page and are available in the department office (room 220). At times when a lot of advising needs to be done (e.g., during course selection), your advisor may schedule additional hours. If there still isn't time available, you can make an appointment to see your advisor at another time. You are encouraged to use e-mail to ask questions, make appointments, etc.

Advisors are busy and some may be annoyed by a steady stream of interruptions. Please try to respect their office hours. You are responsible for deadlines. In particular, if you want to drop a course, you must do so by the 9th week of classes. If you need a signature at the last minute because you procrastinated and your advisor is not available, you will not get help from other faculty members. Choose courses, ask questions, drop courses, etc., in a timely fashion.

Q. Where can I get more information?

A. We have an electronic mailing list which contains every student in the department. We often send announcements and reminders by e-mail. Also, every student has a mailbox in the north hall on the 2nd floor of the Computer Science Building, (directly across from the "Tea Room"). There is also a bulletin board there that the student committee and Departmental Representative use to communicate announcements to undergrads.

Tina McCoy, in room 410, (tmmccoy@cs.princeton.edu) is the Undergraduate Coordinator and has copies of information relevant to undergrads.

Q. What about the undergraduate council?

A. The Computer Science Undergraduate Council (CSUGC) looks after your interests and provides feedback to the faculty about student interests and needs. The 2003-2004 council members are:

NameClassE-mail
Joseph Barillari'04 jbarilla@princeton
Jing Ge'04 jge@princeton
David Silver'04 dsilver@princeton
Clay Bavor'05 cbavor@princeton
Michael Dinitz'05 mdinitz@princeton
Conall O'Callaghan'05 conall@princeton
Phillip Wei'05 pwei@princeton

Q. Can you help me find a job?

A. The Princeton Undergraduate Research Experience program might employ you for the summer.

Also, during the semester there are various jobs on campus for computer science majors. The department often needs student lab TA's for the intro courses like 109, 111 and 126; see the head TA, Candice Hebden '04, who coordinates this.

The computer center (OIT) clinic 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.)

Tina McCoy 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 410) to see what's available.

Q. Is there life after computer science at Princeton?

A. Probably. Very roughly, 1/4 of each graduating class goes to computer companies or startups, 1/4 to consulting firms or financial institutions, 1/4 to grad school, and the rest disappear without leaving forwarding addresses. Many come back for reunions, however, so we know they are alive.

Q. Why is this Guide so long?

A. Whenever the Dep Rep is asked the same question for the fourth time, the answer goes here.


Wed Oct 29 10:33:27 EST 2003