The M.S. in Cybersecurity requires students to complete 30 total credits including 15 credits of core courses and 15 credits of electives. Learn more about each available course below. To ensure that students are well prepared for the academic rigor of the program, there are two preparatory courses available.Learn more about our preparatory courses.
Computer Security – 3 Credits
This course exposes students to the technical and behavioral reasons why computers and computer networks increasingly need to have adequate security measures that can safeguard sensitive information. Students begin by investigating the security measures that can be employed to safeguard information with a focus on the theory that goes into designing these measures, as well as studying common and proven security tools and techniques.
This course provides an in-depth study of various network attack techniques and methods to defend against them. A number of threats and vulnerabilities of the Internet will be covered, including various vulnerabilities of TCP/IP protocols, denial of service (DOS), attacks on routing, attacks on DNS servers, and TCP session hijacking. This course will also cover defending mechanisms, including intrusion detection, firewalls, tracing the source of attacks, anonymous communication, IPsec, virtual private network, and PKI. To make it easy for students to understand these attacks, basics of the TCP/IP protocols will also be covered in the course. The course adopts the "learning by doing" principle. Students are will learn the attacks by performing them in a restricted environment or a simulated environment. They will also play with a number of security tools to understand how they work and what security guarantee they provide. The experiments will be conducted in the virtual machine environments.
Areas of Study
Internet architecture; security and attacks on TCP/IP, DNS, and BGP protocols; Internet protocol security; firewalls; intrusion detection; network traceback; web security; encryption; Public Key infrastructure; one-way harsh function; digital signature; and security protocols.
In this course, students will explore the foundational theories, concepts, and computer-assisted reasoning tools necessary for creating assured systems.
Areas of Study
Functional programming; theorem proving; and logic for reasoning about access control, security, and trust.
Design and Analysis of Algorithms – 3 Credits
This course covers topics related to algorithm design and analysis. Students will develop the skills to divide and conquer algorithms, greedy algorithms, graph algorithms, algorithms for social networks, computational biology, optimization algorithms, randomization, and algorithm analysis. Assignments and project work will be broad in scope but will emphasize algorithmic thinking, performance guarantees and boundary cases, efficient solutions to practical problems and understanding how to analyze algorithms. More advanced topics will have students work with modern algorithms for real-world applications.
Areas of Study
Asymptotic analysis and recurrences; classical numeric algorithms; advanced data structures; graph algorithms; divide-and-conquer, greedy choice, dynamic programming, and other computational strategies; and NP-completeness.
Students will review classical operating system concepts (process and memory management, process coordination, device drivers, file systems, starvation/deadlock) before moving into modern topics of files systems (such as log-structured file systems, distributed file systems, memory-based file systems). Assignments and lab work is focused on operating system design (monolithic, communication-kernel, extensible/adaptable, distributed shared memory), multiprocessor issues (scheduling, synchronization, IPC), and some aspects of security (internet attacks, encryption, defenses). Students will also gain experience with Inspection and modification of actual operating system code (Linux).
The course includes weekly lab using a Unix-like operating system.
Areas of Study
Design and implementation of operating systems; process and memory management; resource scheduling; file system management; I/O and kernel services; and structuring.
Fundamentals of Data and Knowledge Mining – 3 Credits
This course will introduce popular data mining and statistical methods for extracting knowledge from data. The principles and theories of data mining methods will be discussed and will be related to the issues in applying data mining to real world problems. Students will also acquire hands-on experience using R programming language and Weka software to develop data mining solutions to scientific, social or business problems. The focus of this course is in understanding data and how to identify the right data mining techniques and formulate data mining tasks in order to solve problems using the data aided by data mining techniques.
Students will explore advanced concepts and state-of-the-art developments in computer architecture: memory systems, pipelining, simultaneous multithreading, run-time optimization, array processing, parallel processing, multiprocessing, abstract analytic models, power-aware computing, embedded computing, relationship between computer design and application requirements, cost/performance tradeoffs, and many example computers of interesting and unusual features. This course work and student projects will cover the principles, characteristics, and trends of computer systems design at a level appropriate for all computer scientists and computer engineers. The course focuses largely on hardware design, to include aspects of the complete system, comprising the hardware, operating system, compilers, and application software. Students will also gain an understanding of the hardware technology that has fueled the rapid progress of computer systems and complete case studies of current systems.
Areas of Study
Advanced computer architecture including discussion of instruction set design (RISC and CISC); virtual memory system design; memory hierarchies; cache memories; pipelining; vector processing; I/O subsystems; co-processors; and multiprocessor architectures.
Machine Learning – 3 Credits
This course explores the intersection of machine learning and computer security and offers an in-depth introduction to machine learning theory and methods. Students explore research problems in machine learning and its applications in security contexts. Topics include inductive learning, neural network approaches, computational learning theory, data mining, fraud detection, pattern recognition, and other contemporary applications.
Introduction to Cryptography – 3 Credits
This course provides an overview of classical and public-key cryptography. Topics include classical cryptosystems and their cryptanalysis, RSA and other public key cryptosystems, pseudo-random sequences, zero-knowledge protocols, related ethical and social concerns.
Biometrics – 3 Credits
This course introduces biometric technologies and modalities including fingerprint recognition, iris recognition, and facial recognition. Students experiment with several types of biometric authentications including fingerprint scanning, retinal scanning, facial recognition, and voice analysis. Students work with the sciences and technologies used to measure and analyze unique biological traits to safeguard identity, and learn about emerging trends in the industry.
Immersions allow students to meet and collaborate with their peers, learn from guest speakers who are industry experts, and participate in collaborative workshops. Immersions are held on campus Friday through Sunday of the first week of the semester starting in Fall 2017. Students will be required to attend at least one immersion that is not offered for credit during the degree program.