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:
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:
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