The 5-year Bachelor of Science + Master of Science program in Computer Science provides research training for students who wish to work in a computing research lab, or possibly continue to PhD studies.

Students enter the "MS-phase" of the program when they have met the following requirements:

  • They have achieved senior status, i.e., earned 89 credit hours towards their Bachelor of Science in Computer Science.
  • Within the requirements for a Bachelor of Science in Computer Science, they have completed the prerequisites for entry into the regular Master of Science program, i.e.:
    Pre-Requisites for entry to Regular MS in Computer Science Program
    CSC 120Computer Programming I4
    CSC 220Computer Programming II4
    CSC 314Computer Organization and Architecture3
    CSC 317Data Structures And Algorithm Analysis3
    CSC 427Theory Of Computing3
    MTH 161Calculus I4
    MTH 224Introduction to Probability and Statistics3
    MTH 309Discrete Mathematics I3
  • They have completed 3 credit hours of CSC 410 and/or CSC 411 in a research-oriented project.
  • They have an overall GPA of at least 3.0.
  • They have a GPA of at least 3.3 in the CSC courses taken towards their BS in Computer Science.
  • They have advised the Director of Graduate Studies of their eligibility for the MS-phase.

Students in the MS-phase must complete 3 further credit hours of CSC 410 and/or CSC 411 in a research-oriented project, as part of their Bachelor of Science in Computer Science (this project will normally be the starting point for the Master of Science research). Students in the MS-phase may take up to 12 credits of courses, including 600 level courses, that count towards completing the requirements for the Master of Science in Computer Science. When students have completed the requirements for a Bachelor of Science in Computer Science they will be awarded that degree, and when they have completed the requirements for the Master of Science in Computer Science they will be awarded that degree. 

Incoming students can be admitted to the program if their mathematics placement is MTH 108 or higher. Existing Bachelor of Science in Computer Science students can switch into the program when they have met the requirements for entering the MS-phase of the program. Students can be removed from the program if they have not met the prerequisites for admission to the MS-phase by the time they have achieved senior status. If a student is removed or decides to withdraw from the program, any 600 level courses taken may be used to fulfill the requirements for a Bachelor of Science in Computer Science.

B.S. Curriculum Requirements

Core Computer Science Courses
CSC 120Computer Programming I4
CSC 220Computer Programming II4
CSC 314Computer Organization and Architecture3
CSC 317Data Structures And Algorithm Analysis3
CSC 322System Programming3
CSC 427Theory Of Computing3
CSC 431Introduction To Software Engineering3
Core Mathematics Courses 1
MTH 161Calculus I (or equivalent - MTH 140 and MTH 141, MTH 151, or MTH 171)4
MTH 162Calculus II (or equivalent - MTH 172)4
MTH 210Introduction to Linear Algebra3
MTH 224Introduction to Probability and Statistics3
MTH 309Discrete Mathematics I3
Tracks
Select one of the following Tracks:17
Comprehensive Track: 2,3
Programming Languages
Principles Of Computer Operating Systems
Database Systems
Computer Networks
Select a minimum of 5 credit hours of approved electives
Flexible Track: 2
Select a minimum of 17 credit hours of approved electives
Computational Science Track: 4
Computing for Scientists
Introduction to Parallel Computing
Computational Geometry
Bioinformatics Algorithms
Computer Science Project Planning
Computer Science Project Implementation
Introduction to Numerical Analysis
Numerical Linear Algebra
General Biology 5
General Biology Laboratory 5
Cryptography and Security Track: 4
Principles Of Computer Operating Systems
Computer Networks
Data Security and Cryptography
Computer Science Project Planning
Computer Science Project Implementation
Select one of the following:
Survey Of Modern Algebra
Theory of Numbers
Abstract Algebra I
Select a minimum of 2 credit hours of approved electives
Graphics and Games Track: 4
Introduction to Game Programming
Introduction to Computer Graphics
Introduction to Artificial Intelligence
Computer Science Project Planning
Computer Science Project Implementation
Select a minimum of 5 credit hours of approved electives 6
University Physics I for the Sciences 5
University Physics I
College Physics I
Science & Ethics Requirement
An approved two semester sequence of courses with laboratory in Biology, Chemistry, or Physics8-11
PHI 115Social and Ethical Issues in Computing3
Approved Electives
Any CSC 2XX, CSC 3XX, CSC 4XX, CSC 5XX 7
Information Security
Computer Organization and Design
Computer Architecture
Principles of Artificial Intelligence
Machine Learning
Neural Networks
Object-Oriented and Distributed Database Management Systems
Agent Technology
Data Mining
Introduction to Numerical Analysis
Theory of Numbers
Numerical Linear Algebra
Numerical Methods In Differential Equations
Introduction to Probability
Introduction to Mathematical Statistics
Statistical Analysis
Additional Requirements
ENG 105English Composition I3
ENG 106English Composition II3
Language Requirement3-9
Arts and Humanities Cognate9
People and Society Cognate9
Electives25
Total Credit Hours120-129
1

 These mathematics courses can also fulfill the requirements for a Minor in Mathematics (see here for details).

