The BS in Computing Security requires 126 credits consisting of general education (math, science and liberal arts) and computing security courses. Course descriptions for the BS in Computing Security required courses are listed below. Additional information on liberal arts general education framework can be found here: Liberal Arts
The Year One class serves as an interdisciplinary catalyst for first-year students to access campus resources, services and opportunities that promote self-knowledge, personal success, leadership development, social responsibility and life academic skills awareness and application. Year One is also designed to challenge and encourage first-year students to get to know one another, build relationships and help them become an integral part of the campus community.
This course serves as an introduction to computational thinking using a problem-centered approach. Specific topics covered include: expression of algorithms in pseudo code and a programming language; functional and imperative programming techniques; control structures; problem solving using recursion; basic searching and sorting; elementary data structures such as lists, trees, and graphs; and correctness, testing and debugging. Assignments (both in class and for homework) requiring a pseudo code solution and an implementation are an integral part of the course. An end-of-term project is also required.
This course delves further into problem solving by continuing the discussion of data structure use and design, but now from an object-oriented perspective. Key topics include more information on tree and graph structures, nested data structures, objects, classes, inheritance, interfaces, object-oriented collection class libraries for abstract data types (e.g. stacks, queues, maps, and trees), and static vs. dynamic data types. Concepts of object-oriented design are a large part of the course. Software qualities related to object orientation, namely cohesion, minimal coupling, modifiability, and extensibility, are all introduced in this course, as well as a few elementary object-oriented design patterns. Input and output streams, graphical user interfaces, and exception handling are covered. Students will also be introduced to a modern integrated software development environment (IDE). Programming projects will be required. Prerequisites: CSCI-141 with a grade of C- or better or equivalent course.
An introduction to the fundamental issues, concepts and tools common to all areas of computing security. Topics include identifying attackers and their motivations. Essential techniques will be introduced covering the areas of anti-virus, monitoring, virtual machines, account control, and access rights management. Various security models will be investigated. Concept areas such as confidentiality, integrity, availability and privacy will be studied. Class 3, Credit 3 (Fall, Spring)
This is the first in a two-course sequence intended for students majoring in mathematics, science or engineering. It emphasizes the understanding of concepts, and using them to solve real-world problems. The course covers two-dimensional analytic geometry, functions, limits, continuity, the derivative, rules of differentiation, applications of the derivative, Riemann sums, definite integrals, and indefinite integrals.
Prerequisite: Students must have an ALEKS math placement exam score greater than or equal to 80 or a math placement exam (MPE) score greater than or equal to 75 or department permission to enroll in this class.
This is the second in a two-course sequence intended for students majoring in mathematics, science or engineering. It emphasizes the understanding of concepts, and using them to solve real-world problems. The course covers techniques of integration including integration by parts, partial fractions, improper integrals, applications of integration, representing functions by infinite series, convergence and divergence of series, parametric curves, and polar coordinates.
Prerequisites: C- or better in (MATH-181 or MATH-173 or 1016-282) or (MATH-171 and MATH-180) or equivalent course(s).
This course introduces students to ideas and techniques from discrete mathematics that are widely used in Computer Science. Students will learn about the fundamentals of propositional and predicate calculus, set theory, relations, recursive structures and counting. This course will help students develop mathematical sophistication and the ability to handle abstract problems.
Co-requisites: MATH-182 or MATH-182A or MATH-172 or equivalent courses.
This course is an introduction to wired network infrastructures, topologies, technologies and protocols required for effective end-to-end communication. Basic security concepts are also introduced at the local area network communication level. Networking layers 1, 2 and 3 are examined in-depth using the International Standards Organization’s Open Systems Interconnection and TCP/IP models. Topics focus on the TCP/IP protocol suite, the Ethernet LAN protocol, and routed and routing protocols common in local area networks. Labs will cover the various aspects of communication, management and security on equipment found in industry.
Prerequisites: NSSA-102 or CSEC-101 or equivalent courses.
Students will be introduced to the details of program structure and the mechanics of execution as well as supportive operating system features. Security and performance issues in program design will be discussed. The program translation process will be examined. Programming assignments will be required.
Prerequisites: CSCI-140 or CSCI-142 or CSCI-242 with a grade of C- or better or equivalent course.
An introduction to the hardware and software organization of computer systems. The course emphasizes a multilevel model of computer organization. Topics include the digital logic level; the micro architecture level; the machine instruction set level; the operating system level; and the assembly language level. Programming assignments will be required.
Prerequisites: CSCI-243 and (MATH-190 or MATH-200) or equivalent courses.
MATH-241 Linear Algebra
This course is an introduction to the basic concepts of linear algebra, and techniques of matrix manipulation. Topics include linear transformations, Gaussian elimination, matrix artihmetic, determinants, Cramer's rule, vector spaces, linear independence, basis, null space, row and column spaces of a matrix, eigenvalues, eigenvectors, change of basis, similarity and diagonalization. Various applications are studied throughtout the course.
Prerequisites: MATH-190 or MATH-200 or MATH-219 or MATH-220 or MATH-221 or MATH-221H or equivalent course.
This course will introduce sample spaces and events, axioms of probability, counting techniques, conditional probability and independence, distributions of discrete and continuous random variables, joint distributions (discrete and continuous), the central limit theorem, descriptive statistics, interval estimation, and applications of probability and statistic to real-world problems. (MATH-182 Project-Based Calculus II or permission of instructor) Class 3, Credit 3 (F, S, Su)
This course is designed to give students an understanding of the role of the system administrator in large organizations. This will be accomplished through a discussion of many of the tasks and tools of system administration. Students will participate in both a lecture section and a separate lab section. The technologies discussed in this class include: operating systems, system security, and service deployment strategies. Prerequisites: (NSSA-220 or CSCI-141) and (NSSA-102 or CSEC-101) and NSSA-241 or equivalent courses.
An investigation of the tasks of selecting, configuring and administering services in an internetworking environment. Topics include the TCP/IP protocol suite, service administration including DHCP, DNS, SSH, Kerberos, and an introduction
to directory services. Students completing this course will have experience in administering, monitoring and securing an internetwork of computers with a variety of these services as well as an understanding of the similarities and differences between protocols in the TCP/IP suite (TCP and UDP). Prerequisites: NSSA-241 and (NSSA-220 or CSCI-141) or equivalent courses.
This is a course in calculus-based physics for science and engineering majors. Topics include kinematics, planar motion, Newton's Laws, gravitation, work and energy, momentum and impulse, conservation laws, systems of particles, rotational motion, static equilibrium, mechanical oscillations and waves, and data presentation/analysis. The course is taught in a workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
Prerequisites: C- or better in MATH-181 or equivalent course. Co-requisites: MATH-182 or equivalent course.
This course is a continuation of PHYS-211, University Physics I. Topics include electrostatics, Gauss' law, electric field and potential, capacitance, resistance, DC circuits, magnetic field, Ampere's law, inductance, and geometrical and physical optics. The course is taught in a lecture/workshop format that integrates the material traditionally found in separate lecture and laboratory courses.
Prerequisites: (PHYS-211 or PHYS-211A or PHYS-206 or PHYS-216) and (MATH-182 or MATH-172 or MATH-182A) or equivalent courses. Grades of C- or better are required in all prerequisite courses.
This course provides an introduction to cryptography, its mathematical foundations, and its relation to security. It covers classical cryptosystems, private-key cryptosystems (including DES and AES), hashing and public-key cryptosystems (including RSA). The course also provides an introduction to data integrity and authentication.
Prerequisites: (CSCI-243 or SWEN-262) and (MATH-190 or MATH-200) or equivalent courses.
As more users access remote systems, the job of identifying and authenticating those users at distance becomes increasingly difficult. The growing impact of attackers on identification and authentication systems puts additional strain on our ability to ensure that only authorized users obtain access to controlled or critical resources. This course reviews basic cryptology techniques and introduces their application to contemporary authentication methods. Prerequisites: CSCI-462 and CSEC-101 or equivalent course.
A presentation of the fundamental concepts and theories used in organizing and structuring data. Coverage includes the data modeling process, basic relational model, normalization theory, relational algebra, and mapping a data model into a database schema. Structured Query Language is used to illustrate the translation of a data model to physical data organization. Modeling and programming assignments will be required. Prerequisites: ISTE-120 or IGME-101 or IGME-105 or CSCI-142 or equivlanet course.
Why are we still so bad at protecting computer systems? Is it because we don’t have good enough technology? Or because we lack sufficient economic incentives to implement that technology? Or because we implement technologies but then fail to use them correctly? Or because the laws governing computer security are so outdated? Or because our legal frameworks are ill-equipped to deal with an international threat landscape? All these reasons—and others— have been offered to explain why we seem to see more and more large-scale cybersecurity incidents and show no signs of getting better at preventing them. This course will examine the non-technical dimensions of this problem—the laws and other policy measures that govern computer security threats and incidents. We will focus primarily on U.S. policy but will also discuss relevant policies in the E.U. and China, as well as international tensions and norms. The
central themes of the course will be the ways in which technical challenges in security can be influenced by the social, political, economic, and legal landscapes, and what it means to protect against cybersecurity threats not just by writing better code but also by writing better policies and laws.
This is a capstone course for students in the information security and forensics program. Students will apply knowledge and skills learned and work on real world projects in various areas of computing security. Projects may require performing security analysis of systems, networks, and software, etc., devising and implementing security solutions in real world applications.