Non-Thesis Cybersecurity Master Program Structure 

The non-thesis Cybersecurity Master program is comprised of:

  • 30 credits
  • At least 10 courses
  • A term project course

 

MS CYBERSECURITY REQUIRED COURSES:

CYBR/COMP 534 – COMPUTER AND NETWORK SECURITY
Overview of Computer Security Techniques, Conventional Encryption, Public-Key Cryptography, Key Management, Message Authentication, Hash Functions and Algorithms, Digital Signatures, Authentication Protocols, Access Control Mechanisms, Network Security Practice, TCP/IP Security, Web Security, SSL (Secure Socket Layer), Denial-of-Service Attacks, Intrusion Detection, Viruses.

CYBR/COMP 543 – MODERN CRYPTOGRAPHY
Introduction to cryptographic concepts. Symmetric encryption, the public-key breakthrough, one-way functions, hash functions, random numbers, digital signatures, zero-knowledge proofs, modern cryptographic protocols, multi-party computation. Everyday use examples including online commerce, BitTorrent peer-to-peer file sharing, and hacking some old encryption schemes.

 

MS CYBERSECURITY ELECTIVE COURSES:

CYBR 503 – CYBER FORENSICS
Introductory cyber forensics and digital forensics definitions, evidence collection methodologies, data recovery tools, software and hardware tools employed for forensic analysis, evidence reporting procedures, and techniques.

CYBR 505 – APPLIED PENETRATION TESTING
Introductory penetration testing definitions, white hat attacking methodologies, network and software scanning and inventory tools, exploit tools, social engineering techniques, applied penetration testing software.

CYBR 507 – SECURE SOFTWARE CODING AND TESTING
Secure coding principles, software testing methodologies, techniques and tools for secure software coding, operating system, and database support for secure software, reverse engineering, techniques for hiding code and data.

CYBR 509 – BLOCKCHAIN AND CRYPTOCURRENCIES
Blockchain, distributed consensus, distributed databases, flooding and broadcasting, cryptocurrencies, the security of cryptocurrencies, blockchain applications, alternative blockchain and cryptocurrency proposals, smart contracts.

CYBR 512 – INTERNET AND CLOUD SECURITY
Network security, Internet and World-Wide Web security, TLS/SSL, firewalls, intrusion detection, and prevention systems, the security of various Internet and cloud protocols, virtual machine security.

CYBR/LAW 571 – CYBERSECURITY AND DATA PROTECTION LAW
Legal aspects of cybersecurity, cybercrime, various data privacy regulations (KVKK, GDPR, HIPAA), electronic signature law, comparative legal analysis of national and international cybersecurity law.

COMP 416 – COMPUTER NETWORKS
Principles of data communications and computer networks; ISO/OSI reference model with an emphasis on data links, network and transport layers; TCP/IP protocol suite; asynchronous and synchronous transmission; data link control; multiplexing; wide-area networks; routing; congestion control; local area networks; communications architecture and transport protocols; distributed applications.

COMP 513 – INFORMATION THEORY
Entropy, Relative Entropy and Mutual Information; Asymptotic Equipartition Theory; Entropy Rates of a Stochastic Process; Data Compression; Kolmogorov Complexity; Channel Capacity; Differential Entropy; The Gaussian Channel; Maximum Entropy and Spectral Estimation; Rate-Distortion Theory, Network Information Theory.

COMP 515 – DISTRIBUTED COMPUTING SYSTEMS
Introduction to distributed computing, an overview of operating systems, process synchronization and deadlocks, threads and thread synchronization, communication protocols, synchronization in distributed systems, management of time, causality, logical clocks, consistent global states, distributed mutual exclusion, distributed deadlock detection, election algorithms, agreement protocols, consensus, multicast communication, distributed transactions, replication, shared-memory model, scheduling, distributed file systems, fault tolerance in distributed systems, distributed real-time systems.

COMP 521 – INTRODUCTION TO MACHINE LEARNING
A broad introduction to machine learning covering regression, classification, clustering, and dimensionality reduction methods; supervised and unsupervised models; linear and nonlinear models; parametric and nonparametric models; combinations of multiple models; comparisons of multiple models and model selection.

COMP 529 – PARALLEL PROGRAMMING
Fundamental concepts of concurrency, non-determinism, atomicity, race-conditions, synchronization, mutual exclusion. Overview of parallel architectures, multicores, distributed memory. Parallel programming models and languages, multithreaded, message passing, data-driven, and data-parallel programming. Design of parallel programs, decomposition, granularity, locality, communication, load balancing. Patterns for parallel programming, structural, computational, algorithm strategy, concurrent execution patterns. Performance modeling of parallel programs, sources of parallel overheads.

COMP 541 – DEEP LEARNING
Basic linear models for classification and regression; stochastic gradient descent (backpropagation) learning; multi-layer perceptrons, convolutional neural networks, and recurrent neural networks; recent advances in the field; practical examples from machine translation, computer vision; practical experience in programming, training, evaluating and benchmarking deep learning models.

COMP 546 – ALGORITHM DESIGN AND ANALYSIS
Advanced topics in data structures, algorithms, and computational complexity. Asymptotic complexity measures. Graph representations, topological order, and algorithms. Forests and trees. Minimum spanning trees. Bipartite matching. Union-find data structure. Heaps. Hashing. Amortized complexity analysis. Randomized algorithms. Introduction to NP-completeness and approximation algorithms. The shortest path methods. Network flow problems.

