[06-Feb-2009] The CS minor has changed. CS 3220/4210/4220 are no longer required courses for the minor. The requirements for the minor are now:
At least six courses (18 credits) chosen as follows:
1. Required courses
- CS/ENGRD 2110 Computers and Programming
- One of the following: CS 3410 Systems Programming or CS 3420/ECE 3140 Computer Organization
2. Additional courses:
- Four CS courses numbered 3000 or higher with the following exceptions: CS 4999 and seminars are excluded; CS 2800 is allowed.
[30-Jan-2009] Links to the December 9, 2008 Informational Meeting Presentation and the January 28, 2009 Town Hall Meeting Presentation are available. See:
Informational Meeting (December 9, 2008)
Town Hall Meeting (January 28, 2009)
[21-Jan-2009] CS majors may now use ECE 3100 to substitute for ENGRD 2700 in fulfilling the engineering distribution requirement (probability and statistics category).
[19-Jan-2009] Town Hall Meeting: The meeting for all current and prospective CS majors to present and discuss the changes to the CS major is scheduled for Wednesday January 28th, 4:45pm, Upson 315. Link to presentation
The tentative deadline for individual student decisions on whether to use the new rules or the old rules is Feb 16th 2009 for those graduating in May or August 2009, and May 1st for all others who will be in the CS major as of May 1st. (Note that thus, those submitting affiliation applications this semester do not have to immediately decide.) Finalization of the dates and procedural details forthcoming.
[08-Dec-2008] ADDITIONAL change: the "major approved elective" (MAJ) requirement is now "at least 3 credits total" (rather than "a 3+ credit course") to help accommodate classes below three credits.
Thus, various combinations of low-credit courses are now allowed, such as:
- CS 2111 (formerly 212) and a 2-credit CS 4999 [3 credits total] (although note that we may stop offering CS2111 quite soon)
- the OS practicum and C++ programming [4 credits total]
- UNIX tools and advanced UNIX and 1 credit of Chorus (MUSIC 3602) [3 credits total]
Motivation: one aspect of the transition that we were unhappy with was the scarcity of options for CS 2111 to fit under, given that it is a low-level/credit course. After the announcement, Prof. Bala also brought up student concerns with this. In response, we thought even harder about it and came up with this change, which we are satisfied with: it provides another place for CS 2111, helps with vectors that require short courses or an additional practicum, and in general provides more flexibility.
We are genuinely sorry to have not thought of this before, and to make an alteration after the first announcement. But we are glad of the opportunity to address a concern that you and we both shared.
Email announcement of this change will be delayed until we also hear the Engineering College's decision regarding potential substitutions described in the change overview document (we'd like to minimize our bandwidth usage).
[05-Dec-2008] Yesterday, we announced the bare-bones rules-and-regulations aspects of the changes. At the in-person meetings, we will discuss not only on the "what"s but the "why"s. The one-minute summary of the motivation behind the restructuring is that:
The faculty's vision of computer science prompts us to provide the opportunity for students to experience more deeply those areas that they find interesting, while making sure they are well-prepared both in these areas of interest and for the future, in CS and in general.
(But do not fear: we'll talk about the rules, too.)
[04-Dec-2008] The computer science faculty is pleased to announce significant and exciting changes to the major. All current and prospective CS majors may choose to follow either the "new" rules or the "old" rules, and can decide which to follow in early spring. Students applying for affiliation prior to January 30, 2009 should use the old checklists in their applications, for simplicity and so you don't have to worry about the new rules right now.
There will be a formal *Town Hall Meeting* with the CS faculty for all current and prospective majors when classes start in January to present/discuss the changes. More details will be posted here when available.
For those who wish to discuss the changes before winter break, we are holding an *Informal Information Session* on Tuesday, December 9th at 11:30am in 315 Upson Hall. However, we understand that students are currently facing finals, and should focus on their exams; so it is perfectly fine to wait until the Town Hall meeting in January.
A brief overview of the changes to the CS major follows.
- CS 2111 (formerly 212) is not required for either affiliation or graduation.
Instead of 8 core courses (counting CS 2111) and 2 CS 4000+ electives, there are now 5 core courses, 3 CS 4000+ electives and a new CS major -approved elective.
Specifically:
- Scientific computing is not required.
- CS 3810 is not required of student taking CS 2800 in spring 2009 and thereafter because key material is moving from CS 3810 into CS 2800 and CS 4820. CS 3810 is still required of students who completed CS 2800 in *Fall 2008 and earlier*.
- Students must take a third CS 4000+ elective. Note that, for backwards compatibility, CS 3220 and CS 3810 (even if required) are allowed.
- Student must fulfill an additional elective requirement called the 'major-approved elective', which consists of a single 3+ credit course or a combination of courses coming to 3+ credits total. Roughly speaking, all academic courses (inside or outside of CS) count. No PE courses, courses numbered 10xx, or ROTC courses below the 3000 level are allowed.
- Students must take 3 technical electives at the 3000+ level (the old rules were 2 technical electives and 1 math elective). At most one of ENGRD and MATH 2930 may count towards this requirement.
[Potential change: the Engineering College is considering allowing ECE 3100 as a substitute for ENGRD 2700 as an engineering distribution course for CS majors. This request has been unanimously approved by subcommittee but may be rejected by the overall governing body. We expect decisions on engineering requirements for CS majors will be made by the start of the spring semester.
The above list specifies "slots on your graduation checklist". We also require that your overall course selections satisfy the following conditions:
- Students' overall course selections must include a course from the following list, which is comprised of courses in probability and/or statistics requiring significant mathematical background: BTRY 4080, ECE 3100, ECON 3190, ENGRD/ORIE 2700, MATH 4710.
- Students' overall course selections must also satisfy the requirements of at least one *vector*. We are working on certification mechanisms so that employers, graduate schools, and other external entities can recognize vector completion. For instance, we have an inquiry out as to whether vectors can be noted on transcripts - but at the very least we will produce certificates noting vector completion.
Each vector is a collection of courses representing a key "direction of study" within computer science. The current set of vectors, whose requirements are spelled out at < http://www.cs.cornell.edu/ugrad/vectors.htm >, are:
- the "Renaissance" (basis) vector, which closely corresponds to the requirements of the "old" major and prepares students for a broad variety of pursuits
- Artificial Intelligence (AI)
- Computational Science and Engineering
- Data Intensive Computing
- Graphics
- Human Language Technologies
- Network Science
- Programming Languages
- Security and Trustworthy Systems
- Software Engineering / Code Warrior
- Systems
- Theory
Note that probability/statistics and vector requirements can fill in existing slots on your "graduation checklist"; thus, these new requirements are, by design, generally not onerous to achieve (with some planning). For example, ENGRD 2700 can be applied toward the Engineering Distribution. As another example, MATH 4710 can be applied toward a technical elective. As a final example, the AI vector requires CS 4700 which can be applied toward a CS 4000+ elective.
Current Cornell students --- those who matriculated fall 2008 or earlier --- may elect to follow the old rules or to follow the new rules (a process for declaring your choice will be in place in the spring) except that
The newly updated and revised checklists are available online for students in Arts & Sciences and Engineering. They are also available from the CS Ugrad office in 303 Upson Hall. To see exactly what changes were made to the major in the format of the checklists, you can also view a version with all of the changes highlighted in red for Arts and Engineering students.