Overview: Master of Arts (M.A.) in Computer Science


Introduction

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 PhD program offered by the CUNY Graduate Center. The department's faculty members conduct a wide range of research in computer science, and 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. Current areas of faculty research include bioinformatics, computer vision, information retrieval, data mining, instructional technology, medical and document imaging, networking, and parallel processing, among others. We have about 230 computers running various operating systems (Solaris, Linux, IRIX, Microsoft Windows, etc.) networked in the department, available for research and instruction, and the college provides many additional PCs and servers.

Curriculum

The Master of Arts in Computer Science requires the total of 30 graduate credits, including courses in four areas of study: Software, Theoretical Foundations, Hardware, and Scientific and Statistical Computing. The Software area is the primary focus of the program, and includes courses in fundamental algorithms, software design, database systems, distributed software systems, operating systems, compiler design, graphics, information organization and retrieval, and artificial intelligence. The Theoretical Foundations courses include the mathematical treatment of such topics as formal language theory, automata theory, and computability and complexity theory. The Hardware area course offerings cover topics including computer systems design, networking principles, and distributed hardware systems. The Scientific and Statistical area includes courses in such areas as sequential and parallel numerical algorithms, applications of probability and statistics to the study of hardware and software systems, and principles of simulation and modeling. The program offers a variety of special-topics courses.

Graduate Admissions Officer

Dr. Jennifer Whitehead

Additional Opportunities


The 700-level courses in the department are applicable to the CUNY Doctoral Program in Computer Science. Some graduate courses are open to students who are not matriculated in the master's program.

The department maintains close ties with the CUNY Institute for Software Design and Development which offers internship opportunities and gateways to software industry in the New York region.

Admissions


For admission, applicants must have a 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 minimum TOEFL score of 61 (IBT) or 500 (Paper), or a minimum IELTS score of 5. Applicants need to have an adequate knowledge of each of the following subjects:

  • differential and integral calculus,
  • probability and statistics,
  • discrete mathematical structures,
  • theory of computation,
  • C++ and Java,
  • computer organization and assembly language programming,
  • data structures,
  • principles of programming languages,
  • operating systems,

Applicants with insufficient background in these subjects, including those with a bachelor's degree in a field other than Computer Science, may be accepted with a condition to take appropriate undergraduate-level courses to make up for the deficiencies. The Graduate Admissions Officer will determine what courses need to be taken.
Information on application procedures is available at the Graduate Admissions Office Website.

Additional Resources

Graduate Bulletin
Computer Science Graduate Admissions Officer
Office of Graduate Studies
Registrar's Office
Computer Science Graduate Students Mailing List
Tuition
Health Services Center
International Students & Scholars Office
Graduate Student Handbook (pdf)

Letter to Applicants


Thank you for your interest in our Master's program in Computer Science. While you can read about the degree requirements and the description of courses from the College's Graduate Bulletin, we provide here some additional information regarding the application process, transfer credits, and financial aid. For admission, the Department requires each applicant to have a U.S.-equivalent Bachelor's Degree with a minimum grade point average (GPA) of 3.0. In addition, applicants whose native language is not English and whose post-secondary education was not in English are required to submit a minimum TOEFL score of 61 (IBT) or 500 (Paper), or a minimum IELTS score of 5.

All applications must be filed by 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 your electronic application folder is complete, the system will notify the Department for evaluation.

The Department evaluates each applicant on a case-by-case basis. The applicant needs to have an adequate knowledge of each of the following areas: differential and integral calculus, probability and statistics, discrete mathematical structures, theory of computation, C++ and Java, computer organization and assembly language programming, data structures, principles of programming languages, and operating systems. Those with insufficient background in these areas are still considered for acceptance, although, if accepted, remedial courses will be required in addition to the 30 Master's credits. The number of required remedial courses ranges from one to 13 (3 or 4 credits each), depending on the individual's background. The required remedial courses will not count toward a Master's degree.

Once the Department has made the decision, the application system will inform the applicant. The Graduate Admissions Office will also inform the International Students and Scholars Office if the accepted student is a foreign student. Please contact this office if you have any question regarding student visa.

Please note that graduate credits in computer science from other institutions do not necessarily transfer into our program as Master's credits. A transfer course must be equivalent to our Master's course or at the same level as our Master's courses. The number of transfer credits cannot exceed 12.

