New Building Website

Master of Computer Science (MCS) Curriculum

 

The Master’s degree curriculum requires the completion of 24 credit-hours of formal course work. In addition to course work, each student must complete a minimum of six hours of thesis research (which must be taken over a minimum of two semesters) and three credit hours of research seminar (one hour per semester) related to their area of research. Total hours for the MCS program is 33 hours of graduate study and any additional hours needed to satisfy any undergraduate course deficiencies. No course with a number in the 600 - 609 range may be used to satisfy the 33 hours of study.

To successfully complete the program, students must satisfy both our breadth and depth requirements: Each student must take at least 24 credit-hours (8 courses) of graduate-level course work, not including seminars and thesis research.1

  • Breadth requirement: Students must satisfy the foundation and breadth requirements to guarantee that they graduate with sufficient breadth and depth of basic C.S. knowledge in the areas of theory, systems, and applications.
  • Depth requirement: To guarantee that students possess sufficient C.S. depth, at least 12 of the required credit-hours (4 courses) must be at the 600 level. Furthermore, students should choose courses to complement their area of research.

 

These requirements should be satisfied according to the following course constraints:

  • Foundation courses: If students haven’t had the equivalent of these courses, they must take them. None of these courses will count towards the 24 credit-hour graduate-level course work. (We expect that the typical student with an undergraduate degree in computer science will already have taken most if not all these courses.)
    • CSA 283 Data Communications and Networks
    • CSA 381 Operating Systems
    • CSA 385 Database Systems
    • CSA 464 Analysis of Algorithms
    • MTH 231 Discrete Mathematics

  • Breadth courses: Students must pick at least one course from each of the areas of theory, systems, and applications for a total of four courses. The requirement of four courses ensures that a student has some concentration in one of the breadth areas.
    • Theory:
      • CSA 573 Automata, Formal Languages and Computability
      • CSA 615 Mathematical Modeling
    • Systems:
      • CSA 621 Foundations of Software Engineering
      • CSA 617 Advanced Networks
    • Applications:
      • CSA 585 Advanced Database Systems
      • CSA 586 Introduction to Artificial Intelligence

    Individual breadth requirements are considered satisfied if a student has taken the corresponding CSA 4xx course and received a letter grade of B (3.0) or higher. Students who have taken a similar course from an external program may satisfy the requirement by achieving a satisfactory score on a corresponding breadth exam. These exams must be taken at officially scheduled times and can only be taken once for each specific course. If a breadth requirement is satisfied by either case, the student must substitute a CSA elective course for the breadth course so as to meet the 24 credit-hour requirement.

  • Electives courses: Listed below is a set of currently offered CSA electives. Any breadth course not used to satisfy the breadth requirement is also considered an elective. The remainder of a student’s required 24 credit-hours of graduate courses should be selected from among these electives. Students who have already taken a particular CSA 4xx course cannot select the corresponding CSA 5xx course as an elective. A student may take at most two ECE electives.

 

Additional Requirements

  • Research Seminars (3 Credit-hours)
  • Thesis Research (6 Credit-hours)

 

1 Note that students in the CSA Combined Program may use at most two of these graduate courses to also satisfy their undergraduate requirements.