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.)
- 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:
- Systems:
- Applications:
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.
- CSA 565 Comparative Programming Languages
- CSA 570 Special Topics
- CSA 571 Simulation Modeling
- CSA 574 Compiler Design
- CSA 618 Graphics for Simulation and Virtual Environments
- CSA 620 Special Topics
- CSA 624 Expert Systems
- CSA 627 Machine Learning
- CSA 628 Advanced Simulation
- CSA 690 Graduate Research
- ECE 525 Digital Signal Processing
- ECE 553 Communication Systems
- ECE 561 Network Performance Analysis
Additional Requirements
- Research Seminars (3 Credit-hours)
- CSA 610 Research Seminar
- Thesis Research (6 Credit-hours)
- CSA 700 Thesis Research
1 Note that students in the CSA Combined Program may use at most two of these graduate courses to also satisfy their undergraduate requirements.
