Courses
The MS in Cybersecurity requires 31 credit hours.
Required Courses (7 hours)
Units: 1 Introduction for new graduate students to [a] information about graduate program, department, and university resources, and [b] research projects conducted by CSC faculty. Offered in Fall and Spring Units: 3 This course presents foundational concepts of computer and network security and privacy. It covers a wide breadth of concepts, including; Fundamentals of computer security and privacy, including security models, policies, and mechanisms; Cryptography for secure systems, including symmetric and asymmetric ciphers, hash functions, and integrity mechanisms; Authentication of users and computers; Network attacks and defenses at the network and application layers; Common software vulnerabilities and mitigation strategies; Secure operating systems and seminal access control models and policies; Principles of intrusion detection; Privacy, including considerations of end-user technologies. Offered in Fall and Spring Units: 3 Application of cybersecurity principles and computer science and engineering to solve a cybersecurity problem. A project with comprehensive written and oral project report is required. Enrollment is open to Graduate Certificate in Cybersecurity [CYS GCP] students and CSC and ECE majors only. Offered in Fall OnlyCSC 600 - Computer Science Graduate Orientation
CSC 574 - Computer and Network Security
CSC 595 - Cybersecurity Practicum
Cybersecurity Core Electives (12 credit hours required)
Units: 3 Cryptography is the study of mathematical techniques for securing digital information, systems and distributed computation against adversarial attacks. In this class you will learn the concepts and the algorithms behind the most used cryptographic protocols: you will learn how to formally define security properties and how to formally prove/disprove that a cryptographic protocol achieves a certain security property. You will also discover that cryptography has a much broader range of applications. It solves absolutely paradoxical problems such as proving knowledge of a secret without ever revealing the secret [zero-knowledge proof], or computing the output of a function without ever knowing the input of the function [secure computation]. Finally, we will look closely at one of the recent popular application of cryptography: the blockchain technology. Additionally, graduate students will study some of the topics in greater depth. Offered in Fall Only Units: 3 Introduces students to the discipline of designing, developing, and testing secure and dependable software-based systems. Students will learn about risks and vulnerabilities, and effective software security techniques. Topics include common vulnerabilities, access control, information leakage, logging, usability, risk analysis, testing, design principles, security policies, and privacy. Project required. Offered in Spring Only Units: 3 Privacy is a growing concern in our modern society. We interact and share our personal information with a wide variety of organizations, including financial and healthcare institutions, web service providers and social networks. Many times such personal information is inappropriately collected, used or shared, often without our awareness. This course introduces privacy in a broad sense, with the aim of providing students an overview of the challenging and emerging research topics in privacy. This course will expose students to many of the issues that privacy engineers, program managers, researchers and designers deal with in industry. ST 370 is recommended but not mandatory. Offered in Fall Only Units: 3 This class will: explore several aspects of security research with the goal of understanding the attacker's mindset; help the students to develop a foundation and a well-rounded view of security research; and cover some of the state-of-the-art attack/defense techniques and ongoing research activities in a number of topics in software security, web security, privacy and network security. Offered in Spring Only Units: 3 Fundamentals and advanced topics in operating system [OS] security. Study OS level mechanisms and policies in investigating and defending against real-world attacks on computer systems, such as self-propagating worms, stealthy rootkits and large-scale botnets. OS security techniques such as authentication, system call monitoring, as well as memory protection. Introduce recent advanced techniques such as system-level randomization and hardware virtualization. Offered in Spring Only Units: 3 A study of network security policies, models, and mechanisms. Topics include: network security models; review of cryptographic techniques; internet key management protocols; electronic payments protocols and systems; intrusion detection and correlation; broadcast authentication; group key management; security in mobile ad-hoc networks; security in sensor networks. Offered in Spring Only Units: 3 This course provides an in-depth investigation into security issues in areas including cellular air interfaces, core networking [SS7, IMS], cellular data networking, mobile device architectures, and classic telephone networks. In particular, we will study how these networks provide [or fail to provide] high confidentiality, integrity, availability, authentication, and privacy. A key focus of the course will be how the design philosophy of telephone networks differs from the Internet, complicating traditional security solutions. Offered in Fall OnlyCSC 514 - Foundations of Cryptography
CSC 515 - Software Security
CSC 533 - Privacy in the Digital Age
CSC 537 - Systems Attacks and Defenses
CSC 705 - Operating Systems Security
CSC 774 - Advanced Network Security
CSC 789 - Cellular and Telecommunications Security
Cybersecurity Core or Foundations Electives (12 hours required)
Units: 3 Fundamental issues related to the design of operating systems. Process scheduling and coordination, deadlock, memory management and elements of distributed systems. Offered in Fall and Spring Units: 3 An introduction to software life cycle models; size estimation; cost and schedule estimation; project management; risk management; formal technical reviews; analysis, design, coding and testing methods; configuration management and change control; and software reliability estimation. Emphasis on large development projects. An individual project required following good software engineering practices throughout the semester. Offered in Fall Spring Summer Units: 3 The course will concentrate on the theory and practice of compiler-writing. Topics to be covered will include techniques for parsing, code generation, and optimization. Furthermore, the theoretical underpinnings of compilers such as LR parsing will be covered. Finally, the students will be exposed to compiler construction tools, and will obtain hands-on experience in building a compiler for a small programming language. Besides the listed prerequisite courses, other helpful courses include CSC 253, CSC 224, CSC 234, and MA 121. Offered in Fall Only Units: 3 Modern software development organizations require entire teams of DevOps to automate and maintain software engineering processes and infrastructure vital to the organization. In this course, you will gain practical exposure to the skills, tools, and knowledge needed in automating software engineering processes and infrastructure. Students will have the chance to build new or extend existing software engineering tools and design a DevOps pipeline. Offered in Fall and Spring Units: 3 This course provides an introduction to concepts and methods for extracting knowledge or other useful forms of information from data. This activity, also known under names including data mining, knowledge discovery, and exploratory data analysis, plays an important role in modern science, engineering, medicine, business, and government. Students will apply supervised and unsupervised automated learning methods to extract patterns, make predictions and identify groups from data. Students will also learn about the overall process of data collection and analysis that provides the setting for knowledge discovery, and concomitant issues of privacy and security. Examples and projects introduce the students to application areas including electronic commerce, information security, biology, and medicine. Students cannot get credit for both CSC 422 and CSC 522. Offered in Fall and Spring Units: 3 Study of cloud computing principles, architectures, and actual implementations. Students will learn how to critically evaluate cloud solutions, how to construct and secure a private cloud computing environment based on open source solutions, and how to federate it with external clouds. Performance, security, cost, usability, and utility of cloud computing solutions will be studied both theoretically and in hands-on exercises. Hardware-, infrastructure-, platform-, software-, security-, - "as-a-service". Offered in Fall Only Units: 3 Basic theory and concepts of human-computer interaction. Human and computational aspects. Cognitive engineering. Practical HCI skills. Significant historical case studies. Current technology and future directions in user interface development. Offered in Spring Only Units: 3 General introduction to computer networks. Discussion of protocol principles, local area and wide area networking, OSI stack, TCP/IP and quality of service principles. Detailed discussion of topics in medium access control, error control coding, and flow control mechanisms. Introduction to networking simulation, security, wireless and optical networking. Offered in Fall Spring Summer Units: 3 Principles and issues underlying provision of wide area connectivity through interconnection of autonomous networks. Internet architecture and protocols today and likely evolution in future. Case studies of particular protocols to demonstrate how fundamental principles applied in practice. Selected examples of networked clinet/server applications to motivate the functional requirements of internetworking. Project required. Offered in Fall and Spring Units: 3 Introduction to cellular communications, wireless local area networks, ad-hoc and IP infrastructures. Topics include: cellular networks, mobility mannagement, connection admission control algorithms, mobility models, wireless IP networks, ad-hoc routing, sensor networks, quality of service, and wireless security. Offered in Spring Only Units: 3 Topics related to networking services, signaling for setting up networking services, such as SIP and IMS, networking architectures for providing QoS for networking services, such as MPLS, DiffServ and RAC, signaling protocols for setting up QoS connections in the transport stratum, such as LDP and RSVP-TE, video-based communications, and capacity planning models for dimensioning services. Offered in Fall and Spring Units: 3 Topics related to design and management of campus enterprise networks, including VLAN design; virtualization and automation methodologies for management; laboratory use of open space source and commercial tools for managing such networks. Offered in Fall Only Units: 3 Formal models of language and computation; finite automata and regular languages, pushdown automata and context-free languages, Turing machines. Relative power of models, Chomsky hierarchy. Inherent complexity of problems: undecidability, computational complexity, intractable problems. Offered in Fall Only Units: 3 An advanced introduction to software testing and reliability. The course is a balanced mixture of theory, practice, and application. Methods, techniques, and tools for testing software and producing reliable and secure software are used and analyzed. Software reliability growth models and techniques for improving and predicting software reliability are examined, and their practical use is demonstrated. Good knowledge of C++ or Java. Knowledge of the basics of statistics, calculus, and linear algebra. Offered in Fall Only YEAR: Offered Alternate Even Years Units: 3 A broad range of advanced topics in machine learning, the building of computer-based systems that can adapt to their environment and learn from their own experience. Theory of learnability, technical details of various learning methods, combination of multiple methods, evaluation of methods, and related topics [at the discretion of the instructor]. Offered in Spring Only YEAR: Offered Alternate Odd Years Units: 3 Principles in the design and implementation of modern distributed systems; recent techniques used by real-world distributed systems such as peer-to-peer file sharing, enterprise data center, and internet search engines; state-of-the-art architectures, algorithms, and performance evaluation methodologies in distributed systems. Offered in Spring Only YEAR: Offered Alternate Odd Years Units: 3 Cutting-edge concepts and technologies to support internetworking in general and to optimize the performance of the TCP/IP protocol suite in particular. Challenges facing and likely evolution for next generation intenetworking technologies. This course investigates topics that include, but may be not limited to: Internet traffic measurement, characteriztion and modeling, traffic engineering, network-aware applications, quality of service, peer-to-peer systems, content-distribution networks, sensor networks, reliable multicast, and congestion control. Offered in Spring OnlyCSC 501 - Operating Systems Principles
CSC 510 - Software Engineering
CSC 512 - Compiler Construction
CSC 519 - DevOps: Modern Software Engineering Practices
CSC 522 - Automated Learning and Data Analysis
CSC 547 - Cloud Computing Technology
CSC 554 - Human-Computer Interaction
CSC 570 - Computer Networks
CSC 573 - Internet Protocols
CSC 575 - Introduction to Wireless Networking
CSC 576 - Networking Services: QoS, Signaling, Processes
CSC 577 - Switched Network Management
CSC 707 - Automata, Languages and Computability Theory
CSC 712 - Software Testing and Reliability
CSC 722 - Advanced Topics in Machine Learning
CSC 724 - Advanced Distributed Systems
CSC 773 - Advanced Topics in Internet Protocols