Curriculum
All undergraduate majors are welcome in our 30 credit program. An additional six credits of prerequisites are required for students without professional experience or knowledge equivalent to the following courses. Additional prerequisites may be recommended by the program director. All prerequisite courses must be taken in the first trimester and completed with a grade of B or better.
Prerequisite Courses
If required
This hands-on course will introduce programming using Python on Windows and Linux platforms. Topics covered include basic programming concepts, regular expressions, basic data structures and algorithms, Boolean operations, and basic programming constructs including variables and types, string, arrays, sequential and parallel execution, assignments, decision and branching, loops, functions, procedures and calls, and basic debugging techniques.
Students in this course will study networks and data communication concentrating on the Internet model. This is a laboratory-based course that includes projects implemented on both Unix and Windows machines using Wireshark. Students will review hex and binary number systems. Topics such as network architecture, the Internet protocol stack, LANs, WANs, and MANs, hardware, software, protocols, routing, circuit-switching and packet-switching networks, wireless networks, compression, and error handling are studied.
Required Foundational Courses
All students are required to complete the following foundational courses unless waived by the program director.
This laboratory-based course will focus on network defense concepts, tools and techniques. Topics such as defense in depth, network attacks, network hardening, firewalls, DMZ, VPN, proxy server, honeypots, secure network design, Data Loss Prevention, network forensics, and intrusion detection, prevention and response will be studied. This course will also cover network administration, network operations, and network security policies as they relate to network defense.
Prerequisite: Take CS-504 CS-505
This course covers theoretical and practical aspects of modern applied computer cryptography. Topics include block and stream ciphers; hash functions, data authentication, and digital signatures. Special emphasis is given to public-key cryptosystems. The course includes use of various encryption methods in different programming systems.
Prerequisite: Take CY-622
This introductory course provides a holistic view on the security aspects of the cyber space ecosystem. The course introduces students to cybersecurity foundations and cybersecurity first principles. Topics include CIA (confidentiality, integrity and availability) and AAA (authentication, authorization and accounting) framework, threats and adversaries, vulnerabilities and risk management, security life-cycle, data security, access control and security models, privacy, legal and ethical issues.
This course addresses complex issues in measuring and managing security within an organization and plans to improve the security posture. Topics include security leadership and management, security life-cycle management, information assurance standards and compliance, security governance, policy & information security program development, incident response and risk management, cybersecurity ethics, and privacy policies, laws and regulations.
Prerequisite: Take CY-626
In this course students will learn how to understand and differentiate between file systems and operating systems; explain in detail the FAT file system; be exposed to the NTFS file system; identify Windows and registry artifacts; understand hashing and its uses in digital forensics; understand Fourth Amendment considerations when searching and seizing digital evidence, chain of custody; use hardware write blockers to perform data acquisitions using methods and tools discussed in class; perform basic data recovery; understand file signatures and its uses and be introduced to memory (RAM) forensics and analysis.
Prerequisite: Take CS-505
Required Thesis or Non-Thesis Option
Students can choose between the thesis or the non-thesis option. The thesis option comprises of two sequential courses that can only be taken in the final two trimesters. The non-thesis option comprises of one capstone project course that can only be taken in the final trimester of the program.
Required for students pursuing the nonthesis option in their program of study, the student works with a faculty advisor in defining a short research or implementation project. For a research project, the student surveys relevant literature, critically analyzes the state of the art, and possibly synthesizes improvements. For an implementation project, the student implements and tests a solution to the chosen problem; the project could involve a combination of research and implementation. At the end of the project, the student writes a report approved by the faculty member and makes a public presentation of the work.
Prerequisite: Take CS-622 CS-625 CS-628 CS-635
Required for the thesis option, the student works with a faculty advisor in defining a substantial research or implementation project. For a research project, the student surveys relevant literature, critically analyzes the state of the art, and synthesizes improvements. For an implementation project, the student implements and tests a solution to the chosen problem, comparing it with other work, if any; the project could involve a combination of research and implementation. At the end of this course, the student should have a well-defined problem, have surveyed relevant literature, and have made partial progress toward the completion of the work. The student should be ready to make a brief presentation of the work in progress, as required by the advisor. By the end of this course, a proposal describing the work should be written and approved by a thesis committee chosen by the student and the advisor, according to university policy.
Prerequisite: Take CS-622 CS-625 CS-628 CS-635
A continuation of CS 690, this course is required for the thesis option. By the end of this course, the student completes the work remaining in the project started in CS 690, as defined by the written proposal. A thesis must be written and defended in front of the thesis committee. The presentation portion of the thesis defense is open to the public.
Prerequisite: Take CS-690
Elective Courses
Students pursuing the thesis option in their program of study are required to take any 3 elective courses. Students pursuing the non-thesis option are required to choose any 4 elective courses from the list below.
How do you secure the critical infrastructure that supports our cyber-security landscape? What threats and attacks do systems constantly face? This course will address these complex issues in securing the system & applications that run in today's organizations. Among the topics covered are: Secure System Hardening, Access Controls, Security System, Management, Secure Administration, Security Monitoring, Secure Back-ups, Application Security Concepts, Other security issues.
Prerequisite: Take CY-626
This course introduces students to the security threat of computer hacking and system vulnerabilities and exploits. The course will introduce techniques and hacking skills that black-hat hackers use to compromise systems. The class will teach students how to perform white-hat hacker and ethical hacking techniques to safeguard a computer network.
Prerequisite: Take CY-622
It all starts with programmers: every computer system today runs some type of software in its core, and as a result is ground zero for all security concerns. Using Microsoft's proven Secure Development Lifecycle as a model, this course will provide an introduction on how to set up a secure development environment, go over best practice models, and secure programming techniques in Java or .NET frameworks, as well as common web application languages such as client-side JavaScript and SQL database programming.
Prerequisite: Take CY-626
This course will provide lectures on vulnerability and compliance management for multiple systems and perform hands-on experience with Tenable Nessus (one of the industry-leading vulnerability and compliance scanning tools). It will provide students with a working knowledge and understanding of vulnerability and compliance management, and expose students to new system and application vulnerabilities that are identified on a daily basis and demonstrates the techniques for managing them. The purpose of this course is to teach students how to identify vulnerabilities, plan to remediate them, and track to make sure they do not return.
Prerequisite: Take CY-626
Cloud computing is rapidly becoming a popular choice for hosting everything from entire operating systems, and software, to service (IaaS, PaaS, SaaS) applications such as websites, databases, email, data backup, and so forth. The course will provide an introduction to securing cloud technologies and applying best practices. Learn the unique challenges posed by this type of platform and how to properly configure and secure cloud based assets.
Prerequisite: Take CY-622
This instructor-led course provides the knowledge and skills necessary to install, configure, and effectively use the AccessData forensic software tool set to conduct digital/computer forensic investigations. There will be a significant amount of hands-on, in-class work. At the completion of this course, each student will have the opportunity to take the AccessData Certified Examiner (ACE) test. Upon a successful completion of the test, the student will have earned the ACE certification. The AccessData forensic tools covered in this course include Forensic Toolkit (FTK), FTK Imager, Password Recovery Toolkit (PRTK), and Registry Viewer. The platform for this course will be the Windows Operating System.
Prerequisite: Take CY-635
This course will focus on identification, preservation, collection, analysis, and reporting techniques and tools used in the forensic examination of mobile devices such as cell phones and GPS units.
Prerequisite: Take CY-635;
This is an open-ended course designed to focus on recent and emerging topics in cybersecurity. The contents of this course are driven by instructors' research expertise and/or recent trends in cybersecurity.
Prerequisite: Take CY-626;
The course will provide students' an opportunity to obtain real-world experience by working on a project within a cybersecurity-related business organization or research lab with their on-site supervisor and co-supervised by a faculty member. A final summary report will be required from both student and supervisor.