The Department may provide financial aids in the form of Teaching Assistantships and Research Assistantships. However, they are given based on academic merits, and students pursuing a Ph.D. degree receive a first priority. Master's students with demonstrated excellence can apply through the Department Office. In most cases, the amount of money awarded is limited and will only partially offset the cost of tuition and living expenses. Those who are interested in other forms of financial aid should contact the Financial Aid Office.

Guide for New Master's Students


Welcome to the Master's Program in Computer Science. We are happy to have you with us and wish you a rewarding study during your stay at the Queens College.

Plan of Study

You should make a study plan based on the following degree requirements.

  • Undergraduate Conditional Courses. In case you are required to take conditional courses, they are listed in your acceptance letter. Their completion should be the first priority in your study plan.
  • Each student must complete 30 credits of 700-level courses, including the four core courses, three semi-core courses, and one capstone course.
    • Core Courses. Each student must take the four core courses: CS 700, 715, 722, and 744. (If you've graduated from Queens College and passed CS 323 or CS 344 with B+ or better, you are waived from CS 700 or 715, respectively. But you still must take 30 credits of 700-level courses.)
    • Semi-Core Courses. Each student must take one course in each of the three semi-core categories:
      • Software: CS 701, 707, 718, or any 780 whose course title begins with "scs"
      • Hardware: CS 745, 746, 748, or any 780 whose course title begins with "sch"
      • Mathematical Applications and Algorithms: CS 762, 764, 766, or any 780 whose course title begins with "scm"
    • Capstone Course. Each student must take one capstone course: CS 731, 732, 733, 734, or a department-approved 799.
    • The remaining courses may be any 700-level courses that have not been used to satisfy the semi-core and capstone requirements. (The only exception is the internship course CS 788 which does not count toward the Master's degree.)

Please be sure that you have the necessary prerequisites for courses you'd like to take.

Note for International Students

All international students are required to take at least 9 credits in a semester to maintain the F1 visa.

All international students are required to see an advisor at International Students & Scholars Office, Student Union 327. (718) 997-4440.

Registering for Courses


All new students will register through the Department. You may email registration requests (full name, CUNY ID, course number, section) to Ms. Xiu Yi Huang at xiuyi.huang@qc.cuny.edu or fill out the form below and bring it to the Department office.

In case you have general questions about the Master's Program or your study plan, you may email to Dr. Yukawa at keitaro.yukawa@qc.cuny.edu.

ALL mathematics courses (MATH 120, 151, 152, 241) must be registered by Mathematics Department in Kiely 243 (718-997-5811).


FORM FOR REGISTRATION

CUNYfirst ID :  
Last Name:  
First Name:  
Email:  


Fill in the courses you want in the table below. Rank the courses in order of preference (e.g. 1 for most desired course/section). For example:

Course# Section Class# Rank
CSCI 700 32 66051 1


Course# Section Class# Rank
       
       
       
       

End of FORM FOR REGISTRATION.


Master's Courses in Computer Science


A full listing of graduate level courses is available on the Courses and Schedules page.

Each student must complete 30 credits of 700-level courses, including the core courses (Algorithms I, Distributed Computing, Computability and Complexity, and Computer Architecture and Networks). In addition, the student must choose one course in each of the three semi-core categories: Software, Hardware, and Mathematical Applications and Algorithms. Each student must satisfy a "Capstone Requirement" by completing a Software Development Practicum, a Hardware Design Practicum, a Research Practicum, an approved Research Project, or a Master's Thesis. The remaining courses may be freely chosen from a variety of special topics and seminar courses as well as other courses listed below but which have not been used to meet the student's core, semi-core, and capstone requirements.

The second digit of each course number represents a particular area.
  • 0 or 1: Software
  • 2: Foundations
  • 4: Hardware
  • 6: Scientific and Statistical Computing

Any course for which the title begins "scs", "sch", and "scm" (respectively: software, hardware, and mathematical applications and algorithms) satisfies the semi-core requirement in that particular area.

Core Courses (students must take all four)

700. Algorithms I. 3 hr.; 3 cr. Fundamental algorithms, their use, analysis, and the data structures used in their formulation. Programming paradigms such as dynamic programming, divide and conquer, greedy algorithms, branch and bound, backtracking, and their applications.

715. Distributed Computing. 3 hr.; 3 cr. Distributed systems design and implementation. Concurrency and modularity. Operating system considerations. Transport-level communication protocols. RPC's. Examples of distributed systems.

722. Computability and Complexity. 3 hr.; 3 cr. Models of computation such as Turing machines, random access machines, and circuits. Time complexity classes, including P and NP, space complexity classes, including L and NL, and the interrelationships among them. Mapping reducibility and its specializations, including polynomial-time and log-space reducibility. Establishing a first NP-complete problem, such as circuit satisfiability or Boolean-formula satisfiability. P-complete decision problems; NP-complete decision problems and related approximation algorithms.

744. Computer Architecture and Networks. 3 hr.; 3 cr. The design of CPU, memory and I/O systems. Performance evaluation. Pipeline processor design. SIMD architecture. Communication issues in a distributed computing system. Design of interconnection networks and their applications. Fault-tolerant computer systems.

Software Semicore Courses (students must take at least one)

701. Software Design. 3 hr.; 3 cr. Prereq.: CS 700. Techniques and principles of systematic software development. Review of current software development tools. Top-down design and structured programming. History and concepts of modular design. Graphical user interfaces. Object-oriented design including data abstraction by classes and type polymorphism. Significant programming projects will be assigned.

707. Compiler Construction. 3 hr.; 3 cr. Prereq.: CS 700. Theory and practice of compiler construction. Topics include theoretical and practical studies of lexical analysis, syntax analysis, type checking, semantic analysis, object code generation and optimization.

718. Computer Graphics. 3 hr.; 3 cr. Prereq.: CS 700. Digital image fundamentals, scan-conversion algorithms, organization of graphics systems, 2D/3D primitives and their attributes, curve and surface representations, transformations, projections, hidden line/surface removal and clipping algorithms, color and illumination models, shading methods, interactive devices and techniques, graphics API. Significant programming projects to illustrate the rendering process as well as the design of user interfaces will be assigned.

Hardware Semicore Courses (students must take at least one)

745. Switching Theory. 3 hr.; 3 cr. Boolean algebra. Symmetric and iterative circuits. Fault detection and location. State equivalence and reduction of completely and incompletely specified machines. State identification and experiments. Linear sequential circuits. Current research topics.

746. Computer Systems. 3 hr.; 3 cr. Prereq.: CS 744. Parallel computer models. Program and network properties. Performance metrics and measures. Advanced processor technology, RISC and CISC processors. Software for parallel programming. Current research topics.

748. Computer Networks. 3 hr.; 3 cr. Prereq.: CS 744. Basic communication concepts, connectivity analysis, delay analysis, and the International Standards Organization Reference Model of Open Systems Interconnection (ISO-OSI).

Mathematical Applications and Algorithms Semicore Courses (students must take at least one)

761. Numerical Methods. 3 hr.; 3 cr. Error analysis, propagation of input and machine errors, interpolation, functional approximation, numerical differentiation, integration and summation, numerical solution of systems of linear equations and systems of nonlinear equations, numerical solutions of differential equations.

762. Algorithms II. 3 hr.; 3 cr. Prereq.: CS 700. A continuation of the material of 700, including algorithms for numerical computation, algorithms for parallel or distributed computers, and probabilistic analysis of algorithms.

764. Topics in Systems Simulation. 3 hr.; 3 cr. Prereq.: CS 700. Introduction to simulation and comparison with other techniques. Discrete simulation models and introduction to, or review of, queuing theory and stochastic processes. Comparisons of discrete change simulation languages. Simulation methodology including generation of random numbers and variates, design of simulation experiments for optimization, analysis of data generated by simulation experiments and validation of simulation models and results. Selected applications of simulation.

766. Probabilistic Models in Computer Systems. 3 hr.; 3 cr. Prereq.: CS 700. This course deals with analytical modeling as a means of analyzing computer hardware and software through the application of fundamental concepts of probability theory, statistics, random processes such as queuing theory and Markov chains to problems encountered in queuing models of time-sharing systems, multiprocessor interference, statistical evaluation of sorting techniques, and reliability of computer systems and networks.

Elective Courses

711. Database Systems. 3 hr.; 3 cr. Prereq.: CS 700. In-depth review of database systems and extensive survey of the current literature on the topic.

765. Computational Finance. 3 hr.; 3 cr. Valuation of derivatives as a family of algorithmic computations, with analysis of the underlying financial model and hands-on implementation practice. Time value of money, arbitrage based pricing, risk-free portfolio, hedging, fundamentals of capital asset pricing model, collateralization, marking to market, margining, market risk, credit risk, netting, modeling stochastic behavior with Weiner rocesses. Itô's Lemma, the Black-Scholes-Merton model, volatility smilies, path-dependent and exotic derivatives.

780, 782, 783, 784, 786. Special Topics in Computer Science. 3 hr.; 3 cr. May be repeated for credit for differing titles.

790, 792, 793, 794, 796. Seminars in Computer Science. 3hr.; 3 cr. May be repeated for credit if the topic changes.

799.1-3. Research. 1-3 hr.; 1-3 cr. Prereq.: Permission of department. May be repeated for credit for different topics, to a maximum of 3 credits. Student research reports shall be written; they will be placed on file with departmental technical reports. The 799.3 can be used to satisfy the capstone requirement if the proposal is approved for such by the department. Students may take such a course only after they have completed at least 21 credits of 700-level courses with a cumulative GPA of 3.3 or better, and the research involved must be an individual work.

Note: In the seminar and special topic courses the third digit represents the subject area. The numbers 783 and 793 will be given to courses that resist categorization with respect to subject area.

Capstone Courses (students must take one, after completing 21 credits)

731. Software Development Practicum. Hours to be arranged; 3 cr. Prereq.: Completion of 21 credits, including any software semi-core course. Each student will complete a significant software development project, either of his/her own choosing or one selected by the instructor. In general, projects will incorporate the following features in their design: A graphical user interface, concurrent processing, and persistent state across invocations. All projects will include complete and separate documentation for end-users, for installation, and for software maintenance. Project management tools for version and module management, and a complete record of the development stages are required.

732. Research Practicum. 3 hr.; 3 cr. Prereq.: Completion of 21 credits. Critical review of research in computer science. Students will conduct research on one of the topics given by the instructor, and gain experiences in writing research proposals, actual research process (including the use of libraries and the reading of papers), and in writing research reports. The instructor will give lectures on the selected topics as well as on general research methods, and closely monitor the students' research process.

733. Master's Thesis. 3 cr. A Master's thesis must be accepted by a sponsoring member of the department and by a thesis committee chosen by the department. (For College requirements regarding theses, consult the Graduate Bulletin.)

734. Hardware Design Practicum. Hours to be arranged; 3 cr. Prereq.: Completion of 21 credits, including any hardware semi-core course. Each student will complete a significant hardware development project approved by the instructor. Projects may be based on existing development platforms, or may involve construction of a hardware platform specific to the project. Designs may involve various areas of digital design, such as signal processing, robotics, networking, or peripheral interfacing.

799.3. Research. This option may be used only subject to departmental approval; see the description of this course under "Elective Courses".

Note (i) The programming project reports, research reports, and Master's theses submitted by the students shall be placed in the departmental files. (ii) Each capstone course may be taken only after the student has completed 21 credits.

Other Courses

788.1-3. Computer Science: Cooperative Education Placement. 1-3 hr.; 1-3 cr. Prereq.: Completion of at least three 700-level computer science courses and approval by the Departmental Graduate Curriculum and Advisement Committee of a detailed project description submitted by the student. Experiential learning through job placements developed by the Queens College Cooperative Education program. Opportunities are provided to test, demonstrate, and expand on academic learning in an organization setting. No more than 3 credits of Cooperative Education Placement may be taken. This course does not count toward the 30 credits required for the Master of Arts degree in Computer Science. The grade for this course will be given on a Pass/Fail basis.

Special Topics Courses for Semicore Requirement


These courses are only open to students that have already completed ALL their conditional courses.

CSCI 780: SCS: Advanced Object-Oriented Programming (Waxman). This course counts as software semicore.

CSCI 780: SCM: Algorithms for Real-Time Computing (Gross).This course counts as mathematical applications and alogorithms semicore.

CSCI 780: Artificial Intelligence (Chen/Hunerfauth/Phillips). This course does not count as any semicore.

CSCI 780: Biometrics (Sy). This course does not count as any semicore.

CSCI 780: Computer Networking and Internet (Obrenic). This course does not count as any semicore.

CSCI 780: SCM: Cryptography I (Boklan). This course counts as mathematical applications and algorithms semicore.

CSCI 780: SCM: Data Mining/Warehousing (Sy). This course counts as mathematical applications and algorithms semicore.

CSCI 780: Genetic Algorithms (Goldberg). This course does not count as any semicore.

CSCI 780: Graphical Models (Yuan).This course does not count as any semicore.

CSCI 780: SCS: Heterogeneous Distributed Applications (Obrenic). This course counts as software semicore.

CSCI 780: Human-Computer Interaction and Accessibility Technology (Huenerfauth). This course does not count as any semicore.

CSCI 780: SCM: Image Processing (Phillips). This course counts as mathematical applications and algorithms semicore.

CSCI 780: Information and Computer Security (Sy). This couse does not count as any semicore.

CSCI 780: Information Orgranization & Retrieval (Chen/Kwok). This course does not count as any semicore.

CSCI 780: Internet Security (Sy). This course does not count as any semicore.

CSCI 780: Internet Technologies & Web Design (Chen). This course does not count as any semicore.

CSCI 780: SCH: Logic Design Laboratory (Vickery). This course counts as hardware semicore.

CSCI 780: SCM: Machine Learning (Rosenberg/Yuan). This course counts as mathematical applications and algorithms semicore.

CSCI 780: SCM: Machine Learning in Image Analysis (Chao Chen).This course counts as mathematical applications and algorithms semicore.

CSCI 780: SCM: Machine Learning in Quantitative Finance (Yuan).This course counts as mathematical applications and algorithms semicore.

CSCI 780: SCS: Natural Language Processing (Ji). This course counts as software semicore.

CSCI 780: Next Generation Networking Services (Sy). This course does not count as any semicore.

CSCI 780: Object-Oriented Databases (Yukawa). This course does not count as any semicore.

CSCI 780: SCS: Python Programming and Text Processing (Huang). This course counts as software semicore.

CSCI 780: SCM: Quantum Computing I (Whitehead). This course counts as mathematical applications and algorithms semicore.

CSCI 780: SCM: Randomized Algorithms (Wee). This course counts as mathematical applications and algorithms semicore.

CSCI 780: SCH: Robotics (Sy).This course counts as hardware semicore.

CSCI 780: SCS: Software Development (Goldberg). This course counts as software semicore.

CSCI 780: SCS: Software Engineering (Sy). This course counts as software semicore.

CSCI 780: Spatio-Temporal Data Modeling and Databases (Yukawa). This course does not count as any semicore.

CSCI 780: SCS: Spoken Language Processing (Rosenberg). This course counts as software semicore.

CSCI 780: SCM: Topics in Cryptography (Boklan). This course counts as mathematical applications and algorithms semicore.

CSCI 780: SCH: Voice Over Internet Protocols / Wireless Local-Area Networks (Sy). This course counts as hardware semicore.

CSCI 780: SCH: Wireless Networking (Sy). This course counts as hardware semicore.

Frequently Asked Questions (FAQ) on Conditional Courses


  1. What are conditional courses?
  2. They are those courses which are admissions requirements for the Master's Program but which you have been judged not to have taken for credit according to the application material you submitted. They are listed in your acceptance letter. Your admission into the Master's Program is conditional on completing these courses. By taking the conditional courses first, you will obtain necessary background knowledge for Master's courses.

  3. Do I have to take all the conditional courses listed in my acceptance letter?
  4. You must take all the conditional courses listed in your acceptance letter except for those which have been officially waived by a Graduate Admissions Officer.

  5. Which conditional courses may be waived?
  6. A conditional course may be waived if, and only if, written documents are submitted to prove 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 accepted). If you wish to apply for a waiver, documents of proof should be submitted to a Graduate Admissions Officer.

  7. May I skip some conditional courses although I have not taken equivalent courses, since I think I can handle more advanced courses without taking them first?
  8. No.

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

  11. Is there any grade requirement for the conditional courses?
  12. 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.

  13. What if I should fail to get a B- or better in a conditional course?
  14. You must retake it.

  15. I am an international student with a foreign student visa and required to take at least nine credits per semester, but cannot do so because of the prerequisite constraints on the conditional courses. What should I do?
  16. Consult a graduate advisor to determine which courses may be taken to meet the 9-credit requirement.

Prerequisite Tables


Prerequisite Table for Conditional Courses

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)
CS 111 Algorithmic Problem Solving I (in C++ or Java) Math 120 or Math 151 (either may be a corequisite)
CS 211Object-Oriented Programming in C++ CS 111
CS 212 Object-Oriented Programming in Java CS 111
CS 220 Discrete Structures Math 120 and Math 151 and CS 111
CS 240 Assembly Language and Computer Organization CS 111
CS 313 Data Structures CS 211 and 212 and CS 220
CS 316 Principles of Programming Languages CS 240 and CS 313 and CS 320
CS 320 Theory of Computation CS 220
CS 340 Operating Systems Principles CS 240 and CS 313

