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.
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 .
ALL mathematics courses (MATH 120, 151, 152, 241) must be registered by Mathematics Department in Kiely 243 (718-997-5811).
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 Big Data (Goswami).This course counts as mathematical applications and algorithms semicore.
CSCI 780: SCM: Algorithms for Real-Time Computing (Gross).This course counts as mathematical applications and algorithms semicore.
CSCI 780: SCM: Approximation Algorithms (Goswami).This course counts as mathematical applications and algorithms 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
- What are conditional courses?
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.
- Do I have to take all the conditional courses listed in
my acceptance letter?
- 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.
-
Which conditional courses may be waived?
-
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.
-
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?
-
No.
-
May I take the conditional courses in any order?
-
No, you must follow the prerequisite constraints
imposed on the conditional courses.
-
Is there any grade requirement for the conditional courses?
-
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.
-
What if I should fail to get a B- or better in a conditional
course?
-
You must retake it.
-
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?
-
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 211 | Object-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 761 |
Numerical Methods |
Math 231
|
CS 762 |
Algorithms II |
CS 700 |
CS 764 |
Topics in Systems Simulation |
CS 700 |
CS 765 |
Computational Finance |
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):
Grade-Replacement Policy: As of September 1, 1996, 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.
The last grade received replaces the previous grade in the cumulative GPA.
No more than four credits may be repeated within any one graduate program.
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.