Course Offerings

Cybersecurity Courses

CYS 101 Introduction to Cybersecurity (3 credits)
The purpose of this course is to cover basic concepts, including fundamental principles, common attacks, and defense mechanisms in the areas of security, privacy, and networking. Students will be introduced to primitive concepts and building blocks of computer networks with cyber defense elements. This is an introductory level course for students interested in basic networking and cybersecurity.
CYS 210 Cybersecurity Fundamentals 1
This course introduces cybersecurity fundamentals and concepts. Security models that provide a basis for overarching security solutions are introduced to provide a basis for discussion. Risks and vulnerabilities are examined along with technical controls that can be used to mitigate them. The role of security policy and the incident management framework are examined. Emphasis is placed on building a strong foundation for further study in the field.
CYS 211 System Administration
This course provides a comprehensive introduction to system administration. Topics include authentication and authorization, directory services, system management and system security. Emphasis is placed on enterprise level systems.
CYS 215 Cybersecurity Fundamentals II
This course will investigate additional foundational ideas in cybersecurity and serves as a survey course in the field. The course provides extended exposure to utilizing tools to secure/harden aspects of info systems such as mandatory access control, wireless security, hardware security, cloud security and others. Prerequisite: CYS 210
CYS 315 Basic Cyber Forensics
This course introduces students to the fundamentals of cyber forensics and cyber-crime scene analysis. The various laws and regulations dealing with computer forensic analysis are discussed. Students are introduced to the emerging international standards for cyber forensic analysis, as well as a formal methodology for conducting computer forensic investigations. Prerequisite: CYS 215
CYS 340 Cybersecurity and Ethical Hacking
This course covers mathematical models for computer security. It analyzes and compares the properties of various models for hardware, software, and database security. The course examines how system designs, network protocols, and software engineering practices can result in vulnerabilities. Students learn to design, evaluate, ethically hack, and implement adequate security measures that can safeguard sensitive information. Prerequisite: CYS 215.
CYS 357 IT Security
An overview of various technical and administrative aspects of information security. Introduces students to assets in typical IT infrastructure, potential threats to assets, common associated vulnerabilities, protection of assets, and response to security incidents. Prerequisite: CYS 215
CYS 430 Security Driven Systems Administration
This course covers the design, management, and maintenance of virtual enterprise and datacenter infrastructure. Students learn to use appropriate tools such as request tracking, monitoring, configuration management, virtualization, and scripting to administer and defend systems using documented, repeatable processes. Emphasis will be placed on volume management, directory services, and network-based authentication and file systems. Students develop automatic procedures for installations and file distribution. Prerequisites: MATH 370 and CYS 215.
CYS 458 Blockchain Principles and Applications
Presents various aspects of blockchain technology including distributed ledgers and consensus, internal mechanisms, smart contracts and DApps (distributed applications). Focus on Naivecoin, Bitcoin and Ethereum as case studies. Explore various application areas for blockchains including elections, supply chain management and others. Engage hands-on in the design, implementation and evaluation of DApps. Prerequisite: CYS 215

Computer Science Courses

CS-210 Fundamentals of Programming I (3 credits)
Emphasizes problem-solving techniques used in the analysis and design of software solutions, including structured top-down design, abstraction, good programming style, debugging, and testing. Programming constructs covered include control structures, functions, and basic, and aggregate data types. Introduction to recursion and dynamic allocation. Fall, spring.
CS-215 Fundamentals of Programming II (3 credits)
Project and problem-solving course emphasizes the use of classes for encapsulation of abstract data types and abstract data structures. Topics include classes, templates, dynamic allocation, searching and sorting, recursion, and exception handling. Introduction to algorithm analysis. Prerequisite: Grade of C- or better in CS 210.
CS-220 Logic Design and Machine Organization (3 credits)
Introduction to logic design and computer hardware concepts. Topics include Boolean algebra, number representations, sequential logic, counters and registers, microcomputer architecture, and assembly language programming. Spring.
CS-320 Computer Architecture (3 credits)
Studies the architecture of computer systems from four-bit machines to supercomputers. Memory systems, I/O processors, and multi-computer systems are studied in detail. RISC, CISC and Neural Nets are introduced. Establishes the relationship of hardware and software. Includes hands-on projects dealing with graphical user interfaces and their implementation. Prerequisites: CS 210; CS 220 or EE 254. Spring.
CS-390 Software Engineering (3 credits)
Study of the software design and development process in the context of a large group-programming project. Topics covered include: project management, software management, requirements and specifications methods, software design and implementation, verification and validation, aspects of software testing and documentation standards, technical documents, contracts, risks, and liabilities. Prerequisite: CS 215. Recommended: CS 290. Fall.
CS-413 Software Security (3 credits)
Provides a systematic treatment for software design and implementation to create computer programs and applications that are secure. Types of vulnerabilities and security issues involving software implementation and as well as web, cryptographic, and networking applications are identified and solutions provided including software development lifecycle models that incorporate security. Prerequisite or corequisite: CS 390.
CS-415 Cryptography (3 credits)
Introduces conventional and public-key cryptography, cryptosystems such as DES and RSA, and applications of cryptography to network and system security. Prerequisites: CS 215; MATH 370.
CS-470 Operating Systems (3 credits)
Components of operating systems. Tasking and processing, process coordination and scheduling, memory organization and management, device management, security, networks, distributed and real-time systems. Prerequisite: CS 215. Recommended corequisite: CS 320. Spring.
CS-475 Networks (3 credits)
Digital data communication systems in hardware and software, synchronous and asynchronous communication, standards, protocols, network configurations, network applications. Prerequisites: CS 215; MATH 222.