Please Wait. Loading Menu...

Computer Science, M.S.

Program Director: Xinlian Liu, Ph.D.;  (301) 696-3981 

The Master of Science in Computer Science is a 33-credit degree program for persons seeking to enhance their professional qualifications and stature through graduate study in computer science. Individuals who graduate from the program will acquire knowledge and develop problem-solving skills that prepare them to hold a variety of scientific and technical positions in the area of computing applications. Graduates will also be prepared for further work at the doctoral level.

This program meets the needs of working students who study on a part-time basis. It is also suitable for full-time study if the student satisfies the foundation requirements. An international student who must have full-time status and who enters the program without completion of the foundation courses may need to take additional courses that are not part of the program in order to maintain that status when beginning the program. In this case, we will assist the student to enroll in courses in other related areas, such as mathematics. These supplementary courses will not count towards the degree completion.

The amount of time required to complete the degree will vary, depending on how many courses are taken each semester. All program requirements must be completed within seven years.

For admission information, see Graduate Admission and Program Specific Application Requirements. 

Prerequisite Courses 

The prerequisite courses represent background knowledge and skills necessary for successful completion of degree requirements. Some or all of the prerequisite courses may be waived by the program director, based upon an analysis of the student’s previous work. A student holding a baccalaureate degree in computer science will normally be granted exemption from, but not graduate credit for, all prerequisite courses.

  • MATH 505 Discrete Mathematics (3 credits)
  • CS 503 Programming and Algorithms I (3 credits)
  • CS 504 Programming and Algorithms II (3 credits)
  • CS 508 Computer Organization and Design (3 credits)
  • CS 519 Advanced Data Structures (3 credits)

Degree Requirements 

A student must complete 33 credits beyond prerequisite courses, including 15 credits of Core requirements. The Core courses represent the general body of knowledge and skills that all students in the program are expected to master.

Core Requirements: 

  • CS 520 Algorithm Analysis (3 credits)
  • CS 524 Principles of Software Engineering (3 credits)
  • CS 528 Artificial Intelligence (3 credits)
  • CS 564 Operating Systems (3 credits)

One of the following courses: 

  • CS 561 Computer Architecture (3 credits)
  • CS 571 Programming Languages (3 credits)

The program offers two options for completing the remaining 18 credits. A student may take all 18 credits as elective work, or may pursue Specialty Track plus elective work. The choice of which option and which elective work best suit the student’s goals should be made in consultation with a faculty adviser. The department currently offers a Specialty Track in Artificial Intelligence and a Specialty Track in Networks and Distributed Computing

Requirements for Specialty Track in Artificial Intelligence 

  • CS 528 Artificial Intelligence (3 credits)

Two of the following courses: 

  • CS 542 Perception in Artificial Intelligence (3 credits)
  • CS 543 Machine Learning (3 credits)
  • CS 544 Knowledge Representation and Reasoning (3 credits)

Requirements for Specialty Track in Networks and Distributed Computing 

Three of the following courses: 

  • CS 536 Web Services (3 credits)
  • CS 553 Data Communication and Network Security (3 credits)
  • CS 566 Parallel Computing (3 credits)

Regardless of which option is chosen as part of the required elective work, a student may, with permission of the department, elect to do a 6-credit thesis (CS 580), a 3- or 6-credit field work project (CS 585) or a 6-credit Software Engineering Project (CS 595).