M.S. Requirements

Students in the Computer Science M.S. degree program need to take 45 quarter credits of courses with a grade of C or above. Courses for which the student receives below a C cannot be counted as part of the 45 credits. You must maintain 3.0 cumulative GPA each term (please see Graduate Studies Policy on Academic Evaluations/Standards/Probation). Up to 15 quarter credits of graduate courses may be transferred from another institution with the approval of the departmental Graduate Advisor, please review the Transfer Credit policy. Further description of course requirements are described at the bottom of this page.

You are expected to comply with all Graduate Study Policies, please read over the policies before you start classes.

All students need to fill out an MSCS_Plan_of_Study by the end of the 7th week of their first quarter as a graduate student at Drexel. The Plan of Study, once filled out, should be forwarded to the Graduate Coordinator, for approval by the Graduate Advisor. It should be approved by the Graduate Advisor by the end of the student’s first quarter. The plan affirms the department’s commitment to allowing the student complete their degree on schedule if they follow their plan. A student is free to change their mind once the plan has been filed, but if they do so it becomes their responsibility to check (with the Graduate Advisor, if necessary) that they will still meet all course requirements in a timely fashion.

*Students in the program prior to fall 2010 have the option of completing the old MSCS Plan of Study or following the revised requirements below.



45 credits are required for the M.S. degree, which includes three core courses. If completing the Thesis Option, 3 Research credits followed by 6 Thesis credits are taken in the final year of study.

Curriculum sequence

All students are required to submit a plan of study form with the Department’s Graduate Advisor at the beginning of their studies. Significant changes to the plan of study should be discussed with the Graduate Advisor.

Precore Courses

These courses are intended for students without adequate CS background material and provide prerequisite knowledge for all other graduate CS courses. They may only be used to fulfill MS course requirements with the permission of the Graduate Committee.

  • CS 520: Foundations of Computer Science
  • CS 571: Programming Tools and Environments

Core Courses

The following core courses are required of all graduate students:

  • CS 521: Data Structures and Algorithms I
  • CS 525: Theory of Computation
  • CS 550: Programming Languages

Flexible Core

Students can choose three courses from the following list to satisfy their flexible core requirements:

  • CS 510: Artificial Intelligence
  • CS 522: Data Structures and Algorithms II
  • CS 530: Developing User Interfaces
  • CS 536: Computer Graphics
  • CS 540: High Performance Computing
  • CS 543: Operating Systems
  • CS 544: Computer Networks
  • CS 567: Applied Symbolic Computation
  • CS 576: Dependable Software Systems
  • CS 583: Introduction to Computer Vision

Breadth Requirement

In addition to the Mandatory Core and Flexible Core Requirements stated above, students are required to take a total of three courses for the Breadth Requirement, one each from three different areas defined in the list below. Any one course may not be used to satisfy both the Flexible Core and Breadth requirements. The Department’s Graduate Committee may add and remove courses from the list, or change the placement of a course in this partition, as it deems necessary (for example, to respond to changes in course content or scheduling, or to incorporate new course offerings). Such changes will be reflected in these web pages as they are made.

Algorithms and Theory

  • CS 522: Data Structures and Algorithms II
  • CS 620: Advanced Data Structures and Algorithms
  • CS 621: Approximation Algorithms
  • CS 623: Computational Geometry
  • CS 676: Parallel Programming

Artificial Intelligence and Robotics

  • CS 510: Introduction to Artificial Intelligence
  • CS 511: Robot Lab
  • CS 610: Advanced Artificial Intelligence
  • CS 612: Knowledge-Based Agents
  • CS 613: Machine Learning

Computer Graphics and Vision

  • CS 536: Computer Graphics
  • CS 583: Introduction to Computer Vision
  • CS 634: Advanced Computer Vision
  • CS 636: Advanced Computer Graphics
  • CS 637: Interactive Computer Graphics

Human-Computer Interaction

  • CS 530: Developing User Interfaces
  • CS 630: Cognitive Systems
  • CS 631: HCI: Computing Off the Desktop

Numeric and Symbolic Computation

  • CS 540: High-Performance Computing
  • CS 567: Applied Symbolic Computation
  • CS 668: Computer Algebra I
  • CS 669: Computer Algebra II

Programming Languages and Compilers

  • CS 551: Compiler Construction I
  • CS 552: Compiler Construction II
  • CS 650: Program Generation & Optimization
  • CS 676: Parallel Programming

Software Engineering

  • CS 575: Software Design
  • CS 576: Dependable Software Systems
  • CS 675: Reverse Software Engineering


  • CS 543: Operating Systems
  • CS 544: Computer Networks
  • CS 643: Advanced Operating Systems
  • CS 645: Network Security
  • CS 647: Distributed Software Systems
  • CS 500: Database Theory

Depth Requirement

M.S students are required to complete at least two CS courses beyond the breadth requirement. These courses should be 600- or 700- level courses.

Thesis Option

CS 898 Master’s Thesis (6 credits)

Usually students pursuing a Master’s Thesis will first do 3 research credits (CS 690 or CS 997) to obtain background knowledge required by the thesis topic. 6 Thesis credits are taken in order to conduct thesis-related research and to write/defend an MS thesis. It is the responsibility of the student to find a thesis supervisor.

Non-Thesis Option

Two additional 600 or 700 level CS courses are taken in place of the 6 thesis credits.

Two additional graduate level courses

These courses may come from either the 600 or 700 level CS courses. In addition, courses may be taken from outside the department, if on the list of approved electives, and may include CS 690 (Independent Study) and CS 997 (Research in Computer Science). CS 520 and CS 571 may only be used to fulfill the additional course requirement with permission of the Graduate Advisor. Any course not explicitly listed above, including independent study and research courses, must be approved by the Graduate Advisor.

Other courses, such as intermediate 500-level and special topics, that the department offers may qualify for fulfilling this requirement. Students must check with the department to see if this is the case, and have these courses approved by the Graduate Committee. Any course offered by other departments that is not on the list of approved external courses must be approved by the Department’s Graduate Advisor, or it will not count towards the degree.