Villanova Cybersecurity Minor

010101100010100101100101011010100111101000101111011010111111000010110010011011011110101011101100011110011100101110101011100010101101110010111111

DRAFT - July 3, 2016

Requirements (7 courses)

Programming course:

Computer systems course:

Operating systems course:

Information security course:

Networks course:

Two of the following security courses:

010101100010100101100101011010100111101000101111011010111111000010110010011011011110101011101100011110011100101110101011100010101101110010111111

Course Descriptions

CSC 1051 - Algorithms & Data Structures I

Object-oriented design: objects, classes, methods, encapsulation; programming fundamentals: data, variables, selection, loops, arrays, input/output; basic graphics and graphical user interfaces.

CSC 1052 - Algorithms & Data Structures II

Object-oriented design: inheritance, interfaces, polymorphism; problem analysis; recursion; abstract data types; dynamically linked structures; Linear data structures: stacks, queues, lists, vectors; sorting and searching; event-driven programming; graphical user interfaces.
Prerequisites: CSC 1051

CSC 1300 - Discrete Structures

Mathematical structures that support computer science: sets, matrices, trees, graphs, logic and proof, mathematical induction, relations, functions, sequences, summations, and elementary combinatorics.

CSC 1600 - Operating Systems

System software design and implementation; process and resource management; concurrency, scheduling, and deadlock; memory management; file systems and security.
Prerequisites: CSC 2400 or ECE 2042

CSC 2400 - Computer Systems I

Architecture of computer systems: representation of data; processor, memory and I/O organization. Assembly language programming. C programming language constructs and their relationship to the underlying architecture. Basics of operating systems: interrupts, concurrency, process scheduling, security, networking.
Prerequisites: CSC 1300 or MAT 2600

CSC 2405 - Computer Systems II

Processes, threads and concurrent programming. Scheduling and dispatching. Linking and relocation. Memory management. Virtual memory. System-level I/O Device management. File systems. Security and protection in depth. Real-time and embedded systems. System performance evaluation. Scripting.
Prerequisites: CSC 2400

CSC 3080 - Information Security & Protection

Explores the criticality of protecting information's availability, accuracy, authenticity, confidentiality, and integrity. Analysis of topics to include redundancy, backup and recovery, business continuity, security technologies, and controls such as audit, change management and testing.
Prerequisites: CSC 1200 CSC 2400 (or CSC 1300 and ECE 2042 ?)

CSC 4450 - Digital Forensics

In-depth study of digital evidence presentation, digital forensic techniques, and data analysis. Password cracking, encryption/decryption, volatile data extraction and network forensics of advanced forensic tools, legal and ethical issues related to forensics and security management techniques required for resiliency in today's digital workplace.
Prerequisites: CSC 2400 (or CSC 1300 and ECE 2042 ?)

CSC 4900 - Computer Networks

Underlying principles of computer networks; OSI and TCP/IP architecture; LAN technologies; interconnecting devices: hubs, bridges, switches, routers, gateways; IP addressing and forwarding; routing protocols; transport protocols; error, flow, and congestion control; client- server communication; authentication and authorization; security threats and solutions.
Prerequisites: CSC 2405 or CSC 1600

ECE 1620 - Engineering Programming & Applications

Engineering problem solving using the C programming language, C control structures, data files, debugging, functions, arrays, elementary data structures, and pointers.

ECE 2042 - Fundamentals of Computer Engineering I

Introduction to logic design and digital computer fundamentals. Topics include computer arithmetic, Boolean algebra and logical design, assembly language programming basics, and basic concepts of computer architecture.
Corequisites: ECE 2043

ECE 2043 - Fundamentals of Computer Engineering I Lab

This laboratory course is intended to be taken concurrently with ECE 2042. The laboratory includes exercises on logic design and on programming the 68000 microprocessor in assembly language.
Corequisites: ECE 2042

ECE 4470 - Computer Networks

ISO/OSI, TCP/IP reference models; data transmission, encoding, framing, error detection, stop-and-wait, sliding windows; CSMA/CD, Ethernet; bridges, spanning tree protocol; connectionless, connection-oriented and source routing, IP addressing, forwarding, VPNs; switching fabrics; ARP, DHCP, DV, OSPF, BGP, DNS.
Prerequisites: ECE 1620

ECE 5476 - Computer and Network Security

Computer security in the context of the Internet, including hands-on exercises and experiments in the areas of authentication, attacks and threats, email and communication, digital signatures and encryption, mobile devices, privacy, safe browsing and certificates.

ECE 5478 - Selected Topics in Engineering Secure Cyber-Physical Systems (new, starting Spring 2017)

Cyber-Physical Systems include home automation and protection, connected vehicles, connected medical devices, drones, smart buildings and cities, and industrial control systems. Secure engineering of cyber-physical systems leading to a safer and more secure connected environment that also respects personal privacy. Improvement of security after deployment. Emphasis on hands-on activities and lab work.

010101100010100101100101011010100111101000101111011010111111000010110010011011011110101011101100011110011100101110101011100010101101110010111111