Prerequisite Table for Core Courses

Course Number Course Title Prerequisites
CS 700 Algorithms I CS 220 and CS 316 and Math 241
CS 715 Distributed Computing CS 220 and CS 316 and CS 340 and Math 241
CS 722 Computability and Complexity CS 320 or 721
CS 744 Computer Architecture and Networks CS 220 and CS 240 and Math 241

Prerequisite Table for 700-level Courses

The following 700-level courses are only open to the students that have completed all their conditional courses.

Course Number Course Title Prerequisites
CS 701 Software Design CS 700
CS 707 Compiler Construction CS 700
CS 711 Database Systems CS 700
CS 718 Computer Graphics CS 700
CS 731 Software Development Practicum A software semicore course and completion of at least 21 credits of 700-level courses
CS 732 Research Practicum Completion of at least 21 credits of 700-level courses
CS 733 Master's Thesis Completion of at least 21 credits of 700-level courses
CS 734 Hardware Design Practicum A hardware semicore course and completion of at least 21 credits of 700-level courses
CS 745 Switching Theory  
CS 746 Computer Systems CS 744
CS 748 Computer Networks CS 744
CS 762 Algorithms II CS 700
CS 764 Topics in Systems Simulation CS 700
CS 766 Probabilistic Models in Computer Systems CS 700
CS 780, 782, 783, 784, 786 Special Topics in Computer Science As determined by the instructor
CS 790, 792, 793, 794, 796 Seminars in Computer Science As determined by the instructor

