Students complete this track by substituting four of the MSCS electives by four courses
designated for this track — two are required and two are electives.
1. Complete the two required courses
-
CS 558 - Intro to Computer Security
The course provides an introduction to the principles and practices of network,
computer, and information security. Topics include authentication and cryptographic
techniques, intrusion detection, access control, security policies, and program/policy
analysis techniques. Prerequisite: Undergraduate Operating Systems and Algorithms.
Term offered varies. 3 credits
Levels: Graduate, Undergraduate
-
CS 559 - Science of Cyber Security
This course focuses on techniques that approach cyber security problems in a principled
manner using concepts from data mining, game theory, graph theory, and psychology.
The intent of this course is to permit students to bridge the divide between real-world
cyber threats and formal, scientific foundations of solutions that address such threats.
Real-world cyber security issues, such as spamming, phishing attacks, malware, sybil
attacks in social networks, and DDoS attacks, are used to illustrate how cyber threats
can be modeled with abstract representations that are amenable to rigorous analysis
and formal reasoning. The course also emphasizes the development of cyber defense
mechanisms that are rooted in scientific foundations. Prerequisite: Undergraduate
Operating Systems and Algorithms. Term offered varies. 3 credits.
Levels: Graduate, Undergraduate
2. Complete two of the following electives
-
CS 527 - Mobile Systems Security
This course discusses cybersecurity issues in various aspects of mobile systems,
including mobile networks, mobile communications, mobile OSes, mobile applications,
and mobile devices. It presents technical details of how mobile systems work and explains
their vulnerabilities with potential security risks. The course uses a combination
of real-world mobile devices and high-fidelity emulation testbeds to demonstrate common
types of attacks in mobile systems as well as how to defend against these attacks.
In this course, students are expected to gain hands-on experiences with mobile systems
and learn basic techniques to tackle their cybersecurity problems.
Credits 3
Prerequisite: CS 350 Operating Systems, or equivalents
When offered: Expected to be offered at least once every two years
Levels: Graduate, Undergraduate
-
CS 528 - Computer Networks
Communication protocols and layering, hardware-software infrastructures for networking,
MAC protocols, data link protocols, switching, inter- and intra-domain routing, the
TCP/IP protocol suite, transport protocols, application layer protocols, local and
system area networks, wireless and sensor networks, overlay and virtual networks,
client-server and peer-to-peer models, network programming with sockets, protocol design and implementation issues, network security. Prerequisite: Undergraduate
Operating Systems. Term offered varies. 3 credits.
Levels: Graduate, Undergraduate
-
CS 536 - Intro to Machine Learning
This course provides a broad introduction to machine learning and its applications.
Major topics include: supervised learning (generative/discriminative learning, parametric/non-parametric
learning, support vector machines); computational learning theory (bias/variance tradeoffs,
VC theory, large margins); unsupervised learning; semi-supervised learning; reinforcement
learning. The course will give students the basic ideas and intuition behind different
techniques as well as a more formal understanding of how and why they work. The course
will also discuss recent applications of machine learning, such as to data mining,
bioinformatics, and information retrieval. Prerequisites: Undergraduate Algorithms,
Probability with Statistical Methods. Term offered varies. 3 credits..
Levels: Graduate, Undergraduate
Also available as 3-credit special topics courses: CS 580A (Hardware and Systems Security) and CS 580T (Topics in Data Privacy)