Contents
|
Becoming a MajorQ. How do I become a COS major? A. You should make an appointment to see your class advisor (see the list of advisors). Take two copies of the Course Enrollment Worksheet to this meeting as well as a copy of your course history printout (Go to SCORE>Student Center>My Academics>View My Course History). After the meeting, you will need to leave the course history printout and one copy of the Course Enrollment Worksheet with Colleen Kenny-McGinley in CS 210. It is also a good idea to read through this website. It has a ton of great information on frequently asked questions. Q. Do I need to make an appointment to see a dep rep to become a major? A. No. Make an appointment to see your class advisor. The class advisors can sign all the forms you need to have signed, even if the forms say it must be signed by a dep rep. (On this issue, the class advisors act as dep reps.) If you're not sure who your class advisor is, see here and click on the make appointment link. If you are still having problems or need help, ask Colleen Kenny-McGinley, <ckenny@cs.princeton.edu>. Q. What if I'm not sure and just want someone to talk to about becoming a COS major? A. No problem! Class advisors are happy to talk to you about what it is like to be a COS major and about the (minimal) differences between AB and BSE programs (also, keep reading below). Just make an appointment with the appropriate class advisor. Current COS majors are also a great source of information -- they are very friendly and we recommend you talk to them about what it is like to be a COS major. The undergrad home page has a section that lists a bunch of different groups of people you can talk to: PWICS (Princeton Women In Computer Science), the CS Undergrad Council and the ACM Student Group. These groups also set up fun get-togethers from time to time. Finally, keep reading -- this guide has lots of useful info in it. There is also a little information on the major choices web site. 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 people at the bottom and the most official information comes from those at the top. 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 listed on the undergrad home front page. There are two COS Departmental Representatives. Brian Kernighan (room 311, bwk@cs) is the departmental representative for pre-majors, non-majors and study abroad. So, if you are a freshman or someone else who isn't yet officially a COS major, but you need information about the COS program you should either see Brian or the appropriate COS class advisor. If you know that you are definitely going to transfer in to COS from a different discipline, you should see the appropriate class advisor -- they will want to get to know you and will need to sign off on your degree program. COS class advisors can sign the official form to let you in to the major. You do not need to see a dep rep to do that. If you are interested in inquiring about study abroad possibilities, you should also see Brian Kernighan. If you are already a COS major, and have an issue that you do not think your class advisor can or should handle, you should see David Walker (room 211, dpw@cs) -- the only exception is study abroad (see Kernighan). Finally, this guide is a wealth of information --- please read it. David Walker is the current guardian of the rules 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 Szymon Rucinkiewicz is the Associate Chair; between them, they have all the official answers. Q. When's the best time to see my advisor? A. Your advisor has a web calendar. See the list of advisors and click on the link to make an appointment. If none of the times work for you, you can make an appointment most easily by email. 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 e-mail list for CS majors and often send announcements and reminders by mail. Also, every CS major has a mailbox on the 2nd floor of the Computer Science Building directly across from the "Tea Room". There is also a bulletin board there for announcements for undergrads. Colleen Kenny-McGinley (ckenny@cs.princeton.edu, Room 210) is the Undergraduate Coordinator and has copies of information relevant to undergrads. She is also a great person to answer many questions you might have on the logistics of how the department works. Q. How do I decide whether I should be a BSE or an AB? A. It doesn't much matter. The AB program and the BSE program each require 3 prerequisites 126, 217, 226), at least MAT 200, 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) For the AB program you have to take a language and distribution requirements; for the BSE program, you have to take more math, physics and chemistry and slightly fewer distribution requirements. (BSE's must take physics and chemistry; AB's can take any lab science.) 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 lingua Latina scribetur, ergo nemo eam poterit legere. Plurimi adhibentes probabunt aequaliter gradum 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 (multiple times!) from one to the other just by filling out a form.
Basic Requirements and DepartmentalsQ. What's the bottom line? A. Here are the basic rules:
Q. What courses at Princeton University count as a COS departmental? A. Any COS course at the 300 or above level counts as a COS departmental (except independent work, see below). In addition, any 300+ level Math or ELE or Physics or ORF course that does not duplicate COS content, MUS 314 (PLORK, with the programming precept), Philosophy 312, MAE 345, CHM 303, ECO 312, and MOL 437 count as departmentals. On occasion, special courses with computational content from other departments may fall in to this category. Note that it is very, very, very rare for courses outside the computer science department that are not cross-listed with the computer science department to count as track-specific (ie: Theory/Systems/Applications) departmentals. Hence, in general, you will not be able to count more than 2 courses outside of the computer science department as COS departmentals. Q What courses count more specifically as a Theory/Systems/Applications track departmental? A. Theory: COS 340, 423, 433, 441, 445, 451, 487, 488 * In the class of 2014 and earlier COS 342/MAT 306 satisfies the theory requirement. Beginning with the class of 2015, COS 342/MAT 306 will no longer satisfy the theory requirement. It will be considered a departmental, just not a theory-category one. * COS 495, Special Topics, is a departmental but may be associated with different tracks depending on content. In Fall 2011, COS 495 Autonomous Robot Navigation (Also ELE495) counts as an applications departmental. 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. Q. Can courses outside the COS department, such as ORF 309 count as area-specific departmentals (ie: theory, systems, applications)? A.
No. They count as one of your 8 "generic" departmentals but not one of the
area-specific ones. We want to be sure that you have a good core CS
background. 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 take departmentals and prerequisites pass/D/fail?
A.
No. You must take departmental prerequisites such as Math
103-104-200/202/204 and COS 126-217-226 (and physics and chemistry and
MAT 201/202 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.
This is also true of any grad courses that you wish to count as
departmentals.
Q. When courses are typically offered? Normally
offered every semester:
Q. I did a lot a programming in high school, so do I have to
take 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 who
have taken the AP CSB exam and scored a 5 can ask to be placed directly in
to 217 or 226. Alternatively, students who have not taken that exam
but feel they should be placed
directly in to 217 and 226 should set up an interview with
Kevin Wayne
(room 207, wayne@cs.princeton.edu).
Q. I need the AP CS-B exam to place
out, but the College Board hasn't offered that exam
for years now! A. See
previous question for placement out of 126. Q. I did no programming at all in high school, so doesn't
this put me at a disadvantage in 126?
A. Not at all. The instructors in 126 expect to have
students with a wide range of programming experience, and organize
precepts accordingly. Much of the material in 126 will be new to
everyone.
Q. I took Integrated Science (ISC) in the
Fall this year, but I decided not to continue in the
spring. Do I have to retake COS 126?
A. Please see Kevin Wayne for placement advice and
evaluation. Normally, we try to do whatever is in the student's best
educational interest. One option is placing the student directly into COS
217 or COS 226, if the student is prepared. Another option is taking COS
126 for a grade. (We would accept the programming assignments the student
turned in as part of ISC, or the student could redo these from scratch.) Q. I want to go to grad school, which
courses should I take? A.
If you plan to attend graduate school
in CS to pursue a PhD, you are strongly encouraged
to take (1) a semester of independent work by the
end of your junior year and (2) 300- and 400- level
courses in your area of research interest. (If you
haven't narrowed down potential areas, take classes
in core areas of the curricula, such as 318, 320,
375, 402, 423, and 461). Successful admission to top
graduate programs requires both positive letters of
recommendation from CS faculty (most commonly from
taking independent research) and excellent course
work. Also, see more
questions and
answers below. Q. I did not take any
COS courses in freshman year. Can I still be a CS major?
A.
It is usually possible to major in COS as a BSE or an AB without taking any COS courses
during your freshman year, especially if you have taken some Math. BSEs must
fulfill the standard BSE requirements, which
includes taking math, physics and chemistry, as well
as some distribution requirements. For example, if you took MAT 103 and MAT 104, PHY 103 and PHY 104, and CHM
203 in freshman year, then you can take COS 126 plus one of MAT 200, 202 or 204 in the
sophomore fall, and 217 and 226 in the spring. After that, you're
on track to take 8 departmentals (two each semester) and a semester of
independent work during your senior year.
ABs must fulfill the standard AB requirements.
ABs must also take enough Math. MAT 103-104
must be completed by the end of the sophomore year.
MAT 200 (or 202 or 204) should be completed
by the end of the sophomore year, but can be
deferred under very unusual circumstances until the
fall semester of the junior year. Q. I'm a
spring-semester sophomore. By the end of the
spring semester, COS 126 will be my only COS course. Can I still be a CS major?
A.
It is incredibly difficult to become a COS major if you have taken COS 126 and
no other courses by the end of your sophomore year. For these reasons, we
urge you that if you have even the slightest interest in COS as a major, take
COS 126 and at least 1 of (if not both of) COS 226 and 217 by the end of your
sophomore year. In fact, we think it would be great if every student in
the university took COS 126 by the end of the fall of their sophomore year so
you all know what COS has to offer and how much more of it you would like to
take (whether or not you want to become a COS major). If you are a BSE, you
should have the math background already (MAT 200,
202 or 204). In your first semester in junior
year, you would probably take COS 226, COS 217 and
either COS 323 or COS 340. This is an
extremely difficult load -- many students find doing
both COS 226 and COS 217 simultaneously very
difficult. Very few students can handle the
even tougher load of COS 226 and 217 in conjunction
with 323 or 340. Many students, particularly
those with weaker math background, find COS 340
alone very challenging. Do not plan on having
any life outside of computer science if this is the
path you choose. If you can manage to get
through that semester, you will still need to take 7
COS departmentals in the final 3 semesters at
Princeton and you will also need to do one semester
of independent work on top of that. If you
plan to attempt this course of action, make an
appointment to see a dep rep (see
here) and come with a full
schedule of every COS course you plan to take
(assume the COS schedule is the same as it has been
the last few years). Only students with
excellent performance in 126, exceptional reasons,
motivation and other background will be allowed to
pursue this kind of curriculum. If you are an AB,
the path is even more difficult than if you are a
BSE. On top of all the hurdles above, you will have
to do 2 semesters of junior independent work and a
senior thesis. The junior independent work
requirement is the most difficult requirement to
fulfill if the student has only taken COS 126 by the
end of the sophomore year. There are very few
projects that a COS major can engage in that satisfy
the junior independent work criteria with so little
experience. Entry in to the COS major at this
point as an AB will only be allowed under truly
exceptional circumstances. On top of
demonstrating excellence in COS 126 and perhaps
other computing background, having sufficient
background in math (MAT 200, 202 or 204), having
exceptional reasons for making this late change, and
exceptional motivation, the student will have to
demonstrate that he or she has a satisfactory idea
for junior independent work in advance, the
background to implement the idea, and a faculty
advisor willing to supervise them. Because this
program is so difficult to achieve, we recommend
that almost all students in this situation do the
Applications
in Computing Certificate. This way, you
can load up on as much COS as you can reasonably
fit in to your schedule, but you are not constrained
by the specifics of the COS Major requirements. 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) or independent work that incorporates computing in
some way. See the director of the program,
Szymon Rusinkiewicz (room 406).
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. 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 340 before your junior year if you can manage it.
(However, you need Math 104 before taking COS 340.)
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.
(And a bit of fine print for BSE's: you can't satisfy your
computer proficiency requirement with a course at another school; it has
to be through AP credit or COS 126 or higher.)
Q. If I get a D in a course, can it still count as a departmental?
A. Yes.
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 375 and 475 are taught by faculty in CS
and EE.
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.
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,
the registrar and the CS department keep track for you.
Q. What courses should I take in my first two years?
A.
You should take 126, 217 and 226, freshman writing seminar, as well as
your math, physics, and chemistry (BSE), or language and science (AB).
BSE's can take chemistry as sophomores.
Q. Should I take 217 or 226 first?
A.
It doesn't matter. 226 and 217 are both offered both semesters. Take
them in either order, but watch out for conflicts with critical courses
in other departments, notably physics. You can take them at the same
time, but that's likely to be a heavy load.
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 340 in the fall of your sophomore year, or COS 306
in the spring.
Q. What's my GPA?
A. There is no single answer. The university computes a GPA
over all graded courses. The department looks at combinations of departmentals,
technical courses, and independent work, as described in the next section.
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. The faculty look at a student's academic
achievements at Princeton holistically when deciding on 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 and vice
versa.
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, including a
thesis if desired; the extra semesters count as a regular course.
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
Mona Singh
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 Professor Singh.
Q. I have a great independent work idea that will make me
rich and famous. Does the university own it?
A.
According to the
University's rules, you own the copyright in the software you write (and
your research papers and works), except in circumstances that rarely apply to
undergraduates, such as support by federal research grants. In principle the
University could claim ownership of patents you might file. So far as we know,
the university has never claimed ownership of any independent work done by
undergrads. Q. Can I continue my summer project at Yagoosoft Corp
as independent work?
A.
We strongly discourage undergraduates from undertaking independent work
that is subject to confidentiality agreements with third parties or
other similar restrictions, because it may violate University policy and
it might limit the scope or nature of your future research at Princeton
and elsewhere.
Before entering into any such agreement, you must get an opinion about
the intellectual property issues from the
General Counsel's office
and the
Office of Technology Licensing.
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, bring that university's course information to
Brian Kernighan, COS Dep Rep
for Study Abroad to see if there are
any courses that could substitute for one of your CS departmentals. If
independent work is involved (e.g., for AB juniors), you will need to
find a faculty advisor here, either as the direct advisor or as someone
to assess work done for someone at the far end. You can take a year
abroad as well, but this is more complicated, mainly because you have to
find more technical courses that can count as departmentals. In any
case, if you plan to study abroad, start planning early.
Q. Should I take a semester
abroad? A. Quite
possibly. Princeton alumni 10 years past graduation
look back on their study abroad as one of the best
parts of their undergraduate experience. Q. What about the undergraduate council?
A.
The Computer Science Undergraduate Council looks after your interests and
provides feedback to the faculty about student interests and needs. They have
their own website
with lots of great information you should check out. Q. I've heard about Lab TAs. How do I get involved with that?
A. The department often needs student lab TA's and
grading assistants for courses
like COS 109, 116, 126, 217 and 226; see the head TAs,
Mike Franklin '13 and
Emily Lancaster '12
who coordinates this. Huge thanks to Emily Lancaster '12 who is about to
leave us and has done such an incredible job over the last 2 years! Q. Are there other jobs for people with computing background during
the academic year?
A. During the semester there
are various jobs on campus for computer science majors. OIT needs helpers
trained in computing. And there are research projects in other departments that
wish to hire students with programming skills. A. Some professors hire
students to work on research or teaching projects. Also, we receive inquiries
from companies seeking to hire undergrads for summer internships. Q.
Is there life after computer science at Princeton?
A. Probably.
Very roughly, 1/4 of each graduating class goes to grad school, 1/4 to computer
companies or startups, 1/4 to consulting firms or financial institutions, and
the rest disappear without leaving forwarding addresses. Many come back for
reunions, however, so we know they are alive. A.
Both. As when you applied to college, you should maximize your options, then
make an informed choice at the appropriate time.
Q. I really
think that I need to get a job. How can anyone afford to keep going to school at
these rates?
A. Graduate school in computer
science doesn't cost anything; all the top schools give you a research
assistantship or a teaching assistantship that covers full tuition *and* pays
you a monthly stipend for living expenses. Salaries for people with advanced
degrees in C.S. are not necessarily that much higher than what you might earn by
just going directly to work with an A.B. or B.S.E. and getting career
advancement and raises. The reason to do it is not just that you would have a
different kind of career---in industry you'd have more choice about what kind of
work to do, or you might go into academia---but also that it would better
prepare you (as does Princeton) for a lifetime of teaching and learning.
Q. Can you help me apply to grad school?
A.
Sure. Everyone on the faculty went to grad school, knows people who are seeking
good grad students, and has opinions on numerous schools. Since they all were
relatively successful at grad school (they wound up here at Princeton), they'll
all tell you that grad school is a fantastic experience and will be happy to
provide specific advice. As when you applied to college, you should do some
thinking about where you might want to spend the next 5+ years and what schools
might be a good fit for you. There is plenty of good information online. In
particular, Clay Bavor '05 has written an excellent
Guide to Applying to Graduate School; check out the advice there.
Q. Can you help me find a job?
A. You
should check for job announcements on the CS ugrad bulletin board, and you
should work with
Career Services, since most
companies prefer to take applications that way. But you also should be proactive
using the web and taking advantage of any information you can find. One of your
best resources is likely to be a friend or acquaintance who has a job or
recently applied for one at a company you might be interested in. Many companies
explicitly take advantage of such connections by sending recent alums as
recruiters. If a recent graduate from Company X is giving a talk at Princeton,
you can bet that there will be an opportunity to talk to that person about a job
at Company X. By the way, once you've navigated the minefield, maybe *you* could
help some future grad find a job---we could use a Guide for Job Seekers like the
one for grad schools referred to in the previous question. The Keller Center for Innovation
in Engineering Education has advice on internships.
The computer science department also has an
industrial affiliates program in which major
companies visit to recruit students. See the
affiliates web pages for more information.
Q. I worked at an internship at an awesome
startup over the summer. Now they want me to
stay on and take a leave of absence from Princeton.
What should I do? A.
This is a difficult and personal question.
Different students in different situations will make
different decisions. Here are some thoughts
from some professors assuming that the student is
about to enter his or her junior year.
Andrew Appel:
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.
|