Curriculum & Courses
Curriclum
General Requirements
The Master of Science in Computer Science program has both thesis and non−thesis plans. Both plans require taking the following courses:
- Two different theory−based core courses chosen from:
- Two different system−based core courses chosen from:
Thesis−Based Plan (in addition to General Requirements)
In the thesis−based option, students are required to:
- Take at least 6−hours of CS 6000 (Master’s Thesis).
- Take 12−hours of CS elective courses (3−hours of CS 7000 may be substituted for 3−hours of CS electives)
- Complete and defend a master’s thesis successfully.
Non−Thesis−Based Plan (in addition to General Requirements)
In the non−thesis plan, the student may choose from the project/report− or exam−based options. The project option is application−oriented
and includes the development of a software system. In the report option, a theoretical investigation is performed, such as proof of concept, algorithm development
and/or analysis, a study to gather and analyze data, and logic proofs. Both are documented by a report. The exam−based option requires passing a written
comprehensive examination.
In the project/report−based option, students are required to:
- Take 7 computer science electives (3−hours of CS 7000 may be substituted for 3−hours of CS electives).
- Take at least 3−hours of CS 6001 (Project) or CS 6002 (Report).
- Complete, for the project, a software system with report or must complete, for the report, an investigation with report.
- Complete an oral examination at the completion of the project or report.
In the exam−based option, students are required to:
- Take 8 computer science electives.
- NOT take CS 6000 or CS 7000 for credit towards his/her degree.
- Pass a written, comprehensive examination near the end of his/her studies.
Leveling Requirements
Students who do not hold a bachelor's or master's degree in computer science or a related field may be required to complete undergraduate leveling work.
Without mathematics background
- Statistics
- Calculus I
- Discrete Math
- Data Structures
- Algorithm Analysis
- Operating Systems OR Computer Architecture
With mathematics background
- Data Structures
- Algorithm Analysis
- Operating Systems OR Computer Architecture
Example Plan of Full−Time Study (Thesis−Based)
Fall Semester
- Graduate Core Course
- Graduate Core Course
- Graduate Core Course
Spring Semester
- Graduate Core Course
- Graduate Elective Course
- CS 7300 with Thesis Advisor
Summer Semester
- CS 6300 with Thesis Advisor (Thesis Proposal defense at the end of the semester)
Fall Semester
- Graduate Elective Course
- Graduate Elective Course
- CS 6300 with Thesis Advisor (Interview for jobs & Final Examination during this semester)
Example Plan of Full−Time Study (Non−Thesis−Based)
Fall Semester
- Graduate Core Course
- Graduate Core Course
- Graduate Elective Course
Spring Semester
- Graduate Core Course
- Graduate Elective Course (Interview for internships at the College of Engineering job fair)
Summer Semester
- Possible internship
Fall Semester
- Graduate Core Course
- Graduate Elective Course
- Graduate Elective Course or CS 7300 with Project/Report Advisor
Spring Semester
- Graduate Elective Course
- Graduate Elective Course
- Graduate Elective Course or CS 6301/6302 with Project/Report Advisor (Interview for jobs & Final Examination during this semester)



