Master of Arts in Computer Science

The dynamic and growing field of computer science provides opportunities for intellectual activity, research, and future employment. The aim of the master's program is to prepare students for professional careers in private industry, government, and academe. For those who seek academic careers and opportunities for more advanced research, the master's program may constitute a significant portion of the Computer Science PhD program offered by the CUNY Graduate Center. The Department maintains close ties with the CUNY Institute for Software Design and Development, which offers internship opportunities and gateways to the software industry in the New York region.

Over the years, our department's faculty members have conducted a wide range of research in computer science and have received external funding from such federal agencies as the National Science Foundation, National Institutes of Health, and Department of Defense, as well as from corporate sources. Research interests of our current faculty include algorithms, artificial intelligence, computational linguistics, distributed computing, database systems and information retrieval, computer vision, image analysis / processing, cryptography, computational algebra, and the Internet of Things.

The Department’s multiplatform computing infrastructure consists of 3 class-C subnets, numerous routers and switches, scores of computing, storage and other shared resource servers, and hundreds of desktops and laptops in our instructional labs and faculty research labs.


Overview of Curriculum

The Master of Arts in Computer Science requires a total of 30 graduate credits, including courses in four areas of study: software, theoretical foundations, hardware, and mathematical applications & algorithms. The degree requirements are specified in detail in the Guide for New Master's Students and the Graduation Checklist sections below.

The software area is the primary focus of the program. Examples of course offerings in this area are courses on fundamental algorithms, database systems, distributed software systems, image processing, computer vision, information organization and retrieval, advanced C++, cloud computing, natural language processing, and artificial intelligence. The program also offers many courses in the mathematical applications & algorithms area, such as courses on machine learning, modeling and simulation, data mining, algorithms for Big Data, data analytics, numerical methods, cryptography, and genetic algorithms.


Admissions

Applicants for admission are expected to have a U.S. or U.S.-equivalent bachelor's degree with a minimum grade point average (GPA) of 3.0. Applicants whose native language is not English and whose post-secondary education was not in English are required to submit a TOEFL (iBT) score of at least 61, an IELTS score of at least 5, or a PTE score of at least 44.

The program's courses may assume knowledge of the following subjects:

  • differential and integral calculus
  • probability
  • discrete mathematical structures
  • C++ and Java
  • computer organization and assembly language programming
  • data structures

