Cybersecurity (CSEC)

CSEC 141. Intro to Cybersecurity. 1 Unit.

This course provides an overview of the broad range of issues, techniques, people, organizations, and recent news related to cybersecurity. It explains the ways in which cybersecurity impacts individuals, organizations, and states and covers relevant US and international laws. This course also exposes students to the various professions connected with cybersecurity and provides the terms and concepts that are revisited in all other CSEC courses. Students in this course use a scripting language such as Python to simulate attacks and understand cybersecurity principles. Prerequisite: CSCI 111 or CSCI 141.

CSEC 302. Secure Coding. 1 Unit.

This course studies the theory and practice of writing software that is less likely to be vulnerable to common exploits. It focusses on coding in programming languages such as C, C++, Java, Javascript, and PHP and describes some of the common mistakes made when coding in these languages. Exploits including buffer overflows, SQL-injection, cross-site scripting, race conditions, and authentication techniques are covered. Prerequisite: CSEC 141, CSCI 221.

CSEC 303. Applied Cryptography. 1 Unit.

This course covers the implementation of software that uses hashing, encryption, authentication, key-management, and credential handling through the use of common open source libraries such as OpenSSL. The course also exposes students to the theoretical foundations of these techniques including a comparison of their use cases and the security guarantees of various algorithms. Prerequisite: CSEC 141, CSCI 221.

CSEC 331. Computer and Network Security. 1 Unit.

This course provides students with an introduction to computer and network security with an emphasis on computer attacks and defending against them. It examines the reconnaissance, scanning, gaining access, maintaining access, and covering tracks phases of a cybersecurity attack and uses various open source tools for monitoring and detecting and implementing such attacks. Prerequisite: CSCI 141, CSCI 221.

CSEC 385. Independent Study. 0.5 or 1 Units.

CSEC 401. Digital Forensics. 1 Unit.

This course teaches analytical and investigative techniques to identify, expose, collect, and preserve data stored on a physical device or in a network. The course uses exploit techniques to expose data while emphasizing careful data handling and documentation. Prerequisite: CSEC 141, CSCI 221.

CSEC 402. System Administration and Cloud. 1 Unit.

This course teaches system administration and network architectures for Microsoft Windows Server and Linux environments for typical multi-user deployments. The course covers virtualization technology and containerization and uses cloud computing providers, such as Microsoft Azure, Amazon Web Services, and/or Google Cloud in addition to automation tools such as Kubernetes for launching and managing cloud resources. Prerequisite: CSEC 141, CSCI 221.

CSEC 498. Senior Proposal. 1 Unit.

This course is the first of a two-course sequence that requires students to select a topic in cybersecurity and research and develop it in collaboration with a faculty member. The student will develop a statement of the problem to be studied, the methods to be used, and the background information needed to solve the problem. The student will write a project proposal including any preliminary results and present the problem and results to the department. Prerequisite: Two 300+level CSEC courses and one 300+level CSEC or CSCI course.

CSEC 499. Senior Project. 1 Unit.

This course culminates the research started in CSEC498 with the student extending and completing the proposed work into a final product. The student will write a final paper and present the results to the department. Prerequisite: CSEC 498.