
FAQs for Current Undergrads
Have a question or concern about your program? You’re in the right place! If you can’t find the answer you are looking for here, or on our Undergraduate Homepage, email CS Advising.
GENERAL ADVISING & MAJOR DECLARATION
The major declaration period occurs during your sophomore year: in the fall semester for SEAS students and the spring semester for Columbia College, GS, and Barnard students. The department has no minimum requirements that you need to meet before declaring the major or minor, though we do recommend that you start taking the introductory CS courses (ENGI E1006, COMS W1004) during your freshman year.
Each school has a different process for this. SEAS and CC students should discuss with their CSA Advising Dean. GS students should speak with their school advisors. Barnard students should use Slate.
All CS majors and concentrators are assigned a CS Faculty Advisor. You can find yours by clicking here. If you have general or administrative questions, please email CS Advising at ug-advising@cs.columbia.edu.
COURSE WAIVERS, IMPORTS, SUBSTITUTIONS, AND OTHER EXCEPTIONS
If you already know the material in one of the required courses, either through taking another course elsewhere or through work/project experience, it may be possible to waive out of that course. Please get in touch with your CS Faculty Advisor to discuss this. Your advisor will determine whether your prior knowledge is sufficient to satisfy that course requirement. If your waiver request is approved, please forward the approval email to ug-advising@cs.columbia.edu so we can maintain a record of the waiver.
Please note that there is no actual point value to a course waiver. When you waive out of a course, you will still need to take a replacement course to meet the minimum credit requirement for the major.
First, consult your school’s Advising Dean to understand your school’s transfer policy. In order to count a non-Columbia course toward your CS major/minor, we require a minimum grade of B or higher. To then count the course & points toward your CS major requirements, you will need to import the course on Mice and attach your syllabus and transcript once taken. The corresponding Columbia CS faculty member will review the course you took and the CU equivalent to determine if the import can be approved.
If you have obtained approval for a course import over email, you must forward that approval to CS Advising so we have a record. Barnard students should forward any emailed approvals to their advisor to ensure their degree audit is updated.
Please note that unless you have gotten approval from your Advising Dean, there is no actual point value to a course waiver. When you waive out of a course, you will still need to take a replacement course to meet the minimum credit requirement for the major.
You may choose your GTE (SEAS only) from outside CS, from a SEAS department or one of the exceptions listed on the Quick Guide: Astronomy, Biomedical Informatics, Biological Sciences, Chemistry, Earth and Environmental Sciences, Ecology, Evolution and Environmental Biology, Mathematics, Physics, Psychology, Statistics, and Economics. Courses must be at least 3 credits and at 3000 or above.
No substitutions or changes of any kind from the approved minors are permitted (see lists below). No appeal for changes will be granted. Please note that the same courses may not be used to satisfy the requirements of more than one minor. No courses taken for pass/fail may be counted for a minor. The minimum GPA for the minor is 2.0. Departments outside the Engineering School have no responsibility for non-Engineering minors offered by Engineering.
COURSE PLANNING
Options for the Linear Algebra requirement are: COMS 3251, APMA 3101, APAM 2101, MATH 2010 or MATH 2015.
No. You must either take “Data Structures in Java” (COMS 3134) or “Honors Data Structures and Algorithms” (COMS 3137) for fulfilling the Data Structures requirement.
We can’t guarantee more than 3 months in advance that a certain course will be offered during a specific semester since course scheduling often depends on instructor availability. We try to keep our schedules as consistent as possible. You can look back at course listings from previous years to get a sense of what we offer each fall and spring. Please check the CU Directory of Classes for the most updated course offerings.
We have degree progress checklists on our general undergraduate info page. We recommend that you use these checklists to plan out your program and figure out which courses you still need to take to complete your major requirements. Feel free to send your checklist to CS Advising to request a course plan review. Please keep in mind that CS courses are in very high demand, so you may not be able to get into your top choices each semester. Your program plan should be flexible and include alternate options.
Generally, all SEAS courses will count as GTEs, with the exception of Lean Launchpad. You may choose your GTE from outside CS or within CS, from a SEAS department or one of the exceptions listed on the Quick Guide: Astronomy, Biomedical Informatics, Biological Sciences, Chemistry, Earth and Environmental Sciences, Ecology, Evolution and Environmental Biology, Mathematics, Physics, Psychology, Statistics, and Economics. Courses must be at least 3 credits and at 3000 or above.
CVN courses are not available to undergraduate students. SEAS undergraduates are permitted to count up to 1 flipped/hybrid course (any course with a section H01) per semester toward their degree – Consult your CSA Dean. Students in CC, GS, or Barnard cannot count flipped/hybrid courses toward their degrees.
If you are in SEAS, GS, or CC, we will grant a one-time-only exception to count one D toward your major requirements. If this is your second D, you will need to retake the course. Barnard does not allow for a D to be counted for any major or minor, including Computer Science.
Unless there is a university-wide exception, students are NOT permitted to count courses taken P/F toward their major.
Studying abroad is possible for CS majors but requires careful planning. It is often difficult to fulfill major requirements at many universities abroad, so care must be taken when choosing where to go. You will need to speak with the current instructors of the Columbia courses you believe are equivalent to the courses you hope to take abroad to ensure the courses are confirmed to be equivalent.
Then, you will need to speak with your CS Faculty Advisor to ensure that the course equivalencies will fulfill your CS major requirements. Most students who study abroad feel that the rewards outweigh the logistical difficulties involved. If you are interested in studying abroad, it is best to start planning with your Advising Dean by the end of your first year.
Study abroad courses that have been approved by your CS Faculty Advisor and Advising Dean are eligible to count toward your CS major if you earn a C or higher.
This seems to be a matter of personal preference. Some students suggest the courses complement one another and are interesting to take together. Others prefer to take COMS W3157 first to be better prepared for the assembly language programming in the second half of CSEE W3827.
If you are a SEAS student, you can double-count a major course toward your minor. If you are a Barnard student, double-counting is not allowed because Barnard does not allow double-counting. If you are a CC or GS student, you may double-count the following CS requirements with another major, minor, or concentration:
- COMS W1004
- Any calculus courses (including Honors Math A and B)
- One Linear Algebra course
- One Probability/Statistics course
Honors Data Structures is worth 4 points and has a mandatory recitation session in addition to lectures. The honors course typically covers a few additional topics, such as data structures and algorithms in functional programming languages.
The CS Department holds a Research Project Fair during the first week of each fall and spring semester. You can attend this fair to explore available research opportunities in the department each semester. You can also reach out directly to faculty members with whom you are interested in working to inquire about research opportunities that they may have available in their lab. Current Research Opportunities are posted online, these can be for credit or pay.
First, you need to find a CS faculty member who will agree to serve as your research advisor. Then reach out to CS Advising, and we can give you the call numbers for the project or thesis courses (e.g. COMS W3902, COMS W3998, COMS W4901, COMS E6901). You can count a maximum of 6 points of research/project credit toward your major.
In general, only SEAS students must take ENGI 1006. SEAS students who can demonstrate that they are familiar with the course content can request to waive the course. However, they need to make up the 3 credit points by taking an extra 3000 or 4000-level CS course. Course waivers for ENGI 1006 are on an exceptional basis and are not guaranteed.
Maybe, email Professor Paul Blaer first.
It is recommended that you take Data Structures before taking Advanced Programming.
Email CS Advising and we can provide you with a list of available tutors. You may also ask your instructor/TA for advice on tutors.
You will have the option to test out of the course. Tests are offered at the beginning of every semester. Please discuss this with Professor Ansaf Salleb-Aouissi.
Depending on your score, you may be able to apply the placement credit toward Intro to CS. Your Advising Dean can assist with this process; please speak with them ASAP.
AP: The department grants 3 points for a score of 4 or 5 on the AP Computer Science A exam, along with an exemption from COMS W1004 Introduction to Computer Science and Programming in Java. However, we recommend that you take COMS W1004 before taking COMS W3134/W3137 Data Structures if you received a score of 4 or have not programmed in Java recently. Barnard students do not earn credit for AP and should consult their Barnard Advisor.
MS Express is a simplified application process that makes it easier for current CU students (or young alumni within 5 years of graduation) to apply to the CSMS program. Admissions can outline these, but in short, you have fewer documents to submit and a reduced or no fee. As for courses, the same rules apply to all CSMS students, and you can review the requirements of the CSMS program on our website here: https://www.cs.columbia.edu/education/ms/.
If you wish to count a course you took as an undergraduate at Columbia towards the CSMS, it cannot have been used in any way – major, minor, electives, or credits – towards your undergraduate degree. This is called Advanced Standing, and up to 15 credits can be applied to the CSMS in this way. More information about applying for Advanced Standing can be found here: https://www.cs.columbia.edu/education/ms/regfaq/#sec16.
No. The rule is at least a 3-credit course at the 3000-level or higher. A 3-credit project or research course can count as an elective, but not multiples of fewer credits.
CAREER DEVELOPMENT
Check your email! Our Career Placement Officers will send opportunities, announcements, and helpful hints from career@cs.columbia.edu. Additional opportunities are also advertised through the Center for Career Education (CCE).