Computer Science M.S.

30 credits – Thesis track

33 credits – Non-thesis track

Purpose of degree

The purpose of the degree is to prepare students for technical leadership roles which requiring greater knowledge, skills and responsibility than would the bachelor’s degree. The program provides advanced, in-depth instruction on cutting-edge computer science areas such as machine learning, parallel computing, and computer security. It develops skills, such as the ability to perform independent research, which are essential to success in the computer technology field. The program also provides excellent preparation for those wishing to enter a Ph.D. program.

Mission statement of the department

The mission of the Computer Science Department is to prepare students to become successful computer science problem solvers.

Special resources of the department

The Computer Science Department has modern, well-equipped laboratories and an active externally funded research program.

Illustrative plan of study

There are two options for the Master of Science in Computer Science: a thesis option and a non-thesis programming language option. For either option, the degree candidate must select a minimum of 18 credits of courses open only to graduate students.

Option I – Thesis Option – 30 Semester Hours

Programming Languages Area

Required:

CPSC 530Software Engineering

3 credits

At least one of the following:
CPSC 531Advanced Topics in Software Engineering

3 credits

CPSC 532Natural Language Processing

3 credits

CPSC 533Compiler Construction

3 credits

CPSC 535Parallel Computing

3 credits

Operating Systems/Architecture Area

Required:

CPSC 541Computer Architecture

3 credits

At least one of the following:
CPSC 542Operating System Design

3 credits

CPSC 544Real Time Systems

3 credits

CPSC 545Networking and Data Communications

3 credits

CPSC 547Distributed Object Programming

3 credits

CPSC 548Applied Network Security

3 credits

Theory

At least one of the following:

CPSC 562Theory of Computation

3 credits

CPSC 563Theory of Abstract Languages

3 credits

Data/File Structures

At least one of the following:

CPSC 550Algorithmic Graph Theory

3 credits

CPSC 553Database Systems

3 credits

CPSC 554Data Structures and Algorithm Analysis

3 credits

Topics/Electives

At least one additional course numbered 520 or higher.

Culminating Activities

Required:

CPSC 570Introduction to Research

3 credits

CPSC 574Research Project

3 credits

CPSC 575Research Project II

3 credits

Option II – Non-Thesis Option – 33 Semester Hours

Programming Languages Area

Required:

CPSC 530Software Engineering

3 credits

At least one of the following:
CPSC 531Advanced Topics in Software Engineering

3 credits

CPSC 532Natural Language Processing

3 credits

CPSC 533Compiler Construction

3 credits

CPSC 535Parallel Computing

3 credits

Operating Systems/Architecture Area

Required:

CPSC 541Computer Architecture

3 credits

At least one of the following:
CPSC 542Operating System Design

3 credits

CPSC 544Real Time Systems

3 credits

CPSC 545Networking and Data Communications

3 credits

CPSC 547Distributed Object Programming

3 credits

CPSC 548Applied Network Security

3 credits

Theory

At least one of the following:

CPSC 562Theory of Computation

3 credits

CPSC 563Theory of Abstract Languages

3 credits

Data/File Structures

At least one of the following:

CPSC 550Algorithmic Graph Theory

3 credits

CPSC 553Database Systems

3 credits

CPSC 554Data Structures and Algorithm Analysis

3 credits

Topics/Electives

At least three additional courses numbered 520 or higher.

Culminating Activities

Required:

CPSC 570Introduction to Research

3 credits

CPSC 574Research Project

3 credits

No graduate student who has an A, B, or incomplete grade in a graduate course may re-enroll for credit in the course for a second time without approval of the department chair and the department graduate coordinator.

Admission requirement and deadlines

Graduate school requirements and deadlines apply.

Graduate Independent Study

You may take Graduate Independent Study to fulfill part of your electives, which allows the student to pursue special topics beyond regular courses. It cannot cover the same topic as your project or thesis. The application must include a study plan and objectives, and needs to be approved by a supervising fulltime faculty member and the department.

Graduate Assistantships

Graduate Assistantships (GAs) are available through the department. These are awarded based upon merit and achievement to full-time students in the graduate program. GAs do not teach classes, but complete projects and tasks assigned by professors.

The GA is awarded for the first year of full-time study, with the possibility of extension through the first summer. Prospective students should apply for a graduate assistantship at the time of original application to the program, using the application form online.

For more information, contact the department chair and/or graduate coordinator at 570-422-3666.