2020-2021 Graduate Catalog 
    Feb 22, 2024  
2020-2021 Graduate Catalog [ARCHIVED CATALOG]

Computer Science, M.S.

Return to {$returnto_text} Return to: Graduate School Programs

Graduate Coordinator: Barun Chandra, Ph.D.

Program Outcomes

1. Develop a large software project, one that is well designed, complete, functions properly, and is  presented appropriately.

 2. Understand one aspect of modern computer systems in greater depth: networks, operating     systems, parallel architectures or databases.

 3.  Student has mastered the methods and algorithms of one area of computer theory work independently.

4. Explain the current developments and concerns related to at least two subareas of computer Science.


Students with an adequate background in computer science will complete 30 credits of course work consisting of 9 credits of distribution courses, and 21 credits of elective courses. In addition, within these 30 credits of course work, students must satisfy a project requirement and a programming language requirement.

Students with a background other than computer science may need to complete up to 18 additional credits of core courses. Any of the six required core courses may be waived on the basis of appropriate undergraduate or graduate courses, subject to the approval of the Computer Science graduate coordinator. Students who seek a waiver must submit, after arrival at the university, supporting documentation to the coordinator before or during the student's first trimester. Only courses with grades of B or better may be used for waiver purposes. Students are expected to complete the core courses as soon as possible after joining the program.

Required non-core courses cannot be waived, but transfer credit and substitutions may apply. However, this is subject to the university's 30-credit residency requirement; students must complete a minimum of 30 credit hours at the university.

Placement Policy

Students are placed in the programming sequence by the graduate coordinators. Those with sufficient experience may waive CSCI 6604 CSCI 6610  and/or CSCI 6620  on the basis of placement exams. A beginning programmer must start with CSCI 6604 .  Additionally, students should take CSCI 6642  at the start of the program since this is a core course with no prerequisites.

Before enrolling in any course, students must make sure that they meet the prerequisites for that course (as specified in the course description) either by courses taken as part of the program or by work done outside the program. Normally, a grade of B or better in a prerequisite course will meet our expectations for mastery of the subject. Credit may be denied for a course taken without first satisfying its prerequisites unless prior written approval was obtained from the graduate advisor.

Distribution Courses (9 credits not waivable)

Select one course from each of the following three categories:

Electives (21 credits)

Each student will select 7 Elective courses. These include all Computer Science graduate courses other than the six Core Courses. Up to two of these 7 elective courses can be Electrical Engineering ELEC courses.

Programming Language Requirement

Each student must demonstrate mastery of a programming language other than C by completing at least one of the programming language courses listed below.

Project Requirement

Each student must complete a substantial individual project.   There are three different ways to satisfy the project requirement:

  1. Completing a Project course.   The current list of Project courses consists of CSCI 6623, CSCI 6626, CSCI 6639, CSCI 6645, CSCI 6647, CSCI 6648, CSCI 6649, CSCI 6655, CSCI 6656, CSCI 6663, CSCI 6667, CSCI 6682, and CSCI 6683.
  2. CSCI 6690 Master's Project course.   Students who plan to do CSCI 6690 Project must find a project advisor, prepare a project proposal and obtain written approval for the project prior to registration.
  3. CSCI 6698 Thesis I and CSCI 6699 Thesis II.  Students who plan to do a thesis should start in their first or second term at the university to find a thesis advisor, prepare a thesis proposal, and obtain written approval for the thesis prior to registration.

Return to {$returnto_text} Return to: Graduate School Programs