This page is designed to assist you with your advising questions, and if needed, book an appointment with Prof. Verma. Please note that this page is intended for SEAS students who are majoring in CS and have Prof. Nakul Verma as their assigned faculty advisor. In case you have a different advisor, please contact them for all your advising questions.
Check out the FAQs here first.
You can reach out to the instructor of the course or visit previous semester's course website for fully understanding the enrollment requirements and procedures.
Generally speaking, enrollment priority is given based on your seniority. It is possible that you may not get into your preferred course, in which case you should definitely have some backup courses planned. Generally, getting into courses is not as bad as it may seem, and most of the time you get in the course the second time you try.
For general questions you can reach out to advising@cs.
Contact advising@cs. Juniors and Seniors should use this form to drop a course.
Yes, you can double count any 3k or above CS course that is being counted towards your general tech elective, track or other CS major requirement for your non-CS minor requirement.
We can only comment on your CS major. You should reach out to the department of the minor and/or your CSA (Center for Student Advising) advisor to check exactly if your transfer credit count towards it.
You can reach out to advising@cs to have this resolved.
Take a look at the general guidelines here. Ideally you should aim to complete all 9 core courses and 1-2 track or general tech electives by the end of junior fall.
I cannot approve for registration of overlapping courses and this is strongly discouraged. You should contact your CSA advisor and seek approval from course instructors involved for further guidance.
Please contact the course instructor.
Yes.
Your CS faculty advisor (ie me) does not have any authority to comment/advice/approve courses not related to your CS major. You should reach out to your CSA (Center for Student Advising) advisor for any guidance.
Your CS faculty advisor (ie me) does not have any authority to comment/advice/approve courses not related to your CS major. You should reach out to your CSA (Center for Student Advising) advisor for any guidance.
You should contact the instructor for the course and a get written confirmation from them that you are allowed to waive it. If approved, make sure that they notify me and that your MICE record gets updated accordingly. Note that while you are allowed to skip taking a core course, you still need to have the corresponding core credits. That means you need to take a CS 3k or above course as a substitute to count towards the core credits for your major. You can only use CS courses to substitute.
This also applies to "Intro to Computing" ENGI 1006.
No. You must either take "Data Structures in Java" (COMS 3134) or "Honors Data Structures and Algorithms" (COMS 3137) for fulfilling the datastructures requirement.
If you already know the material covered in linear algebra, you can substitute it with Modern Algebra (eg. MATH 4041/2).
While it is true that you can double count MATH 2015 to fulfill both the core linear algebra and probability requirements, it may not be advisable to do this in all cases, especially if you want to take courses in the future that require a strong linear algebra and/or probability background (such as AI/Machine Learning type courses, or graphics/animation courses, or advanced CS theory courses in Advanced algorithms, etc.). In such cases it is advisable to take two separate courses: e.g. COMS 3251 for linear algebra and STAT 4001 for prob/stat background. This will help the student gain a detailed background in these core subjects.
No. You must choose a course from the AFC list to count towards your AFC requirement. See also this.
No. You must choose a course a 3k+ CS course (COMS / CSXX / XXCS) list to count towards your CS Electives requirement. Take a special note on restrictions 3998/4901/6901 project/research courses. See also this.
No. You must choose a course a 3k+ course, and it MUST be from the approved list of departments. There are no exceptions. See also this.
For each course you want to "import" (that is, count towards your major requirements), you first need to find the equivalent course at Columbia. You should contact the instructor of the course to get the approval for the equivalency. Once they have approved that the course is equivalent, you should check with your faculty advisor (ie me) to verify which part of your CS major requirement your imported course can satisfy. Once both the Columbia course instructor and your CS faculty advisor have approved the outside course, make sure that your mice record gets updated accordingly (your CS faculty advisor can do it). Make sure to keep all your approved documentations as it may be needed later.
In case you want to import a course for which there is no equivalent course at Columbia, you should first contact your faculty advisor (me) if it is appropriate to count. If it seems somewhat reasonable, you should contact the professor who has the closest association with the area for the course and have it be approved to count as a 4995 course. Typically, such a course will count towards your general tech elective. Again, once they approve it, make sure that your mice record gets updated accordingly and make sure to keep all your approved documentations as it may be needed later.
NOTE: Fill out this form for importing each course. (Signatures required on the form: "Department Representative" = Course Instructor, "Faculty Advisor" = me, "Advisor" = CSA Advisor, these must be signed in this order). Once everyone has signed, keep a copy for your records *AND* email it to advising@cs so that they can update your mice record.
Also take note that there is a maximum limit on how many courses can be imported, see below.
Yes, at most 12 credits (that is, at most 4 courses) are allowed to be imported from another school for the major. This includes transfer credits (if you are a transfer student) as well as study abroad credits. (typically AP/IB import credits are not counted towards this restriction.)
If there is an equivalent CS course at Columbia, you will only be allowed to count however many units the Columbia CS course has (almost always 3 units) and typically your additional units will go wasted. For example, if you import 4 units for a 3 unit Columbia CS course, then you will not be able to count the additional 1 unit towards your CS major requirements.
If the imported CS course has no Columbia CS equivalent, then also almost always only 3 units will be counted towards the major (usually towards general tech electives) and the additional fourth unit will go wasted.
Fill out the degree checklist in as much detail as possible (include the exact semester you took/planning to take the class) and make sure you specify if you got the advisor approval for all classes that say advisor approval needed. SEAS BS in CS Degree Checklist
Fill out the degree checklist (see above) and let me know. Also reach out to (1) your CSA advisor, and (2) advising@cs so that we can start you off with the proper paperwork.
It goes without saying that graduate school is for furthering your education in a specific area of interest. This means you should think about what subfield(s) in Computer Science interests you. Apart from having a good academic standing, graduate programs look for some sort of academic project-work or research-work experience (this is especially important if you are thinking about doing a PhD).
Once you know what topics interest you, you should start taking advanced courses in the field to gain good background for doing research work. You should reach out to professor(s) whose research work interests you and attend the "research fair" that happens at the beginning of each semester (check out the emails sent by the department).
Occasionally some research projects would be available to students who have not yet taken relevant classes. Again, you can reach out to the professors and/or attend the research fair.
You should signup for either a 3998 or 4901 course in the appropriate department with the faculty of with whom you are doing research with. Please note that if the faculty is affiliated with the CS department you should take COMS 3998/4901 course. You should check with the faculty member you will work with (i) exactly which course number (3998 or 4901) you should take (typically the first semester you take 3998, and subsequent semesters 4901), (ii) if they are affiliated with the CS department, in which case please sign up for COMS 3998/4901.
Note that no more than six units of 3998/4901 courses can count towards your major regardless of whether you count it as a GTE or as a CS tech elective.
Research courses can always count towards the general tech elective requirements, or if they are a COMS course, towards your CS tech elective.
No more than six units of 3998/4901 courses can count towards your major. The research credit total comes from all 3998/4901 courses you took: whether it be for your track and/or general tech electives, and whether they were taken as a COMS course and/or as a non-COMS course.
If you want the course to count for any part of the major (track or general tech elective), then you need to take it for a letter grade.
Follow the procedure outlined here.
After you are done with your internship, in order to receive credit for the course:
Note that the one unit of course credit received cannot be counted towards any part of the requirements for your major. It can however be counted towards the 128 point requirement for your degree.
The registrar should waive your tuition fees for the summer COMS 3999 enrollment. In case this does not happen, simply contact advising@cs and they can take care of it. That being said, there may be some additional fees you may be charged for the summer enrollment, those charges cannot be waived.
You must follow the same steps listed above for a summer internship. Additionally, keep in mind that at most 3 units of fieldwork can be counted for your degree. That means CPT will be approved at max three times throughout your time an an undergrad. Also since you need to maintain full-time student status, there will be restrictions on the maximum number of hours you can work if you do an internship during the school year. You can check that with ISSO.