All majors should confer with the program consultant each term in planning their programs of study. Students considering a major in computer science are encouraged to talk to a program consultant during their first or second year. The requirements that follow are special to this department and must be read in conjunction with the general requirements for the bachelor's degree. As a rule, no more than 12 transfer credits will be accepted toward the degree.
This allows the most freedom possible in selecting a specialized track and completing the requirements during the junior and senior years. It is particularly important to complete the core requirements and to seek advice from a track consultant to better plan your course of study as early as possible. W1004, W1007, and W3137 are taught in Java. Advanced Programming (W 3157) is taught in C/C++, so students will become multilingual. Programming classes make use of an extensive array of computing facilities available on campus.
Required courses: 41 or 44 points.
Computer Science Core (23 points): COMS W 1004, W 1007, W 3203, W 3137, W 3157, W 3261, W 3827. Students who have taken AP Computer Science in high school and received a grade of 4 or 5 can waive W 1004.
Mathematics (3 points): one semester of calculus.
Track requirement (15 or 18 points): each student must also fulfill the track requirement by selecting one of six upper-level tracks. Each track, except the combined track, requires five courses of which 2 or 3 are required, 1 is an elective breadth course, and 1 or 2 are elective track courses. The combined track requires a cohesive selection of six advanced courses: three 3000- or 4000-level Computer Science courses and three 3000- or 4000-level courses from another field. The elective breadth course in each track can be any 3-point COMS 3000-level or higher course that is not a Computer Science Core course or a technical elective in that track.
Foundations track (15 points): for students interested in algorithms, computational complexity, scientific computing, and security. The required track courses are Computer Science (COMS) W 4231, W 4236, W 4241. The elective track courses include COMS W 4203, W 4205, W 4252, W 4261, W 4281, W 4444, W 4771, W 4772, W 4995.
Systems track (12 points): for students interested in networking, programming languages, operating systems, and software systems. The required track courses are COMS W 4115, W 4118, W 4119. The elective track courses include any COMS W 41xx course, any W48xx course, W 4444, W 3902, W 3998, W 4901, W 4995, W 4996.
Artificial intelligence track (12 points): for students interested in machine learning, robots, and systems capable of exhibiting "human-like" intelligence. The required track course is COMS W 4701, plus any two of W 4705, W 4731, W 4733, W 4771. The elective track courses include COMS W 3902, W 3998, W 40xx, W 4165, W 4252, W 47xx, W 4901, W 4995, W 4996.
Applications track (12 points): for students interested in interactive multimedia applications for the Internet and wireless networks. The required track courses are COMS W 4115, W4170, W4701. The elective track courses include COMS W 3902, W 3998, W 41xx, W 47xx, W4901, W 4995, W 4996.
Vision and graphics track (12 points): for students interested in computer vision, graphics, and advanced forms of human-computer interaction. The required track courses are COMS W 4160 and W 4731. The elective track courses include COMS W 3902, W 3998, W 4162, W 4165, W4167, W 4170, W 4172, W 4701, W 4733, W 4735, W 4771, W 4901, W 4995, W 4996.
Combination track (15 points): for students who wish to combine Computer Science with another discipline. A coherent selection of six courses is required: three 3000- or 4000-level Computer Science courses and three 3000- or 4000-level courses from another discipline. This track should be selected by the end of the first semester of the junior year and the courses should be planned with your advisor. The other discipline can be any one in the arts, humanities, mathematics, natural sciences, or social sciences.
Required computer science courses - 23 points: COMS W 1004, W 1007, W 3203, W 3137, W 3157, W 3261, and W 3827 or any 4000-level computer science course.