2

Available to all students.

3

The Comprehensive Track provides coverage of the topics in Computer Science prescribed by the Association of Computing Machinery curriculum and the ABET Computing Accreditation Commission.

4

Requires permission of the Director of Undergraduate Studies.

5

This course may also be applied towards the Science requirement.

6

In addition to the generally approved electives, MMI 504 and MMI 505 are approved for the Graphics and Games track.

7

Maximally 6 credit hours from CSC 40X Computer Science Practicum, and maximally 6 credit hours from CSC 481.

M.S. Curriculum Requirements

Students must complete the Graduate School requirements, and the Departmental requirements described here.

Select either the Thesis Option or the Coursework Option 124-30
Thesis Option
CSC 810Master's Thesis6
24 credits from approved courses, including at least 9 credits from CSC7XX courses.
Coursework Option
30 credits from approved courses, including at least 18 credits from CSC7XX courses.
Total Credit Hours30-36
1

For both options, at least 18 credit hours must be from CSC 6XX and CSC 7XX courses, and may not include more than 6 credit hours from CSC 670

Each program must include both theoretical and experimental topics. By graduation students will have knowledge in the areas of Programming Languages, Algorithm Design and Analysis, Theory of Computing, Operating Systems, Computer Networks, and Software Engineering. Each program is approved by the CSGC and the Department Chairman or designate. Programs may be individually tailored to meet varied backgrounds and objectives. It is recognized that there are individuals with undergraduate degrees in other fields wishing to pursue graduate work in Computer Science, and individuals with work experience in the field wishing to advance their formal training in Computer Science.

 

Suggested Plan of Study

Plan of Study Grid
Year One
FallCredit Hours
CSC 120 Computer Programming I 4
MTH 161 Calculus I 4
ENG 105 English Composition I 3
Language Course 3
Elective 3
 Credit Hours17
Spring
CSC 220 Computer Programming II 4
MTH 162 Calculus II 4
ENG 106 English Composition II 3
Language Course 3
Elective 3
 Credit Hours17
Year Two
Fall
CSC 314 Computer Organization and Architecture 3
CSC 322 System Programming 3
MTH 309 Discrete Mathematics I 3
BIL or CHM or PHY Course I 4
BIL or CHM or PHY Associated Lab I 1
Language Course 3
 Credit Hours17
Spring
CSC 317 Data Structures And Algorithm Analysis 3
CSC 427 Theory Of Computing 3
MTH 210 Introduction to Linear Algebra 3
BIL or CHM or PHY Course II 4
BIL or CHM or PHY Associated Lab Course II 1
PHI 115 Social and Ethical Issues in Computing 3
 Credit Hours17
Year Three
Fall
CSC 421 Principles Of Computer Operating Systems 3
CSC 423 Database Systems 3
MTH 224 Introduction to Probability and Statistics 3
People and Society Cognate Course 3
Writing Intensive Course 3
 Credit Hours15
Spring
CSC 410 Computer Science Project Planning 3
CSC 424 Computer Networks 3
ENG 233 Advanced Writing for STEM 3
Arts and Humanities Cognate Course 3
People and Society Cognate Course 3
 Credit Hours15
Year Four
Fall
CSC 405 Computer Science Seminars 1
CSC 411 Computer Science Project Implementation 3
600 Level CSC Course 3
600 Level CSC Course 3
Arts and Humanities Cognate Course 3
People and Society Cognate Course 3
 Credit Hours16
Spring
CSC 419 Programming Languages 3
CSC 431 Introduction To Software Engineering 3
600 Level CSC Course 3
Arts and Humanities Cognate Course 3
Elective 3
 Credit Hours15
Year Five
Fall
600 Level CSC Course 3
600 Level CSC Course 3
700 Level CSC Course 3
CSC 810 Master's Thesis 3
Elective 3
 Credit Hours15
Spring
700 Level CSC Course 3
700 Level CSC Course 3
CSC 810 Master's Thesis 3
Elective 3
Elective 3
 Credit Hours15
 Total Credit Hours159