Cybersecurity and Operations
Our cybersecurity and operations major is intended to equip you with the knowledge and skills to defend computer operating systems, networks, and data from cyberattacks. You will be taught by faculty and experts using both theoretical and hands-on approaches to prepare you for high demand jobs.
Cybersecurity is important because it encompasses everything that pertains to protecting our sensitive data, personally identifiable information, protected health information, intellectual property, and governmental and industry information systems from theft and damage attempted by criminals and adversaries. Cybersecurity risk is increasing, driven by global connectivity and usage of cloud services to store sensitive data and personal information. Improperly configured cloud services and devices paired with increasingly sophisticated cybercriminals means the risk that organizations will suffer from a cyberattack or data breach is on the rise.
Program Goals and OUTCOMES
Student Learning Goals | Student Learning Outcomes |
---|---|
SLG 1: Demonstrate competency in application of programming principles, including fluency in a high-level language, and the object-oriented paradigm. | SLO 1.1: Students will be able to understand different datatypes and operators used in C++ |
SLO 1.2: Students will be able to familiarize themselves with concepts of loops, iteration, functions, and recursion using C++ | |
SLO 1.3: Students will understand the different types of sorting and searching algorithms used | |
SLO 1.4: Students will implement functions and overloading | |
SLO 1.5: Students will implement arguments such as pass-by-value and pass-by-reference | |
SLO 1.6: Students will be able to understand the difference between number systems | |
SLO 1.7: Students will be able to build a class using encapsulation which bundles data with methods | |
SLO 1.8: Students will be able to use (Private, Public and Protected) specifiers in their objects | |
SLO 1.9: Students will be able to overload operators | |
SLO 1.10: Students will be able to use objects inside of other objects | |
SLO 1.11: Students will be able to use arrays of objects in other objects | |
SLO 1.12: Students will be able to design and use an abstract object | |
SLO 1.13: Students will be able to design an object hierarchy which uses polymorphism and both static and dynamic methods | |
SLO 1.14: Students will be able to template an object | |
SLO 1.15: Students will be able to use dynamic memory in objects | |
SLO 1.16: Students will be able to throw and catch exceptions | |
SLG 2: Demonstrate knowledge of architecture and organization of computer systems by designing digital logic circuits and showing proficiency with principles of memory systems, disc array systems, and the central processing unit. | SLO 2.1: Students will demonstrate knowledge of digital concepts |
SLO 2.2: Students will demonstrate knowledge of number systems, operations, and codes | |
SLO 2.3: Students will demonstrate knowledge of logic gates | |
SLO 2.4: Students will demonstrate knowledge of Boolean algebra and logic simplification | |
SLO 2.5: Students will demonstrate knowledge of combinational logic analysis | |
SLO 2.6: Students will demonstrate knowledge of functions of combinational logic | |
SLO 2.7: Students will demonstrate knowledge of latches, flip-flops, and timers | |
SLO 2.8: Students will demonstrate knowledge of shift registers | |
SLO 2.9: Students will demonstrate knowledge of counters | |
SLO 2.10: Students will demonstrate knowledge of data processing and control | |
SLO 2.11: Understand the merits and pitfalls in computer performance measurements | |
SLO 2.12: Understand the impact of instruction set architecture on cost-performance of computer design | |
SLO 2.13: Design a pipeline for consistent execution of instructions with minimum hazards | |
SLO 2.14: Understand ways to incorporate long latency operations in pipeline design | |
SLO 2.15: Understand ways to take advantage of instruction level parallelism for high performance processor design | |
SLG 3: Demonstrate knowledge of principles of computer data structures and algorithms and apply them to solve different computer problems. | SLO 3.1: Students will be able to program and understand (shell, insertion, merge, quick, heap and bin sort) |
SLO 3.2: Students will understand the amount of time it takes to sort for each sorting algorithm | |
SLO 3.3: Students will be able to use dynamic memory to represent linked lists, double linked lists, binary trees, and AVL trees. | |
SLO 3.4: Students will be able analyze a variety of common problems and determine an appropriate algorithmic solution (greedy, backtracking, dynamic programming, etc.) | |
SLG 4: Demonstrate knowledge of and apply the functionalities of different network layers and protocols. | SLO 4.1: Students would be able to understand concepts related to network and internet |
SLO 4.2: Students would be able to understand how TCP packets work in the transport layer | |
SLO 4.3: Students would be able to understand how IP packets work in the network layer | |
SLO 4.4: Students would be able to answer questions related to concepts of sliding window, checksums, and various routing algorithms | |
SLO 4.5: Students would be able to work on link layer CRC, checksums, and ARP | |
SLO 4.6: Students would understand concepts in application layer related to HTTP, FTP, and DNS | |
SLO 4.7: Students would be able to understand the different types of wireless standards used | |
SLO 4.8: Students would get an introduction on multimedia streaming such as Netflix or YouTube | |
SLO 4.9: Students would learn the current threats and methods to avoid them in networking | |
SLG 5: Demonstrate knowledge of the administration of server-based operating systems including the utilization of their tools and utilities, the automation of system tasks through common programming tools, the configuration of common network services, and basic server security principles. | SLO 5.1: Students will be able to utilize a variety of simple command line tools in conjunction with input and output redirection to create solutions to more complex problems |
SLO 5.2: Students will be able to utilize a variety of simple command line tools in conjunction with input and output redirection to create solutions to more complex problems | |
SLO 5.3: Students will understand Linux Operating system basics such as file manipulation, file system partitioning, and the administration of running system services | |
SLO 5.4: Students will understand how to build, install, and administer common Linux/Unix services including Web Servers, Databases Servers, and File Servers. | |
SLO 5.5: Students will understand basic Linux server security administration including file ownership and permissions, secure system access, firewall configuration, log file auditing, and software installation and management. | |
SLG 6: Demonstrate Knowledge of how to design and implement an operating system. Study the control of and communication between interacting processes. Students will understand how to allocate and manage resources in a multiprogramming environment. | SLO 6.1: Students will build an Operating System from the ground up. They will have a strong understanding of kernel mode and user mode. |
SLO 6.2: Students will understand how processes and thread work within an operating system. (Inter-process communication, scheduling, and Classical IPC Problems) | |
SLO 6.3: Students will understand how to manage memory in an operating system. (Virtual Memory, Page replacement algorithms and design issues for paging systems) | |
SLO 6.4: Students will understand how a file system works in an operating system. (File-system implementation, File-system management and optimization and example file systems) | |
SLO 6.5: Students will understand how to control input and output in and operating system. (Principles of I/O Hardware, principles of I/O software and I/O software layers) | |
SLO 6.6: Students will understand how to control deadlock within an operating system. (Deadlock detection and recovery, deadlock avoidance and deadlock prevention) | |
SLG 7: Demonstrate knowledge of computer and network security across multiple platforms. | SLO 7.1: Students will be familiar with threat models. |
SLO 7.2: Students will demonstrate knowledge of cryptography and its application for computer and network security. | |
SLO 7.3: Students will be familiar with security testing and vulnerability assessment. | |
SLO 7.4: Students will understand ways of securing data storage. | |
SLO 7.5: Students will demonstrate knowledge of website and internet security. | |
SLO 7.6: Students will understand security threats pertaining to mobile platforms. | |
SLO 7.7: Students will implement machine learning techniques to detect and mitigate threats. | |
SLG 8: Demonstrate knowledge of computer science and its implication in modern society. | SLO 8.1: Comprehend the relationships between ethics, social implications, Human Computer/Cyber Interaction (HCI) and cyber technology |
SLO 8.2: Analyze examples of how cyber technology implementations affect and/or impact social, ethical, and HCI issues | |
SLO 8.3: Analyze historical examples of how cyber computer technology can be a benefit and/or a determent to individuals from any education, employment, socioeconomic, ethic, cultural, and/or religious background or issue. | |
SLO 8.4: Analyze potential future examples of how cyber technology can be a benefit and/or a determent to individuals from any education, employment, socioeconomic, ethic, cultural, and/or religious background or issue | |
SLO 8.5: Comprehend and analyze computer hardware and software terms and/or concepts, how they are related to each other, and their impact on social, ethical and HCI issues of cyber technology. | |
SLG 9: Demonstrate knowledge of abstract mathematical structures, mathematical techniques, and formal mathematical reasoning as they pertain to the area of computer science. | SLO 9.1: Students will have a strong knowledge of discrete mathematics. |
SLO 9.2: Demonstrate the ability to write and evaluate a proof or outline the basic structure of and give examples of each proof technique described | |
SLO 9.3: Understand the basic principles of sets and operations in sets. | |
SLO 9.4: Prove basic set equalities. | |
SLO 9.5: Apply counting principles to determine probabilities. | |
SLO 9.6: Demonstrate an understanding of relations and functions and be able to determine their properties. | |
SLO 9.7: Determine when a function is 1-1 and "onto" | |
SLO 9.8: Demonstrate different traversal methods for trees and graph | |
SLO 9.9: Model problems in Computer Science using graphs and trees | |
SLG 10: Demonstrate knowledge of a variety of network security tools including firewalls, VPNs, and proxy servers. Understand the difference in the variety of network security information that can be monitored and collected as well as how optimal collection should take place. Understand how to safely research the execution of attacks without jeopardizing system security. | SLO 10.1: Students will understand the basics of network security sensor system design, network placement, installation, and configuration. |
SLG 10.2: Students will understand the basic principles of anomaly-based packet detection. | |
SLG 10.3: Students will understand where and how security technologies such as firewalls, VPNs and proxy servers should be leveraged as well as how to best configure firewalls under a variety of situations. | |
SLG 10.4: Students will understand the basic principles of signature-based detection systems. | |
SLG 10.5: Students will understand the role honeypot platforms play in defensive network security as well as how they can be useful outside of a research environment. | |
SLG 11: Demonstrate knowledge of assembly programming and its role in determining where sources of exploitation may exist in modern programs. Understand a variety of software testing techniques and how each can be used to determine where security or logic errors may have occurred in the development of the software in order to correct the errors. | SLO 11.1: Students will understand basic assembly and how compilers handle the conversion of 3rd generation language constructs to assembly. |
SLO 11.2: Students will examine and be able to identify common assembly optimization techniques including unrolled loops, inline functions, simplification of multiplication & division and 2 for 1 comparison swaps. | |
SLO 11.3: Students will understand the role of white-box testing as how to perform code coverage analysis and utilize techniques such as unit testing and mutation testing. | |
SLO 11.4: Students will understand the role of fuzzing in black box testing, how it is performed and how to automate it. | |
SLG 12: Demonstrate introductory knowledge of the design of database systems, the relationship between CSS and HTML and their roles in web design, programming in both a front and back-end dynamic web language, and basic web development security principles. | SLO 12.1: Students will be able to utilize HTML and CSS to design a simple web page template that can be replicated across several pages |
SLG 12.2: Students will be able to understand the use and function of fundamental web technologies such as cookies, forms and form variables and server-side data storage. | |
SLO 12.3: Students will gain an introductory understanding of the design, implementation and use of database systems. | |
SLO 12.4: Students will understand the role of both front and back-end dynamic web languages in modern website design. | |
SLG 13: Demonstrate Knowledge of Basic Static Analysis, Basic Dynamic Analysis, Advanced Static Analysis and Advanced Dynamic Analysis. Students will understand how to use several tools that are used for both Static Analysis and Dynamic Analysis. Students will display knowledge in the following software programs (Procmon, Strings, Dependency Walker, Regshot, Netcat, IDA Pro. WinDbg and OLLYDBG) | SLO 13.1: Students will be able to determine if a program is packed or obfuscated. |
SLO 13.2: Students will be able to analyze malware using a virtual machine. | |
SLO 13.3: Students will be able to run malware and use tools to do Dynamic Analysis. | |
SLO 13.4: Students will be able to use tools to recognize different control structures created by high level languages. Students will be able to use the tool IDA PRO to do a Static Analysis of the malware and the control structures used. | |
SLO 13.5: Students will be able to use tools to perform dynamic malware analysis. Students will be able to use the tool OllyDbg to analyze the malware while it is running. | |
SLO 13.6: Students will be able to analyze malware in the Kernel using WinDbg. | |
SLO 13.7: Students will be able to recognize the different types of malware. (Rootkits, Ransomware, Worms and Keyloggers) | |
SLG 14: Demonstrate an in-depth understanding of how to effectively protect computer networks | SLO 14.1: Students will be familiar with the legal and ethical implications of illegal computer hacking. |
SLO 14.2: Students will learn the tools and penetration testing methodologies used by ethical hackers. | |
SLO 14.3: Students will demonstrate knowledge of cryptography and its security applications. | |
SLO 14.4: Students will be familiar with the hacking techniques of web servers and wireless networks. | |
SLO 14.5: Students will understand the methods of protecting desktop and server vulnerabilities. | |
SLO 14.6: Students will learn and assess the threat of embedded operating systems. | |
SLO 14.7: Students will understand the vulnerabilities and innovative methods of protecting networks. | |
SLG 15: Demonstrate Knowledge of Wireless and Mobile Networks. Understand WLAN and IP Networking Threat and Vulnerability Analysis. Recognize Security Threats in Wired, Wireless, and Mobile networks. Students will show knowledge of WLAN Auditing Tools, Mobile Device Security Models, Fingerprinting Mobile Devices and Wireless Attacks and Remediation. | SLO 15.1: Students will be able to recognize the difference between Data Theft Threats, Device Control Threats and System Access Threats. |
SLO 15.2: Students will understand the different types of Data Protection. (Wi-Fi Protected Access, Wi-Fi Protected Access2, WPA2 with AES, WPA2 with CCMP, Order of Preference for Wi-Fi Data Protection and WPA3. | |
SLO 15.3: Students will learn how to use WLAN Auditing Tools (Wireless Protocol Analyzers, Aircrack-ng, Airshark, HeatMapper, and Metasploit) | |
SLO 15.4: Students will understand the mobile communication security challenges for (Google Android, Apple IOS and Windows Phone). | |
SLO 15.5: Students will be able to recognize the different types of Mobile Device Security Models (Google Android, Apple IOS and Windows Phone). They will also learn the evolution of each model. | |
SLG 16: Demonstrate knowledge of cryptographic methods as applied to secure communication and gain proficiency in modern network protocols and security. | SLO 16.1: Students will understand the necessary background algebra and number theory. |
SLO 16.2: Students will learn important ciphers including stream and block ciphers. | |
SLO 16.3: Students will become familiar with public and private-key cryptographical methods. | |
SLO 16.4: Students will observe and implement message integrity and authentication. | |
SLO 16.5: Students will learn modern protocols and methods for system and network security |
Bachelor of Science with a major in Cybersecurity and Operations
General Education | 40 | |
Required CSCI Core (72 cr.) | ||
CSCI 160 | Computer Science I | 4 |
CSCI 161 | Computer Science II | 4 |
CSCI 221 | Web and Internet Programming | 4 |
CSCI 242 | Algorithms & Data Structures I | 4 |
CSCI 260 | UNIX Environment | 4 |
CSCI 275 | Computer and Digital Hardware I | 4 |
CSCI 331 | Social Implications | 4 |
CSCI 340 | Computer Networks I | 4 |
CSCI 370 | Computer Organization | 4 |
CSCI 380 | Malware Analysis | 4 |
CSCI 390 | Ethical Hacking | 4 |
CSCI 410 | Defensive Network Security | 4 |
CSCI 415 | Vulnerability Analysis | 4 |
CSCI 420 | Mobile and Wireless Security | 4 |
CSCI 425 | Applied Cryptography | 4 |
CSCI 450 | Operating Systems | 4 |
CSCI 458 | Computer & Network Security | 4 |
CSCI 460 | Capstone Project (Security Related) | 4 |
Required Support Math Courses (11-12 cr.) | ||
MATH 146 | Applied Calculus | 3 |
or MATH 165 | Calculus I | |
MATH 208 | Discrete Mathematics I | 4 |
MATH 210 | Elementary Statistics | 4 |
Total Hours | 123 |
Cybersecurity and Operations Minor
Required Core (16 cr.) | ||
CSCI 160 | Computer Science I | 4 |
CSCI 161 | Computer Science II | 4 |
CSCI 242 | Algorithms & Data Structures I | 4 |
CSCI 340 | Computer Networks I | 4 |
Select one of the Following: (4 cr.) | 4 | |
Web and Internet Programming | ||
UNIX Environment | ||
Computer and Digital Hardware I | ||
Select three of the following: (12 cr.) | 12 | |
Malware Analysis | ||
Ethical Hacking | ||
Defensive Network Security | ||
Vulnerability Analysis | ||
Mobile and Wireless Security | ||
Applied Cryptography | ||
Total Hours | 32 |