Elective Courses (10 credits):
Elective courses within the MSCSE give students the opportunity to delve further into cybersecurity applications and approaches or to explore a breadth of computer science topics. Samples of elective topics are shown below. Please note this list is not complete and should only serve as a framework for understanding possible elective options within the MS CSE curriculum. Elective options are dependent upon yearly scheduled course offerings, and should be chosen with the collaboration of your faculty advisor.
CSS 579 Exploit Analysis and Response (5)
Explores techniques and technologies for detecting and responding to attacks on an information infrastructure. Types of malware are discussed, and techniques for detection, identification and eradication are explored. Reverse engineering of code and social engineering exploits are presented as a method for understanding and development of countermeasures. Monitoring of systems and networks is explored. Host-based and network-based intrusion detection processes and technologies are discussed, as well as signature identification and anomaly detection strategies for intrusion detection. Collection, analysis and presentation of digital forensics data in support of prosecution or civil litigation are described. Applicability of the concepts, processes and technologies to SDL are explored. Prerequisites: Machine Architecture (e.g., CSS422), CSS 578
CSS 581 Machine Learning (5)
Theory and practical use of machine learning techniques, such as decision trees, logistic regression, discriminant analysis, neural networks, naïve Bayes, k-nearest neighbor, support vector machines, collaborative filtering, clustering, and ensembles. Emphasizes hands-on experience with real-world datasets, combined with several programming projects.
CSS 553 Software Architecture (5)
Studies the concepts, representations techniques, development methods, and tools for structuring software systems. Topics include domain-specific software architectures, architecture description languages, architectural styles, product line architectures, and standards. Combines hands-on experience designing software with an understanding of recent developments in the field.
CSS 545 Mobile Computing (5)
Covers concepts related to systems once can build located at the intersections of pocket size computing devices; location aware technologies; mobile web services; and integrated sensors such as touch- and gesture-based UIs. Uses programming projects to explore the concepts and application in each area, and enable students to define a final project to combine and intersect the above areas.
CSS 534 Parallel Programming in Grid and Cloud (5)
Exploration of theoretical programming methodology and practical middleware design used for parallel programming in grid and cloud systems. Uses different programming models, parallelizing patterns, and middleware systems for designing application-specific fault-tolerant parallel software. Prerequisite: CSS 543 or permission of instructor.
CSS 600 Independent Study or Research (1-5, max. 6)
Independent study or research on computing topics conducted under the direction of one or more instructors. Offered: AWSpS