This graduate program provides expertise in applied and basic computing through its course offerings in computer systems, theory, languages, and algorithms. It is designed to prepare students for a career as a computing professional, although some students go on to pursue a Ph.D. degree.
The degree requirements are made up of ten 3-credit courses, including a required Grand Challenges course in which the student explores a computing topic under the guidance of a faculty advisor.
Please review the prerequisites to this program prior to applying. Follow the application guidelines when applying.
Required Courses for the M.S. Degree in Computer Science:
- CSC 8000 Foundations of Algorithms and Data Structures
- CSC 8301 Design and Analysis of Algorithms
- CSC 8310 Linguistics of Programming Languages
- CSC 8400 Computer Systems
- CSC 8510 Theory of Computability
- CSC 9025 Grand Challenges of Computing
Plus four elective courses approved for the Computer Science M.S. degree.
Note that the electives include the thesis course (CSC 9030), which is designed to extend the independent study work into a full master's thesis. This is an attractive option for students considering further graduate education.
Students may choose to participate in the practicum track that adds a 1-credit course (CSC 8990) to the requirements. This track requires work experience in a related field.
This school offers programs in:
Applicants to the Master’s program in Computing Science must hold a bachelor's degree from an institution accredited by one of the regional accrediting agencies, with an undergraduate GPA of at least 3.0. In addition, they must meet the following undergraduate prerequisites:
Students entering the graduate program are required to have proficiency in a modern computer programming language such as Java, C++, C#, or C. Familiarity with the object paradigm is highly recommended. Programming proficiency must include the following:
- Fundamental data structures, such as arrays, lists, stacks, queues, and trees
- Elementary iterative and recursive algorithms, including searching and sorting techniques
Undergraduate work in computer organization or computer architecture and operating systems is also required. The relevant topics include the following:
- Information representation
- CPU organization, operation, instruction sets, scheduling
- Memory organization, memory management
- File systems
- Concurrency, processes, threads
An undergraduate course in discrete structures (sometimes called discrete mathematics) is necessary for many aspects of computing. Additional requirements include calculus plus probability and statistics.
Options for Meeting the Prerequisites. The prerequisites may be completed at any accredited college or university, including community colleges. Villanova offers the required prerequisite undergraduate courses that may be taken through the part-time studies program if not already enrolled at Villanova.