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: A- or better in MATH-111 or A- or better in ((NMTH-260 or NMTH-272 or NMTH-275) and NMTH-220) or a math placement exam score greater than or equal to 80 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.
BIOL 101/103 - General Biology I/Lab
This course serves as an introduction to cellular, molecular, and evolutionary biology. Topics will include: a study of the basic principles of modern cellular biology, including cell structure and function; the chemical basis and functions of life, including enzyme systems and gene expression; and the origin of life and evolutionary patterns of organism development on Earth. Lab: This course provides laboratory work to complement the lecture material of General Biology I. The experiments are designed to illustrate concepts of basic cellular and molecular biology, develop laboratory skills and techniques for microscopy, and improve ability to make, record and interpret observations
CHMG-141/145 General & Analytical Chemistry I/Lab
This is a general chemistry course for students in the life and physical sciences. College chemistry is presented as a science based on empirical evidence that is placed into the context of conceptual, visual, and mathematical models. Students will learn the concepts, symbolism, and fundamental tools of chemistry necessary to carry on a discourse in the language of chemistry. Emphasis will be placed on the relationship between atomic structure, chemical bonds, and the transformation of these bonds through chemical reactions. The fundamentals of organic chemistry are introduced throughout the course to emphasize the connection between chemistry and the other sciences. Lab: The course combines hands-on laboratory exercises with workshop-style problem sessions to complement the CHMG-141 lecture material. The course emphasizes laboratory techniques and data analysis skills. Topics include: gravimetric, volumetric, thermal, titration and spectrophotometric analyses, and the use of these techniques to analyze chemical reactions.
PHYS-211 University Physics I
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.
BIOL 102/104 - General Biology II/Lab
This course serves as an introduction to animal and plant anatomy and physiology, in addition to the fundamentals of ecology. Topics will include: animal development; animal body systems; plant development; unique plant systems; Earth's terrestrial and aquatic environments; population and community ecology; animal behavior; and conservation biology. Lab: This course provides laboratory work to complement the material of General Biology II. The experiments are designed to illustrate concepts of animal and plant anatomy and physiology, develop laboratory skills and techniques for experimenting with live organisms, and improve ability to make, record, and interpret observations.
CHMG 142/146 - General & Analytical Chemistry II/Lab
The course covers the thermodynamics and kinetics of chemical reactions. The relationship between energy and entropy change as the driving force of chemical processes is emphasized through the study of aqueous solutions. Specifically, the course takes a quantitative look at: 1) solubility equilibrium, 2) acid-base equilibrium, 3) oxidation-reduction reactions and 4) chemical kinetics. Lab: The course combines hands-on laboratory exercises with workshop-style problem sessions to complement the CHMG-142 lecture material. The course emphasizes the use of experiments as a tool for chemical analysis and the reporting of results in formal lab reports. Topics include the quantitative analysis of a multicomponent mixture using complexation and double endpoint titration, pH measurement, buffers and pH indicators, the kinetic study of a redox reaction, and the electrochemical analysis of oxidation reduction reactions.
Prerequisites: CHMG-141 or CHMG-131 or equivalent course. Corequisites: CHMG-146 Lab.
PHYS-212 University Physics II
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 builds upon basic programming skills to give students the programming knowledge necessary to study computing security. Students will be introduced to network programming, memory management, and operating system calls along with associated security concepts. Specific focus will placed on understanding the compilation process and on the relation between high-level programming concepts and low-level programming concepts, culminating in identifying and exploiting memory corruption vulnerabilities.
Prerequisites: CSEC 101 & CSCI 141 or equivalent courses.
This course will teach students the core concepts needed to analyze unknown source code. Students will study a variety of low-level programming languages and how high-level programming language structures relate to low-level programming languages. Students will learn study tools and techniques used for both static and dynamic analysis of unknown binaries, providing the foundation for further study in malware analysis.
Prerequisite: CSEC-201 or equivalent course.
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 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. Note: students should have one course in object-oriented programming. Prerequisites: ISTE-120 or ISTE-200 or IGME-101 or IGME-105 or CSCI-140 or CSCI-142 or CSCI-242 or equivalent 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.