Master of Science in Computer Science

For information, contact:
Director of Graduate Programs
Department of Computer Science and Software Engineering
205 Benton Hall, 513-529-0340


The Department of Computer Science and Software Engineering offers a master's degree program in computer science to students who hold a bachelor's degree in computer science or a closely related field. Students will complete advanced coursework in computer science, and have the option of pursuing one of three tracks: Academic Track, Industry Track with Research Experience, or the Industry Track. The Academic Track is recommended for students who want grounding in research and intend to pursue doctoral work. In this track you have the opportunity to work closely with a faculty member to complete a research-based thesis. The Industry Track with Research Experience is appropriate for students that want a research experience but expect to enter the computing profession upon graduation. Students in this track have the opportunity to complete an independent research project under the direction of a faculty member. The Industry Track is designed for those students who intended to pursue a career in the computing industry. This track offers additional course work to broaden the student's background. Depending upon the student's background and selected track the degree is expected to require one to two years of study.

Admission and Application Requirements

Entry into the graduate program requires completion of a bachelor's degree in computer science, or a closely related field. Specifically, successful applicants to our program should have mastered the following undergraduate topics:

  • Imperative and/or functional programming
  • Object-oriented programming
  • Basic algorithms and/or complexity
  • Computer organization and architecture
  • Concurrent and/or parallel programming
  • Software development methods and tools
  • Differential and integral calculus
  • Probability and statistics
  • Discrete mathematics or linear algebra

Successful applicants usually also have:

  • Undergraduate GPA: Equivalent of at least 3.00 on a 4.00 scale
  • GRE scores: Verbal, 35th percentile or better. Quantitative, 60th percentile or better. Analytical writing, 25th percentile or better.
  • TOEFL (when required): 80+ internet-based, 100+ preferred.

Applicants are ranked for admission based on these criteria, recommendation letters, and statement of purpose.

Combined Bachelor/Master's Program

Undergraduate students may apply to participate in the combined bachelors/master’s program. This program allows the student to pursue a master’s degree in an accelerated manner while simultaneously pursing a bachelor’s degree. It is a great opportunity to deepen your knowledge and research skills. Please contact the department for more information about the combined program.

Program Requirements

(31 semester hours)

The master's degree curriculum requires the completion of 24 semester hours of major course work (that is, courses from the “major courses” list below). In addition, each student must select a track, and complete the requirements of that track. The total semester hours required for the MCS degree is 31 hours of graduate study and any additional hours needed to satisfy any undergraduate deficiencies.

To successfully complete the program, students must satisfy both our breadth and depth course work requirements to guarantee that they graduate with the requisite computer knowledge. To complete the breadth requirement, satisfy the foundation and breadth requirements shown below. To complete the depth requirement, at least 4 breadth or elective courses must be at the 600 level.

Foundation Courses

You must take the following courses if you do not have equivalent course credit. None of these courses count toward the 24 credit hour graduate-level course work requirement. Also note that if you do not have a course equivalent to CSE 464/CSE 564, you must take CSE 564.

CSE 283Data Communication and Networks3
or CSE 381 Operating Systems
CSE 385Database Systems3
CSE 464/CSE 564Algorithms3
MTH 231Elements of Discrete Mathematics3

Required Courses

(31 credit hours)

Breadth Requirement
Select at least four courses from Theory, Systems, and Applications, including at least one from each of the areas 112
Depth Requirement
Select four courses at the 600 level from the list of Major Courses 212
Additional Requirement
CSE 610Seminar in Computer Science1
Program Track
Select, and complete the requirements for, a track6
Total Credit Hours31

Within each area, particular CSE 620 offerings may be used if approved by the Graduate Program Director. The breadth requirement may also be satisfied by completing the 400-level version of a 500-level course with a grade of B or higher.


If you take a 600 level course to meet the breadth requirement, it will also meet the Depth requirement (for 600 level courses) and you will need to take an additional course from the list of Major Courses to meet the credit hour requirement.

Breadth Requirement


Courses that emphasize proofs and theoretical techniques.

CSE 564Algorithms3
CSE 573Automata, Formal Languages, and Computability3
CSE 664Advanced Algorithms3
CSE 667Cryptography3

Courses that contain a significant amount of systems-level programming (memory management, concurrency control, assembly lanugage, or similar).

CSE 543High Performance Computing & Parallel Programming3
CSE 567Computer and Network Security3
CSE 574Compiler Design3
CSE 617Advanced Networks3

Courses that include a significant amount of high-level programming, applying computer science techniques to solve problems or build problems.

CSE 586Introduction to Artificial Intelligence3
CSE 618Graphics for Simulation and Virtual Environments3
CSE 627Machine Learning3

Depth Requirement

Major Courses
CSE 543High Performance Computing & Parallel Programming3
CSE 564Algorithms3
CSE 565Comparative Programming Languages3
CSE 567Computer and Network Security3
CSE 570Special Topics3
CSE 571Simulation3
CSE 573Automata, Formal Languages, and Computability3
CSE 574Compiler Design3
CSE 585Advanced Database Systems3
CSE 586Introduction to Artificial Intelligence3
CSE 587Game Design and Implementation3
CSE 615Mathematical Modeling3
CSE 618Graphics for Simulation and Virtual Environments3
CSE 620Special Topics3
CSE 621Foundations of Software Engineering3
CSE 627Machine Learning3
CSE 631Ontologies for Semantic Web3
CSE 664Advanced Algorithms3
CSE 667Cryptography3
CSE 690Graduate Research3
Affiliate Major Courses

At most 2 of these (6 hours) may be used as major courses

ECE 525Digital Signal Processing3
ECE 553Communication Systems3
ECE 561Network Performance Analysis3

Program Track

Academic Track

This track is for students who wish to learn how to write for and publish in scholarly journals or conferences. This is the recommended track for students who intend to go on to a Ph.D. program in computer science. To complete this track, the student must write and defend a thesis, and take (in addition to the core requirements): CSE 700 .

Industry Track with Research Experience

This track is for students who wish to work on a large independent research project supervised by a faculty member, but do not wish to learn scholarly writing and publishing. To complete this track, the student must create and publicly present a research project, and take (in addition to the core requirements): CSE 700.

Industry Track

This track is for students who intend to pursue careers in industry, but wish to focus on more advanced coursework instead of research. Students in this track should take (in addition to all other requirements) two additional courses (6 credit hours) from the "major courses" list, and must have at least five major courses at the 600 level.