30 credits Thesis track
33 credits Non-thesis track
Purpose of degree
The purpose of the degree is to prepare students for technical leadership roles which requiring greater knowledge, skills and responsibility than would the bachelor's degree. The program provides advanced, in-depth instruction on cutting-edge computer science areas such as machine learning, parallel computing, and computer security. It develops skills, such as the ability to perform independent research, which are essential to success in the computer technology field. The program also provides excellent preparation for those wishing to enter a Ph.D. program.
Mission statement of the department
The mission of the Computer Science Department is to prepare students to become successful computer science problem solvers.
Special resources of the department
The Computer Science Department has modern, well-equipped laboratories and an active externally funded research program.
Program of Study
Undergraduate prerequisites required:
To be admitted as a full-status graduate student, applicants should have a B.S. in computer science or a closely related field. If not, students must obtain the foundational computer science skills and mathematical knowledge that are equivalent to the following ESU courses::
CPSC 111
|
Introduction to Computer Programming and Problem Solving
|
CPSC 141
|
Introduction to Computer Organization
|
CPSC 151
|
Linear Data Structures and Elementary Algorithm Analysis
|
CPSC 232
|
Introduction to Assembler Programming
|
CPSC 240
|
Operating Systems and Computer Architecture
|
CPSC 251
|
Non-Linear Data Structures
|
CPSC 321
|
Issues in the Practice of Computer Science
|
CPSC 330
|
Programming Languages
|
MATH 140
|
Calculus and Analytic Geometry-I
|
MATH 141
|
Calculus and Analytic Geometry-II
|
MATH 220
|
Discrete Mathematical Structures
|
MATH 311
|
Statistics
|
MATH 320
|
Linear Algebra
|
Course descriptions are available in the undergraduate catalog.
Typical time to finish
The equivalent of two years of full-time study is usually required.
Illustrative plan of study
There are two options for the Master of Science in Computer Science: a thesis option and a non-thesis programming language option. For either option, the degree candidate must select a minimum of 18 credits of courses open only to graduate students.
Option I Thesis Option 30 Semester Hours
Programming Languages Area
Required:
At least one of the following:
CPSC 531
|
Advanced Topics in Software Engineering
|
3 credits
|
CPSC 532
|
Natural Language Processing
|
3 credits
|
CPSC 533
|
Compiler Construction
|
3 credits
|
CPSC 535
|
Parallel Computing
|
3 credits
|
Operating Systems/Architecture Area
Required:
CPSC 541
|
Computer Architecture
|
3 credits
|
At least one of the following:
CPSC 542
|
Operating Systems Design
|
3 credits
|
CPSC 544
|
Realtime Systems
|
3 credits
|
CPSC 545
|
Networking and Data Communication
|
3 credits
|
CPSC 547
|
Distributed Object Programming
|
3 credits
|
CPSC 548
|
Applied Network Security
|
3 credits
|
Theory
At least one of the following:
CPSC 562
|
Theory of Computation
|
3 credits
|
CPSC 563
|
Theory of Abstract Languages
|
3 credits
|
Data/File Structures
At least one of the following:
CPSC 550
|
Algorithmic Graph Theory
|
3 credits
|
CPSC 553
|
Database Systems
|
3 credits
|
CPSC 554
|
Data Structures and Algorithmic Analysis
|
3 credits
|
Topics/Electives
At least one additional course numbered 520 or higher.
Culminating Activities
Required:
CPSC 570
|
Introduction to Research
|
3 credits
|
CPSC 574
|
Research Project I
|
3 credits
|
CPSC 575
|
Research Project II
|
3 credits
|
A Thesis Defense
Option II Non-Thesis Option 33 Semester Hours
Programming Languages Area
Required:
At least one of the following:
CPSC 531
|
Advanced Topics in Software Engineering
|
3 credits
|
CPSC 532
|
Natural Language Processing
|
3 credits
|
CPSC 533
|
Compiler Construction
|
3 credits
|
CPSC 535
|
Parallel Computing
|
3 credits
|
Operating Systems/Architecture Area
Required:
CPSC 541
|
Computer Architecture
|
3 credits
|
At least one of the following:
CPSC 542
|
Operating Systems Design
|
3 credits
|
CPSC 544
|
Realtime Systems
|
3 credits
|
CPSC 545
|
Networking and Data Communication
|
3 credits
|
CPSC 547
|
Distributed Object Programming
|
3 credits
|
CPSC 548
|
Applied Network Security
|
3 credits
|
Theory
At least one of the following:
CPSC 562
|
Theory of Computation
|
3 credits
|
CPSC 563
|
Theory of Abstract Languages
|
3 credits
|
Data/File Structures
At least one of the following:
CPSC 550
|
Algorithmic Graph Theory
|
3 credits
|
CPSC 553
|
Database Systems
|
3 credits
|
CPSC 554
|
Data Structures and Algorithmic Analysis
|
3 credits
|
Topics/Electives
At least three additional courses numbered 520 or higher.
Culminating Activities
Required:
CPSC 570
|
Introduction to Research
|
3 credits
|
CPSC 574
|
Research Project I
|
3 credits
|
A Comprehensive Oral Exam
No graduate student who has an A, B, or incomplete grade in a graduate course may re-enroll for credit in the course for a second time without approval of the department chair and the department graduate coordinator.
Admission requirement and deadlines
Graduate school requirements and deadlines apply.
Graduate Independent Study
You may take Graduate Independent Study to fulfill part of your electives, which allows the student to pursue special topics beyond regular courses. It cannot cover the same topic as your project or thesis. The application must include a study plan and objectives, and needs to be approved by a supervising fulltime faculty member and the department.
Graduate Assistantships
Graduate Assistantships (GAs) are available through the department. These are awarded based upon merit and achievement to full-time students in the graduate program. GAs do not teach classes, but complete projects and tasks assigned by professors.
The GA is awarded for the first year of full-time study, with the possibility of extension through the first summer. Prospective students should apply for a graduate assistantship at the time of original application to the program, using the application form online.
For more information, contact the department chair and/or graduate coordinator at 570-422-3666.