Graduation Checklist


To earn a Master's degree in Computer Science, you must be able to answer YES to each of the following questions.
  • Have you completed each of the conditional courses with a grade of B- or better? Your conditional courses are those courses which are listed in your acceptance letter except for those officially waived by a Graduate Admissions Officer.
  • Have you earned a GPA of at least 3.0 in all the conditional courses?
  • Have you taken at least 30 credits of 700-level courses and earned a GPA of at least 3.0 in them? (The 30 credits may include those transferred from other institutions with graduate advisors' approval.)
  • Have you taken all four core courses: CS 700, 715, 722, and 744?
  • Have you taken at least one course in each of the three semicore areas (Software, Hardware, and Scientific and Statistical Computing)?
  • Have you taken at least one capstone course (CS 731, 732, 733, or 734)?

Additional Policies


Grade Replacement Policy

The College has an explicit Grade Replacement Policy (quoted from the Graduate Bulletin):

Graduate students are entitled to the following grade replacement policy, which is limited to graduate courses: With the exception of courses that are designated as repeatable for credit, graduate students may repeat a graduate course and have the last grade received replace the previous grade in the cumulative grade-point average. No more than four credits may be replaced.

NOTE: CS 780s with differing topics are DISTINCT COURSES. This means that taking more than one CS 780 with differing topics is NOT "repeating" CS 780 -- their grades would all count in your GPA, and the Grade Replacement Policy is not applicable to them. The same is true for CS 790s and CS 799s.

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

Graduate students are entitled to the following grade replacement policy, which is limited to conditional courses: Graduate students may repeat a conditional course and have the last grade received replace the previous grade in the cumulative grade-point average. No more than two conditional courses may be repeated.

Grade Requirement

The Department imposes two different grade requirements for conditional courses and 700-level courses.

Conditional Courses: Every student 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. Students who fail to meet this requirement will be reviewed by the Department, which will determine whether they should be allowed to continue, put on probation, or dismissed from the Program.

700-level Courses: Every student must pass each 700-level course with a grade of at least C-, and must earn a GPA of at least 3.0 in all the 700-level courses he/she has taken in order to graduate. Students whose GPA falls under 3.0 in the course of their study may be reviewed by the Department or the Graduate Studies Office.

Registration Adjustment and the C-Corequisite Rule for Conditional Courses

In the event that the student fails to pass any conditional courses with at least a B- in any semester, it is the student's responsibility to adjust his/her registration for the next semester properly: DROP all courses the student is no longer qualified for and RETAKE the conditional courses the student did not pass.

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, he/she 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 any problems students may encounter because of their failure to adjust registrations properly, and will reserve the right to adjust students' registration whenever unsatisfactory grades are found.