Master of Science in Computer Science

Master of Science in Computer Science

DKA offers a highly adaptive MS in Computer Science program that lets you shape the degree around your interests. Besides our core curriculum in the fundamentals of computer science, you have a number of electives to choose from. You can focus on such topics as computer and network security, distributed systems and networking, computer graphics, and web search technology, along with subjects outside the department.

Job opportunities in computer science are challenging and diverse, and we expect to see steady demand for highly qualified graduates at all levels. As a graduate, you can explore a number of possible occupations, including applications programmer, database manager, systems administrator, or IT analyst.

Admission to this program requires you to have an undergraduate degree in computer science, mathematics, science, or engineering, with a superior undergraduate record from an accredited institution. Applicants for admission with degrees in other fields are considered individually. Generally, entering students are expected to know mathematics through calculus. We also recommend the following:

  • At least 1 year of university-level science.
  • A working knowledge of a high-level, general-purpose programming language (preferably C++).
  • A basic understanding of computer fundamentals such as computer organization and operation, data structures, and computer architecture.
  • Demonstrated ability to communicate in written and spoken English is required for regular status. Students for whom English is a second language may be required to undertake preparatory work to improve their language skills.

Students entering with a Bachelor’s in Computer Science or with a bachelor’s in a technical area and a strong minor in computer science should be able to satisfy entrance requirements for the master’s degree program.

Students who have superior academic credentials but who lack sufficient background are admitted with conditional status, pending satisfactory completion of several individually specified preparatory courses. Such students are interviewed to determine the preparatory courses they need to complete. Successful completion of the preparatory courses with a B or better average grade is a necessary condition for transfer to regular status.

Degree Requirements

To satisfy the requirements for the master’s degree, you must complete 30 credits, as described below, with an overall average of B. In addition, a B average is required across the 6 core courses, as indicated below. The master’s curriculum has 2 components: 18 credits of core elective courses and 12 credits of general elective courses.

Core electives are organized into 3 core areas: Computer Systems, Programming/Software, and Theory. You must take at least 6 core elective courses, with 2 courses coming from each of the core areas.

In addition to the core electives, you are required to take 4 general elective courses but have considerable flexibility.

Master’s thesis (6 credits) and/or independent study courses may be part of your 4 elective courses

  • Any of the courses in the 3 core areas may be chosen as electives
  • Graduate-level courses from outside of the department (at most 2) may be chosen as electives
  • Any CS graduate course not included in the core areas may be chosen as electives.

We offer 2 preparatory bridge courses for students who do not have a working knowledge of a high level, general-purpose programming language:

COM103: Introduction to Programming

COM104: Data Structures

Master’s Thesis

Exceptional students may elect to write a master’s thesis, for which no more than 6 credits may be earned toward the degree. Such students should find an appropriate adviser who has agreed to monitor the thesis research. Such research need not be original, but should adequately demonstrate the proficiency in the subject material. An oral defense of the master’s thesis with at least 3 professors in attendance is required.

Program Level Learning Outcomes of the Master of Science in Computer Science Program

These outcomes describe what students are expected to know and be able to do by the time of graduation. They relate to the skills, knowledge, and behaviors that students acquire in their matriculation through the program.

  • Students will have the ability to use current techniques, skills, and tools necessary for computing practice.
  • Students will recognize the need for, and will have the ability to engage in, continuing professional development
  • Students will have the ability to communicate effectively with a range of audiences.
  • Students will have the ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs.
  • Students will have the ability to analyze a problem and identify and define the computing requirements appropriate to its solution.
  • Students will have the ability to apply knowledge of computing and mathematics appropriate to the discipline.