Elective Courses

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 Malware and Attack Reverse Engineering (5)
Explores techniques and technologies for understanding the operation of malicious software and attacks. Discusses and explores techniques for detection, identification and prevention. Presents reverse engineering of code and network exploits as a method for understanding and development of countermeasures. Prerequisite: CSS 517, which may be taken concurrently.

CSS 538 Security in Emerging Wireless and Mobile Networks (5)
Examines the security issues associated with various emerging wireless, mobile networks, and pervasive systems. Covers topics such as MAC layer and routing layer security; robust localization; trust and reputation mechanisms; mobile malwares; authentication solutions; and machine learning based intrusion detection techniques.

CSS 539 Cyber Security in Emerging Environments (5)
Explores security issues and solutions in emerging environments and non-traditional computing platforms such as vehicular networks, mobile phone systems, and pervasive systems. Also covers topic such as usable security, managing trade-offs in resource-constrained systems, and reasoning with uncertain information. Prerequisite: CSS 517, which may be taken concurrently.

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 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 581 Machine Learning (5)
Theory and practical use of machine learning techniques, such as decision trees, logistic regression, discriminant analysis, neural networks, naive 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 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