COMP 589 – SOFTWARE RELIABILITY: SPECIFICATION, TESTING, AND VERIFICATION
Tools and techniques for ensuring software reliability. Specification formalisms and languages. Modeling tools and languages. Unit and integration testing. Automated testing and verification tools and algorithms. Mathematical representations for programs and executions. Hoare logic. A specification using modular contracts: Preconditions, postconditions, loop, and object invariants. Ownership systems. Automated test generation. Model-based testing. Coverage metrics for testing adequacy. Type and effect systems for reliable software. Software model checkers. Static analysis. Concurrent/multi-threaded programs. Correctness criteria for concurrent programs: race-freedom, atomicity, linearizability, and serializability. Testing, verification, and debugging tools for concurrent programs.

ELEC 501 – RANDOM PROCESSES
Discrete and continuous random variables and processes, functions of random variables, independence of random variables. Central Limit Theorem. Discrete-time random processes, continuous-time random processes, stationary random processes, ergodicity, auto and cross-correlation functions, power spectral density; spectral estimation, white noise processes, Markov chains.

ELEC 514 – WIRELESS COMMUNICATIONS
The cellular concept, channel assignment strategies, frequency reuse, handoff strategies, interference sources, mobile radio propagation, large-scale path loss, small-scale fading and multipath, modulation techniques for mobile radio, diversity combining, transmit and receive antennas for wireless communication systems, multiple access techniques in wireless, wireless system design for delay intolerant services, wireless system design for delay-tolerant services, error correction coding, and ARQ schemes, wireless networking, wireless systems & standards: GSM, IS-95, cdma2000, W-CDMA, 3GPP2 1xEV-DO, 3GPP2 1xEV-DV, fourth-generation wireless system proposals. Design-oriented exercises using computer aids.

ELEC 528 – WIRELESS NETWORKS
Wireless network applications, wireless channel and communication fundamentals, medium access control protocol, routing protocol, topology control, time synchronization, data-centric networking, wireless communication standards.

MATH 527 – NUMBER THEORY
Method of descent, unique factorization, basic algebraic number theory, diophantine equations, elliptic equations, p-adic numbers, Riemann zeta function, elliptic curves, modular forms, zeta and L-functions, ABC-conjecture, heights, class numbers for quadratic fields, a sketch of Wiles? proof.

MATH 541 – PROBABILITY THEORY
An introduction to measure theory, Kolmogorov axioms, independence, random variables, product measures, and joint probability, distribution laws, expectation, modes of convergence for sequences of random variables, moments of a random variable, generating functions, characteristic functions, distribution laws, conditional expectations, strong and weak law of large numbers, convergence theorems for probability measures, central limit theorems.

INDR 501 – OPTIMIZATION MODELS AND ALGORITHMS
Convex analysis, optimality conditions, linear programming model formulation, simplex method, duality, dual simplex method, sensitivity analysis; assignment, transportation, and transshipment problems.

INDR 503 – STOCHASTIC MODELS AND THEIR APPLICATIONS
The basic theory of the Poisson process, renewal processes, Markov chains in discrete and continuous time, as well as Brownian motion and random walks are developed. Applications of these stochastic processes are emphasized by examples, which are drawn from inventory and queueing theory, reliability and replacement theory, finance, population dynamics, and other biological models.

INDR 530 – DECISION ANALYSIS
Tools, techniques, and skills needed to analyze decision-making problems characterized by uncertainty, risk, and conflicting objectives. Methods for structuring and modeling decision problems and applications to problems in a variety of managerial decision-making contexts. Structuring decision problems: Decision trees, model building, solution methods and sensitivity analysis; Bayes’ rule, the value of information, and using decision analysis software. Uncertainty and its measurement: Probability assessment. Utility Theory: Risk attitudes, single- and multiattribute utility theory, and risk management. Decision making with multiple objectives.

INDR 564 – DYNAMIC PROGRAMMING
Theory and practice of dynamic programming, sequential decision making over time; the optimal value function and Bellman’s functional equation for finite and infinite horizon problems; Introduction of solution techniques: policy iteration, value iteration, and linear programming; General stochastic formulations, Markov decision processes; application of dynamic programming to network flow, resource allocation, inventory control, equipment replacement, scheduling and queueing control.

INDR 568 – HEURISTIC METHODS
Constructive heuristics; improving heuristics; metaheuristics: simulated annealing, genetic algorithms, tabu search, scatter search, path relinking, ant colony

INDR 570 – QUEUEING THEORY
Markovian queues: M/M/1, M/M/C, M/M/C/K systems, and applications. Phase-type distributions and matrix-geometric methods: PH/PH/1 systems. Queueing networks: reversibility and product-form solutions. General arrival or service time distributions: embedded Markov Chains, M/G/1, and G/M/c queues, G/G/1 queues, and the Lindley recursion, approximations. Stochastic comparisons of queues: stochastic orders, sample path properties.

INDR 572 – RELIABILITY THEORY
Basic concepts and definitions of system reliability. Series, parallel, k-out-of n systems. Structure functions, coherent systems, min-path, and min-cut representations. System reliability assessment and computing reliability bounds. Parametric families of distributions, classes of life distributions, and their properties. Shock and wear models. Maintenance, replacement, and repair models. Current issues on stochastic modelling of hardware and software reliability.