Masters Degree

The department MS Computer Science program currently offers three majors at the Master's level: Computer Science, Information Security, and Software Engineering. However, at this time, the Software Engineering program is suspended and not open to admission. Each major offers thesis, project and course-based options.

Students admitted to the Computer Science PhD program can obtain an MS degree only if they do not already have an MS degree in Computer Science or a highly related field. Eligible PhD students wishing the MS must have the intention of continuing their PhD program and first pass the PhD Qualifying Exam, CIS 8962, before applying for the MS.

In all majors, a student must complete 35 hours in computer science courses numbered 5000 or above, including CIS 5935 (2). The other 33 hours will consist of regular courses, approved offerings of CIS 5930 and CIS 6930 (Special Topics), and at most 9 thesis hours or 6 project hours if enrolled in the thesis or project options respectively. At most one course outside the department at the 5000 or 6000 level can also count towards the 35 hours if approved by the major professor and Director of Graduate Studies. Supervised teaching, supervised research, seminars, DIS and courses with prefix CGS do not count towards the 35 hours. The student must receive a grade of "B-" or better on all graduate courses taken to satisfy the minimum course requirements of the degree (other than thesis and project hours). Once these minimum requirements are met it is permissible to take any subsequent courses on an "S/U" basis. All work for the Masters degree, including any transferred credit, must be completed within seven (7) calendar years of the date of graduation.

Note: If a student enrolled prior to Spring 2008, then 32 instead of 35 total hours will be required and at most 6 thesis hours or 3 project hours if enrolled in the thesis or project options respectively.

As part of the 35 hours, each student is required to take:

  • CIS 5935 Introductory Seminar on Research (2),

and at least one course from each of the following three areas to satisfy the area requirements:

Software

  • COP 5725 Database Systems (3)
  • COP 5570 Concurrent, Parallel, and Distributed Programming (3)
  • COP 5621 Compiler Construction (3)

Systems

  • CDA 5155 Computer Architecture (3)
  • CNT 5505 Data and Computer Communications (3)
  • COP 5611 Operating Systems (3)

Theory

  • COT 5310 Theory of Automata and Formal Languages (3)
  • COT 5405 Advanced Algorithms (3)
  • COT 5507 Analytical Methods (3)

Note: Students majoring in Software Engineering are required to take the following course to satisfy the Software requirement, and students in the other majors who were admitted to the graduate program prior to Spring 2008 have the option of counting this course toward satisfaction of the Software area requirement:

  • CEN 5035 Software Engineering (3)
Note: Students admitted to the graduate program prior to Summer 2004 have the option of counting the following courses toward the Theory area requirement:
  • COT 5310 Theory of Automata and Formal Languages (3)
  • COT 5410 Complexity of Algorithms (3)
  • COT 5540 Logic for Computer Science (3)

Additional course requirements are associated with the specialized majors.

Information Security (InfoSec) Major

A student in the InfoSec major is required to take the following courses, some of which (*) also satisfy the area requirements:

  • CNT 5412 Network Security, Active and Passive Defenses (3)
  • CIS 5370 Computer Security (3)
  • CNT 5505 Data and Computer Communications* (3)
  • CIS 5371 Cryptography (3) - required for students beginning program Fall 2005 or later
  • CNT 5605 Computer and Network Administration (3)

plus one of the following courses:

  • CDA 5140 Fault Tolerance and Reliability (3)
  • COP 5570 Concurrent, Parallel, and Distributed Programming* (3)
  • COP 5611 Operating Systems* (3)
  • COT 5310 Theory of Automata and Formal Languages* (3)
  • COT 5405 Advanced Algorithms* (3)
  • COT 5410 Complexity of Algorithms* (3) (considered a core Theory course if enrolled prior to Summer 2004)

This major also includes the award of the Information Security Specialist Certificate. Students are not required to apply to the general CS MS degree beforehand, and are allowed to directly apply into the Information Security MS program.

Software Engineering (SE) Major (Currently Suspended)

Note: This major is currently suspended and is not accepting new applications for admission at this time.

A student in the SE major is required to take:

  • CEN 5035 Software Engineering (3)

which also satisfies the Software area requirement.

A plan of study will be developed by the student and the major professor which will include courses from the following list. This list is under revision at this time but will include:

  • CEN 5000 Knowledge Management and Data Engineering (3)
  • CEN 5020 Applicative Foundations of Software Engineering (3)
  • CEN 5064 Software Design (3)
  • CEN 5066 Software Engineering with Graphics (3)
  • CNT 5505 Data and Computer Communications* (3)
  • CEN 5720 Computer-Human Interactions (3)
  • COP 5385 Reactive Systems and HSM (3)
  • COP 5570 Concurrent, Parallel, and Distributed Programming* (3)
  • COP 5725 Database Systems (3)
  • COP 5621 Compiler Construction* (3)
  • CIS 5930 Software Project Management (3)
  • CIS 5930 Formal Methods in Software Engineering (3)
  • CIS 5930 Verification and Validation (3)
  • CIS 5930 Project Development (3)
  • ISM 5315 Project Management (3)

The courses listed as CIS 5930 will be taught as Special Topics until assigned a permanent number. Those in the above list with an (*) also satisfy the area requirements.

A student in this major must have a minimum of one year of full-time equivalence of documented software engineering experience involving actual work as a member of a software development team, with real customers, for pay.