Applicants deemed to have insufficient background in one or more of these subjects (including those with a bachelor's degree in a field other than computer science) may be admitted with the condition that they take specified undergraduate courses at Queens College to make up the deficiencies in their background: The Department determines which remedial undergraduate courses any such applicant is required to take; the number of required remedial courses ranges from one to ten, depending on the applicant's background. We call these remedial courses the applicant's conditional courses. To earn the MA degree, applicants who are required to take conditional courses must take those courses in addition to the 30 credits of 700-level courses all MA students must take.


Further Information for Applicants

Our expectations of applicants are outlined above, and the program's degree requirements will be stated in the Guide for New Master's Students section below. Here we provide some information regarding the application process, transfer credits, and financial aid.

How to apply: All applications must be submitted through the online application system available at the Graduate Admissions Office Website. This system is self-guided and provides step-by-step instructions on information to be entered and documents to be submitted by applicants.

Once an applicant's electronic application folder is complete, the application system will notify the Department so we can evaluate it. When the Department has considered an application and made an admission decision, the application system will inform the applicant of the decision.

When a foreign student is accepted, the Graduate Admissions Office will inform the International Students and Scholars Office. Any questions regarding student visas should be directed to that office.

Please note that graduate credits in computer science from other institutions do not necessarily transfer into our MA program. Transfer of credits will be considered only when the credits were earned for a course that is equivalent to one of our program's courses or is at at least the same level as our program's courses. The total number of transfer credits cannot exceed 12.

The Department may provide some financial aid in the form of teaching assistantships to certain students. Master's students with demonstrated excellence can find out more about these opportunities through the Department office. In most cases, the amount of money provided by teaching assistantships is limited and will only partially offset the cost of tuition and living expenses. Those interested in other forms of financial aid should contact the Financial Aid Office.


Guide for New Master's Students


Degree Requirements

Students who do not have a bachelor's degree from Queens College can earn the MA degree by satisfying the degree requirements that are stated below.

Students who have a bachelor's degree from Queens College must also satisfy these requirements to earn the MA degree, but they are subject to certain additional rules that disallow enrollment in some courses that may be very similar to advanced undergraduate courses they previously took. As these rules are subject to change, students who have a bachelor's degree from Queens College must contact Xiuyi Huang at xiuyi.huang@qc.cuny.edu before they register for their first 700-level classes.

  • If you are required to take one or more undergraduate conditional courses, those courses are listed in your acceptance letter and their completion should be the first priority in your study plan. Students who have been assigned conditional courses must complete each of their conditional courses with a grade of at least B−, and must achieve a GPA of at least 3.0 in all of their conditional courses. Students who have not yet completed each of their conditional courses with a grade of at least B− or whose GPA in conditional courses is below 3.0 may take CSCI 700, 715, 722, or 744 when they satisfy the prerequisites for the course, but may not take any other 700-level course except as noted in the Registering for Courses section below.

  • Each student must complete (i.e., pass) at least 30 credits of 700-level courses (other than CSCI 788) and must earn a GPA of at least 3.0 in the 700-level courses s/he takes. Moreover, the completed courses must satisfy the following Core Course Requirements and Semi‑core Course Requirements:

    • Core Course Requirements. The completed courses must include the four Core courses, which are:

      Exceptions: Students with a bachelor's degree from Queens College who passed CSCI 323 (Design and Analysis of Algorithms), 343 (Computer Architecture), 344 (Distributed Systems), or 381 (Computability and Complexity) with a grade of B+ or better are exempted from CSCI 700, 744, 715, or 722 respectively—but must still complete 30 credits of 700-level courses.

    • Semi‑core Course Requirements. The completed courses must include at least one Software Semi‑core course, and must also include at least one Mathematical Applications & Algorithms Semi‑core course. The Semi‑core courses are as follows:

      • Software Semi‑core Courses: Every 700-level Computer Science course that is tagged as "(semicore S)" or "SCS:" in the Computer Science Course Schedule is a Software Semi-core course. In addition, CSCI 711 is a Software Semi-core course.

      • Mathematical Applications & Algorithms Semi‑core Courses: Every 700-level Computer Science course that is tagged as "(semicore M)" or "SCM:" in the Computer Science Course Schedule is a Mathematical Applications & Algorithms Semi-core course. In addition, CSCI 761 is a Mathematical Applications & Algorithms Semi-core course.

    The six courses used to satisfy the Core Course Requirements and the Semi‑core Course Requirements will provide 18 of the 30 700-level credits required for the MA. To earn the 12 additional credits that are needed, students may complete any other 700-level courses with the exception of the internship course CSCI 788.

Note: The Hardware Semi‑core and Capstone degree requirements stated in the CS Department's section of the Graduate Bulletin are not mentioned above because those two requirements are currently waived.

Please be sure that you have the necessary prerequisites for courses you wish to take.


Note to International Students

All international students are required to take at least 9 credits each semester to maintain their F1 visa.

All international students are required to see an advisor at the International Students & Scholars Office.


Registering for Courses

All new students will register for Computer Science courses through the Department. You may email Computer Science course registration requests to Xiuyi Huang at xiuyi.huang@qc.cuny.edu . (Include your full name and CUNY ID as well as the course number and section.)

Students may register for Mathematics courses (MATH 120, 151, 152, 241) by contacting the Mathematics Department (Kiely 243, 718‑997‑5811, mathregistration@qc.cuny.edu).

Students who have been assigned conditional courses but have not yet completed each of their conditional courses with a grade of at least B− or whose GPA in conditional courses is below 3.0 may take any of the 700-level Core courses (CSCI 700, 715, 722, and 744) for which they satisfy the prerequisites, but may not take any non‑Core 700‑level course.  Exceptions: Students who have completed all but at most two of their conditional courses with a grade of at least B− may request permission to take non‑Core 700‑level courses at the same time as the outstanding conditional course(s). Students who have completed all of their conditional courses with a grade of at least B− but whose GPA in conditional courses is below 3.0 may similarly request permission to take non‑Core 700‑level courses at the same time as a repeated conditional course. To request such permission (which may or may not be granted), send email to Xiuyi Huang at xiuyi.huang@qc.cuny.edu.


Frequently Asked Questions (FAQ) on Conditional Courses

  1. Q. What are conditional courses?
  2. A. They are remedial undergraduate courses taken (at Queens College) by MA students whose application materials indicate that they don't have sufficient background in one or more of the subjects in the bulleted list in the Admissions section above. When such a student is accepted to the MA program, their acceptance letter will list the conditional courses they must complete as a condition of admission.

  3. If you are an MA student whose acceptance letter requires you to complete one or more conditional courses as a condition of admission, please read the questions and answers below:

  4. Q. Do I have to take all the conditional courses listed in my acceptance letter?
  5. A. Yes, you must take all the conditional courses listed in your acceptance letter (except for any courses that are officially waived by the Department).

  6. Q. Which conditional courses may be waived?
  7. A. A conditional course may be waived if, and only if, written documents are submitted to show that an equivalent university course has been taken for credit. These documents must include an original transcript showing a passing grade and credits for the equivalent course as well as a description of the course (a photocopy of a transcript is not acceptable). If you wish to apply for a waiver, contact Xiuyi Huang (xiuyi.huang@qc.cuny.edu).

  8. Q. May I skip some conditional courses that have not been waived if I think I can handle more advanced courses without taking them first?
  9. A. No.

  10. Q. May I take the conditional courses in any order?
  11. A. No, you must follow the prerequisite constraints imposed on the conditional courses.

  12. Q. Is there any grade requirement for the conditional courses?
  13. A. Yes: Each of your conditional courses must be passed with a grade of B− or better, and a GPA of at least 3.0 (B) must be earned in all your conditional courses.

  14. Q. What if I should fail to get a B− or better in a conditional course?
  15. A. You must retake it.

  16. Q. I am an international student with a foreign student visa and am required to take at least nine credits per semester, but there seems to be no way for me to that because of the prerequisite constraints on the conditional courses. What should I do?
  17. A. Consult Xiuyi Huang (xiuyi.huang@qc.cuny.edu) to determine which courses may be taken to meet the 9-credit requirement.

For more information, see the Requirements and Policies Regarding Grades section below.


Prerequisites for Courses


Prerequisite Table for Conditional Courses

When a course is shown as a prerequisite in the table below, all MA students who are not required to take that course as a conditional course are considered to satisfy that prerequisite.

Course Number Course Title Prerequisites
MATH 151 Calculus/Differential and Integration None
MATH 152 Calculus/Integration and Infinite Series MATH 151
MATH 120 Discrete Mathematics for Computer Science None
MATH 241 Introduction to Probability and Mathematical Statistics MATH 152 (this may be a corequisite)
CSCI 111 Algorithmic Problem Solving I (in C++ or Java) None
CSCI 211Object-Oriented Programming in C++ CSCI 111
CSCI 212 Object-Oriented Programming in Java CSCI 111
CSCI 220 Discrete Structures MATH 120 and MATH 151 and CSCI 111
CSCI 240 Assembly Language and Computer Organization CSCI 111
CSCI 313 Data Structures CSCI 211 and CSCI 212 and CSCI 220

Prerequisite Table for Core Courses

When a course is shown as a prerequisite in the table below, all MA students who are not required to take that course as a conditional course are considered to satisfy that prerequisite.

Course Number Course Title Prerequisites
CSCI 700 Algorithms I CSCI 220 and CSCI 313
CSCI 715 Distributed Computing CSCI 313
CSCI 722 Computability and Complexity CSCI 220
CSCI 744 Computer Architecture and Networks CSCI 240

Prerequisites for Other 700-level Courses

  • Prerequisites for CSCI 7xx courses whose numbers are below 780 are shown in this list of courses.
  • Prerequisites for CSCI 780 courses and courses whose numbers are above 780 are determined by the instructor.

Graduation Checklist

To be eligible for the MA degree in Computer Science you must be able to answer YES to questions 3 – 7 below, and you must also be able to answer YES to questions 1 and 2 if you were required to take one or more conditional courses.

Exceptions re Question 5: Students with a bachelor's degree from Queens College who passed CSCI 323, 343, 344, or 381 (Computability and Complexity) with a grade of B+ or better are exempted from CSCI 700, 744, 715, or 722, respectively, but must still complete 30 credits of 700-level courses.

  1. If you were required to take one or more conditional courses, have you completed each of your conditional courses with a grade of B− or better? The conditional courses you were required to take (if any) are listed in your acceptance letter.
  2. If you were required to take one or more conditional courses, have you earned a GPA of at least 3.0 in your conditional courses?
  3. Have you passed at least 30 credits of 700-level courses (other than CSCI 788)? The 30 credits may include credits transferred from other institutions with the Department's approval.
  4. Have you earned a GPA of at least 3.0 in the 700-level courses you have taken?
  5. Have you passed all four of the Core courses (i.e., CSCI 700, 715, 722, and 744)?
  6. Have you passed at least one Software Semi‑core course?
  7. Have you passed at least one Mathematical Applications & Algorithms Semi‑core course?

Note: The Hardware Semi‑core and Capstone degree requirements stated in the CS Department's section of the Graduate Bulletin are not mentioned above because those two requirements are currently waived.


Requirements and Policies Regarding Grades


Grade and GPA Requirements

Students must satisfy the grade and GPA requirements that are stated below.

Grade and GPA Requirements for Conditional Courses: A student who is required to take one or more conditional courses must pass each of his/her conditional courses with a grade of at least B−, and must earn a GPA of at least 3.0 in all his/her conditional courses. (If the student's GPA in all his/her conditional courses is below 3.0, then the student's performance will be reviewed by the Department, which will determine whether the student should be allowed to continue, put on probation, or dismissed from the Program.) A student who has taken all the conditional courses they are required to take and also has a GPA of at least 3.0 in those courses may possibly be granted a waiver from the requirement to retake a conditional course in which they received a C+, but only if that course is the ONLY conditional course in which the student has not earned a grade of at least B-. Students who wish to be considered for such a waiver should email Xiuyi Huang (xiuyi.huang@qc.cuny.edu).

GPA Requirement for 700-level Courses: To be able to graduate, a student must have a GPA of at least 3.0 in all the 700-level courses s/he has taken. Students whose GPA in 700-level courses falls below 3.0 during the course of their study may be reviewed by the Department or the Graduate Studies Office and then placed on probation.


Registration Adjustment and the C-Corequisite Rule for Conditional Courses

When a student receives a grade below B− in a conditional course, it is the student's responsibility to adjust his/her registration for the next semester as follows: DROP all courses s/he is no longer qualified for and RETAKE the conditional course(s) in which the grade earned was below B−.

In this connection, the Department may allow students to use the following "C corequisite rule": If the student received a C−, C, or C+ in a conditional course X, s/he may take any course for which the course X is a prerequisite PROVIDED THAT the course X is retaken in the same semester.

The Department will not be responsible for problems students may encounter as a result of their failure to properly adjust registrations after receiving a grade below B− in a conditional course, and reserves the right to adjust students' registrations whenever unsatisfactory grades are found.


Grade Replacement Policies

The College has the following grade replacement policy for graduate courses taken by graduate students (which is quoted from p. 29 of the 2020–21 Graduate Bulletin):

As of September 1, 2014, graduate students are entitled to the following grade-replacement policy, which is limited to graduate courses: With the exception of courses that have been designated as repeatable for credit, graduate students may repeat only four credits for grade replacement within any one graduate program and only for a course receiving a grade of F or WF. The last grade received replaces the previous grade in the cumulative GPA.

NOTE: CSCI 780s with differing topics are DISTINCT COURSES. This means that taking more than one CSCI 780 with differing topics is NOT "repeating" CSCI 780 — their grades would all count in your GPA, and the above grade replacement policy would not apply. The same is true for CSCI 799s.

IMPORTANT: The above-mentioned grade replacement does NOT happen automatically. A student who is entitled to grade replacement after repeating a 700-level course that was previously failed must inform the CS Department of the grade earned in the repeated course by sending email to Xiuyi Huang (xiuyi.huang@qc.cuny.edu), who will then ask the College to perform grade replacement.

Supplementary to the above, the Department has the following policy regarding conditional courses:

Computer Science MA students are entitled to have grade replacement applied to all repeated conditional courses: Whenever a conditional course has been taken more than once, the student's GPA in conditional courses is computed as if the student had taken the repeated course just once and earned the highest of the grades received by the student for that course. This grade replacement policy applies only to a Computer Science MA student's conditional courses.


Useful Links

Graduate Studies Office
Registrar's Office
Tuition and Fees
Health Services
International Students & Scholars Office
Graduate Student Handbook (pdf)
Computer Science Graduate Students Mailing List

Contact Us

If you have questions about the MA program (or the Accelerated MA program for Queens College CS undergraduates), please contact Xiuyi Huang (xiuyi.huang@qc.cuny.edu).