M.S. in Computer Science

College of the Sciences and Mathematics
Core Courses 1,2
CSC 520Foundations of Computer Science3
CSC 530Data Structures3
CSC 540Programming Languages3
CSC 560Analysis of Algorithms3
Select four 500-level electives from the following:12
Operating Systems
Networks and Data Communication
Database Systems Concepts
Software Engineering
Compiler Design
Artificial Intelligence
Data Science
Natural Language Processing
Topics in Computer Science
Topics in Information Systems
Topics in Computer Security
Topics in Web Technology
User Interfaces
System Administration and Security
Modern Web Applications Using Server-Side Technologies
Wireless Programming and Security
Select two 600-level courses from the following:6
Advanced Seminar 3
Advanced Seminar in Security 3
Advanced Seminar Web Technology 3
Internship in Computer Science
Independent Research 4
Thesis 4
Complete an additional CSC elective at the 500 or 600 level, numbered CSC 525 or greater. 3,43
Total Minimum Credits Required 33

A student must complete the four core courses within the first six courses taken.


All core courses must be completed before a student can take a 600-level course.


The advanced seminar courses (CSC 600, CSC 603, CSC 604) offer a variety of advanced topics in computer science. A student must take at least one of these courses and not more than two.


A student who elects to do a master's thesis must take CSC 610 (independent research) and CSC 620 (thesis). CSC 610 may count for credit towards the degree only once.

Thesis Options

Independent Research (CSC 610)

The student may work in one of three directions for this course:

  1. Master's thesis preparation: After consulting with a faculty advisor, the student will conduct a comprehensive literature search in a research area, write a detailed report on the current state of the art in that area, and develop a thesis proposal.

  2. Individual project: The student will work on a substantial programming project throughout the semester. The student will be expected to do sufficient background research and then design, as needed, all the data structures, flow of control, and so forth, required for implementation.

  3. Team project: The student will be involved in an ambitious software development project with at least one other student under the guidance of the advisor. This course emphasizes the development of those capabilities that are considered especially important in the practical world of computing, such as written and oral communications skills and the ability to work as part of a team.

Thesis (CSC 620)

The student is to carry out the research proposal developed in CSC 610. At the completion of the project, the student must submit a bound manuscript that meets the approval of the graduate committee.


To track their individual degree progress, students are advised to access their Degree Progress Report (DPR) via my WCU and consult their Graduate Coordinator.  For more information, visit wcupa.edu/DegreeProgressReport.

The following is a sample suggested course sequence for this program; course offerings and availability are not guaranteed. Students should consult their academic advisor with any questions.

Two-Year Plan

Plan of Study Grid
Year One
CSC 520 Foundations of Computer Science 3
CSC 530 Data Structures 3
CSC XXXComputer Science Elective 3
CSC 540 Programming Languages 3
CSC 560 Analysis of Algorithms 3
CSC 600 Advanced Seminar 3
Summer Session I
CSC XXXComputer Science Elective 3
Summer Session II
CSC XXXComputer Science Elective 3
Year Two
CSC 600 Advanced Seminar 3
CSC XXXComputer Science Elective 3
CSC XXXComputer Science Elective 3
6 credits from Year 1, Summer can be moved here.  
 Total Credits33