Master of Science in the Field of Computer Science

Program Overview

The Department of Computer Science offers a graduate degree program leading to the master of science in the field of computer science. After completing core requirements, students select electives in subject areas such as computer security and information assurance, database and information retrieval systems, software engineering and systems, biomedical computing, digital media and computer graphics, networking and mobile computing, computer architecture, pervasive computing and embedded systems, machine intelligence, robotics, and algorithms and theory. Students are not required to take elective courses in a particular subject area or across subject areas. Both thesis and non-thesis options are available.

Specific admission requirements are shown on the Graduate Program Finder.

Visit the program website for additional information.  

Prerequisites:

In addition to the entrance requirements, students are expected to be adequately prepared in the basic physical sciences and in mathematics (one year each of university laboratory science and of math beyond precalculus). Students are also expected to have taken a course in computer programming using a structured language, as well as CSCI 1112 Algorithms and Data StructuresCSCI 1311 Discrete Structures I, and  CSCI 2461 Computer Architecture I, or their equivalents.

Educational Planner:

In consultation with an academic advisor, each student must develop an Educational Planner through DegreeMAP that governs the student’s degree requirements. The Educational Planner should be established soon after matriculation and must be completed before the end of the student’s first semester. The Educational Planner must be approved by the advisor.

The following requirements must be fulfilled: Thesis option—30 credits, including 9 credits in required courses and 15 credits in elective courses, and 6 credits in thesis; non-thesis option—30 credits, including 9 credits in required courses and 21 credits in elective courses.

At least 24 of the 30 credits required for the degree must be taken at the 6000 level or above. As a general rule, any course taken below the 6000 level must be a CSCI course and must be eligible to be taken for graduate credit according to the course description in this Bulletin. Any course below the 6000 level must receive the prior written approval of the student's faculty advisor.

Program restrictions:

If a student's admission letter states that they are required to take CSCI 6010 and CSCI 6011 they will be limited to EMSE 6540 Management of Information Systems and Security as their only non-CSCI course. Students required to take CSCI 6010 and CSCI 6011 must take these courses in their first semester. Students not required to take 6010 and 6011 may take up to three non-CSCI courses (9 credits) towards their degree with the prior written approval of the advisor.

If a student's admission letter states that they are required to take CSCI 6010 and CSCI 6011 they will be limited to EMSE 6540 as their only non-computer science (CSCI) course. Students required to take CSCI 6010 and CSCI 6011 must take these courses in their first semester. Students not required to take CSCI 6010 and CSCI 6011 may take up to three non-(CSCI) courses (9 credits) towards their degree with prior written approval from their advisor.

At least 24 of the 30 credits required for the degree must be at the 6000 level or above. As a general rule, any course taken below the 6000 level must be a computer science course and must be eligible to be taken for graduate credit according to the course description in this Bulletin. Exceptions may be made if a course will enhance an aspect of the student's degree program. If a student wishes to count a course numbered below 6000 toward the degree, they must obtain prior written approval from their advisor.

Required
CSCI 6212Design and Analysis of Algorithms
CSCI 6221Advanced Software Paradigms
CSCI 6461Computer System Architecture
EMSE 6540Management of Information and Systems Security
One of the following applied cryptography courses (3 credits):
CSCI 6331Cryptography
CSCI 6541Network Security
CSCI 6545Software Security
One additional computer science security course (3 credits) selected from the following. The selected course must be in addition to that used to fulfill the applied cryptography course requirement.
CSCI 6331Cryptography
CSCI 6531Computer Security
CSCI 6532Information Policy
CSCI 6541Network Security
CSCI 6542Computer Network Defense
CSCI 6545Software Security
CSCI 6547Wireless and Mobile Security
CSCI 6548E-Commerce Security
CSCI 6907Special Topics
CSCI 8331Advanced Cryptography
CSCI 8531Advanced Topics in Security
Special topics courses taken for credit toward the degree must be approved in advance by the faculty advisor and must focus on security or cryptography.
All computer science security courses listed above are eligible to meet this requirement if they have not been used to fulfill another requirement.
The following courses also are approved for this requirement.
EMSE 6537Information Operations
EMSE 6543Managing the Protection of Information Assets and Systems
EMSE 6545Internet and Online Law for Security Managers
Any other cybersecurity-related course from across the university must be approved in advance by the student's advisor before it can be taken for credit towards the degree.
Electives
Students who are not pursuing the thesis option and are not required to take CSCI 6010 or CSCI 6011 can choose any two additional courses (6 credits) numbered 6000 or higher.
Students who are pursuing the thesis option must obtain the written approval of their thesis advisor before registering for the following courses
CSCI 6998Thesis Research
CSCI 6999Thesis Research
With departmental approval, students who complete the master of science in the field of computer science and then enroll in the master of science in the field of cybersecurity in computer science degree or vice versa can count the following core courses towards both degrees:
CSCI 6212Design and Analysis of Algorithms
CSCI 6221Advanced Software Paradigms
CSCI 6461Computer System Architecture