Students complete this track by substituting four of the BSCS electives by four courses
designated for this track — two are required and two are electives.
1. Complete the two required courses
-
CS 458 - 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. Prerequisites: CS 350 and CS 375 (All prerequisites must have
a grade of C- or better). Term offered varies. 4 credits
Levels: Undergraduate
-
CS 459 - 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: CS 350 and CS
375 (All prerequisites must have a grade of C- or better). Term offered varies. 4 credits.
Levels: Undergraduate
2. Complete two of the following electives
Please note that only one of CS 436 and CS 480E can be used as an elective in the
Cybersecurity track.
-
CS 427 - 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.
Prerequisite: CS 350 Operating Systems, or equivalents, CS 375 Design and Analysis
of Algorithms. Term offered varies. 4 credits.
Levels: Undergraduate
-
CS 428 - 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: CS 350 (All prerequisites
must have a grade of C- or better). Term offered varies. 4 credits.
Levels: Undergraduate
-
CS 436 - 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: CS 375 and MATH 327 or MATH
448 (All prerequisites must have a grade of C- or better). Term offered varies.
4 credits
Levels: Undergraduate
-
CS 453 - Software Security
This hands-on course covers offensive and defensive technologies in the area of
software security. Particularly, students will learn about various vulnerabilities
that lead to software compromise, attacks that exploit such vulnerabilities, and defenses that defend
against such attacks. Topics covered include simple control-flow corruption attacks,
slightly harder buffer overflow and return-to-libc attacks, and advanced ROP attacks.
Students are expected to not only learn the concepts behind each attack, but also
execute them in a controlled environment. Prerequisite: CS350 Operating Systems (All
prerequisites must have a grade of C- or better) Term offered varies. 4 credits
Levels: Undergraduate
-
CS 480E - Special Topics
Special topics in Computer Science. 4 credits. Semester offered varies.
Levels: Undergraduate
Also available as 3-credit special topics courses: CS 480A (Hardware and Systems Security) and CS 480T (Topics in Data Privacy)