Computing Security Bachelor of science degree

de869fff-81e4-4ced-b945-da5537da8b93 | 90563

Overview

Dual Degree

Preserve information assets, identify computer security vulnerabilities, and understand the forensics needed to prove an attack occurred, from identifying its origin and assessing the extent of the damage to designing strategies that ensure data recovery.


The computing security degree at RIT is a cybersecurity degree that provides students with a solid foundation in programming and mathematics and an extensive selection of advanced topics from the areas of the network and system security, digital forensics and malware, software security, data security, and privacy, to cyber analytics and intelligence.

The scope of computer systems and networks and the span of these systems increases in organizations every day. At the same time, industry and society's dependence on these technologies is growing dramatically, as is the creation of malicious software that attacks computing systems and networks. Therefore, computing security has become a major concern for organizations large and small to ensure their business success and continuity. The result is an increased and urgent demand for security professionals and technologies that can secure and protect from relentless attack digital assets of an organization as well as the hardware and software infrastructures that house the information.

The BS degree in computing security produces professionals who understand people and processes that impact information security. In addition to possessing state-of-the-art knowledge in protecting digital assets of large or small organizations, graduates will be able to proactively identify security vulnerabilities in software, hardware, and infrastructure, and provide and implement actionable solutions that are satisfactory to the organization. Graduates will also be able to collect digital forensic evidence to reveal network and data breach incidents, attribute the attackers or origin, assess the extent of the damage or loss of information, and design strategies that ensure data are protected from future attacks.

The BS in computing security provides students with a solid foundation in computer science and mathematics during the first two years of the program. Starting the third year, students can select an in-depth study in various aspects of computing security including network and system security, malware and digital forensics, software security, and security evaluations and management.

Plan of study

Students complete core courses, advanced courses, and cooperative education. Core courses include a programming sequence, an ethics course, a computer networking and system administration sequence, and foundation courses in computer and network security. Advanced courses allow students to design the focus of their information security course work. Cooperative education is a required component of the major.

Advanced electives

Students complete six advanced security elective courses. These elective expand their knowledge in one of several disciplines of security, including network and systems security, digital forensics and malware, security software, and security management.

Students can create customized clusters for their special interests provided compositions of clusters are vetted by their academic advisor and the undergraduate program director. Courses in a customized cluster should be on the list of approved advanced elective courses of computing security. To be counted as a cluster course, a College of Computing and Information Sciences course not on the list of advanced elective courses of computing security needs to be approved by the undergraduate program director on a case by case basis, or simply such a course can be counted as a free elective for students.

Industries


  • Electronic and Computer Hardware

  • Government (Local, State, Federal)

  • Health Care

  • Internet and Software

  • Management Consulting

  • Medical Devices

  • Telecommunications

  • Utilities and Renewable Energy

Typical Job Titles

Computer Security Analyst Cyber Security Engineer
Information Security Analyst Junior Security Engineer
Malware Analyst Network Engineer
Security Analyst Site Reliability Engineer
Systems Engineer

97%

outcome rate of graduates

$77.5k

median first-year salary of graduates

Cooperative Education

Cooperative education, or co-op for short, is full-time, paid work experience in your field of study. And it sets RIT graduates apart from their competitors. It’s exposure–early and often–to a variety of professional work environments, career paths, and industries. RIT co-op is designed for your success

Students in the computing security degree are required to complete two blocks of cooperative education experience.

Explore salary and career information for Computing Security BS 

Curriculum for Computing Security BS

Computing Security, BS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
MATH-181
General Education – Mathematical Perspective A: Project-Based Calculus I
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 physical problems. The course covers 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 70 or department permission to enroll in this class.) Lecture 6 (Fall, Spring, Summer).
4
MATH-182
General Education – Mathematical Perspective B: Project-Based Calculus II
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 physical 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).) Lecture 6 (Fall, Spring, Summer).
4
MATH-190
General Education – Elective: Discrete Mathematics for Computing
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 increase students’ mathematical sophistication and their ability to handle abstract problems. (Co-requisites: MATH-182 or MATH-182A or MATH-172 or equivalent courses.) Lecture 3 (Fall, Spring).
3
NSSA-241
Introduction to Routing and Switching
This course provides an introduction to wired network infrastructures, topologies, technologies, and the protocols required for effective end-to-end communication. Basic security concepts for TCP/IP based technologies are introduced. Networking layers 1, 2, and 3 are examined in-depth using the International Standards Organization’s Open Systems Interconnection and TCP/IP models as reference. Course topics focus on the TCP/IP protocol suite, the Ethernet LAN protocol, switching technology, and routed and routing protocols common in TCP/IP networks. The lab assignments mirror the lecture content , providing an experiential learning component for each topic covered. (Prerequisites: NSSA-102 or CSEC-101 or NACT-151 or CSCI-250 or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
3
YOPS-10
RIT 365: RIT Connections
RIT 365 students participate in experiential learning opportunities designed to launch them into their career at RIT, support them in making multiple and varied connections across the university, and immerse them in processes of competency development. Students will plan for and reflect on their first-year experiences, receive feedback, and develop a personal plan for future action in order to develop foundational self-awareness and recognize broad-based professional competencies. Lecture 1 (Fall, Spring).
0
Choose one of the following:
3
   CSEC-101
   Fundamentals of Computing Security
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. Lecture 3 (Fall, Spring).
 
   CSEC-140
   Introduction to Cybersecurity
This course will introduce many fundamental cybersecurity concepts. The course will teach students to think about information systems using an adversarial mindset, evaluate risk to information systems, and introduce controls that can be implemented to reduce risk. Topics will include authentication systems, data security and encryption, risk management and security regulatory frameworks, networking and system security, application security, organizational and human security considerations, and societal implications of cybersecurity issues. These topics will be discussed at an introductory level with a focus on applied learning through hands-on virtual lab exercises. Lecture 3 (Fall, Spring).
 
Choose one of the following:
4
   CSCI-141
   General Education – Elective: Computer Science I
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. Lec/Lab 6 (Fall, Spring).
 
   CSEC-123
   General Education – Elective: Software Development and Problem Solving 1
A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. This course is co-listed as SWEN-123, CSEC-123 and ISTE-123; therefore students may only receive credit for one of these courses. Lab 6 (Fall, Spring).
 
   ISTE-123
   General Education – Elective: Software Development and Problem Solving 1
A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. This course is co-listed as SWEN-123, CSEC-123 and ISTE-123; therefore students may only receive credit for one of these courses. Lab 6 (Fall, Spring).
 
   SWEN-123
   General Education – Elective: Software Development and Problem Solving 1
A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. This course is co-listed as SWEN-123, CSEC-123 and ISTE-123; therefore students may only receive credit for one of these courses. Lab 6 (Fall, Spring).
 
Choose one of the following:
4
   CSCI-142
   General Education – Elective: Computer Science II
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.) Lec/Lab 6 (Fall, Spring, Summer).
 
   CSEC-124
   General Education – Elective: Software Development and Problem Solving II
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. This course is co-listed as SWEN-124, CSEC-124 and ISTE-124; therefore students may only receive credit for one of these courses. (Prerequisite: C- or better in SWEN-123 or CSEC-123 or ISTE-123 or equivalent course.) Lab 6 (Fall, Spring, Summer).
 
   ISTE-124
   General Education – Elective: Software Development and Problem Solving II
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. This course is co-listed as SWEN-124, CSEC-124 and ISTE-124; therefore students may only receive credit for one of these courses. (Prerequisite: C- or better in SWEN-123 or CSEC-123 or ISTE-123 or equivalent course.) Lab 6 (Fall, Spring, Summer).
 
   SWEN-124
   General Education – Elective: Software Development and Problem Solving II
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. This course is co-listed as SWEN-124, CSEC-124 and ISTE-124; therefore students may only receive credit for one of these courses. (Prerequisite: C- or better in SWEN-123 or CSEC-123 or ISTE-123 or equivalent course.) Lab 6 (Fall, Spring, Summer).
 
 
General Education – Ethical Perspective
3
 
General Education – Artistic Perspective
3
 
General Education – First Year Writing (WI)
3
Second Year
CSEC-099
Cooperative Education Seminar
This course helps students prepare for co-operative education employment (“co-op”) by developing job search strategies and material. Students will explore current and emerging aspects of the Computing Security field with employers, alumni and current students who have already been on co-op. Students are introduced to RIT’s Office of Career Services and Cooperative Education and learn about professional and ethical responsibilities for their co-op and subsequent professional experiences. Students will work collaboratively to build résumés and to prepare for interviews. (Prerequisites: This class is restricted to students with at least 2nd year standing.) Lecture 1 (Fall, Spring).
0
CSEC-201
Programming for Information Security
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 and (CSCI-142 or CSCI-140 or CSCI-242) or equivalent courses.) Lecture 3 (Fall, Spring).
3
CSEC-202
Reverse Engineering Fundamentals
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.) Lec/Lab 3 (Fall, Spring).
3
CSEC-499
Cooperative Education in CSEC (summer)
Students will gain experience and a better understanding of the application of technologies discussed in classes by working in the field of computing security. Students will be evaluated by their employer. If a transfer student, they must have completed one term in residence at RIT and be carrying a full academic load. (Enrollment in this course requires permission from the department offering the course.) CO OP (Fall, Spring, Summer).
0
Choose one of the following:
3
   MATH-241
   General Education – Elective: 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 arithmetic, determinants, vector spaces, linear independence, basis, null space, row space, and column space of a matrix, eigenvalues, eigenvectors, change of basis, similarity and diagonalization. Various applications are studied throughout the course. (Prerequisites: MATH-190 or MATH-200 or MATH-219 or MATH-220 or MATH-221 or MATH-221H or equivalent course.) Lecture 3 (Fall, Spring).
 
   MATH-252
   General Education – Elective: Probability and Statistics II
This course covers basic statistical concepts, sampling theory, hypothesis testing, confidence intervals, point estimation, and simple linear regression. The statistical software package MINITAB will be used for data analysis and statistical applications. (Prerequisites: STAT-251 or MATH-251 or equivalent course.) Lecture 3 (Fall, Spring).
 
MATH-251
General Education – Elective: Probability and Statistics I
This course introduces 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 statistics to real-world problems. A statistical package such as Minitab or R is used for data analysis and statistical applications. (Prerequisites: MATH-173 or MATH-182 or MATH 182A or equivalent course.) Lecture 3 (Fall, Spring, Summer).
3
NSSA-221
Systems Administration I
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-241 and (NSSA-220 or CSCI-141) or equivalent courses.) Lab 2, Lecture 4 (Fall, Spring).
3
NSSA-245
Network Services
This course will investigate the protocols used to support network based services and the tasks involved in configuring and administering those services in virtualized Linux and Windows internet working environments. Topics include an overview of the TCP/IP protocol suite, in-depth discussions of the transport layer protocols, TCP and UDP, administration of network based services including the Dynamic Host Configuration Protocol (DHCP), Domain Name Service (DNS), Secure Shell (SSH), and Voice Over IP (VoIP). Students completing this course will have thorough theoretical knowledge of the Internet Protocol (IP), the Transport Control Protocol (TCP), and the User Datagram Protocol (UDP), as well as experience in administering, monitoring, securing and troubleshooting an internet work of computer systems running these protocols and services. (Prerequisites: NSSA-241 and (NSSA-220 or CSCI-141) and NSSA-221 or equivalent courses.) Lab 4, Lecture 4 (Fall, Spring).
3
 
General Education – Social Perspective
3
 
General Education – Global Perspective
3
 
General Education – Natural Science Inquiry Perspective†
4
 
General Education – Scientific Principles Perspective†
4
Third Year
CSCI-462
Introduction to Cryptography
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 4003-334 or SWEN-262 or CSEC-202) and (MATH-190 or 1016-366 or MATH-200) or equivalent courses.) Lecture 3 (Fall, Spring, Summer).
3
CSEC-380
Principles of Web Application Security
This course is designed to give students a foundation in the theories and practice relating to web application security. The course will introduce students to the concepts associated with deploying and securing a typical HTTP environment as well as defensive techniques they may employ. (Prerequisites: CSEC-101 or NSSA-221 and NSSA-245 or equivalent courses.) Lecture 3 (Spring).
3
CSEC-472
Authentication and Security Models
Access control and authentication systems are some of the most critical components of cybersecurity ecosystems. This course covers the theory, design, and implementation of systems used in identification, authentication, authorization, and accountability processes with a focus on trust at each layer. Students will examine formal models of access control systems and approaches to system accreditation, the application of cryptography to authentication systems, and the implementation of IAAA principles in modern operating systems. A special focus will be placed on preparing students to research and write about future topics in this area. (Prerequisites: CSEC-362 or CSCI-462 or equivalent course.) Lec/Lab 3 (Fall, Spring).
3
CSEC-499
Cooperative Education in CSEC (summer)
Students will gain experience and a better understanding of the application of technologies discussed in classes by working in the field of computing security. Students will be evaluated by their employer. If a transfer student, they must have completed one term in residence at RIT and be carrying a full academic load. (Enrollment in this course requires permission from the department offering the course.) CO OP (Fall, Spring, Summer).
0
ISTE-230
Introduction to Database and Data Modeling
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 NACA-161 or NMAD-180 or equivalent course.) Lec/Lab 3 (Fall, Spring).
3
PUBL-363
General Education – Elective: Cyber Security Policy and Law
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. Lecture 3 (Fall, Spring).
3
 
General Education – Immersion 1 (WI-PR)
3
 
CSEC Electives
6
 
Open Electives
6
Fourth Year
CSEC-490
Capstone in Computing Security (WI-PR)
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. (This course is restricted to INFOSEC-BS students with 4th year standing.) Lecture 3 (Fall, Spring).
3
Choose one of the following:
3
   PHIL-102
   General Education – Elective: Introduction to Moral Issues
This course examines ethical questions that arise in the course of day-to-day individual and social life. Some consideration will be given to ethical theory and its application to such questions, but emphasis will be on basic moral questions and practical issues. Examples of typical issues to be examined are: What are the grounds for moral obligations like keeping promises or obeying the law? How do we reason about what to do? Examples of typical moral issues that may be introduced are capital punishment, euthanasia, abortion, corporate responsibility, the treatment of animals, and so forth. Lecture (Fall, Spring).
 
   PHIL-202
   General Education – Elective: Foundations of Moral Philosophy
This course is a survey of foundational, and normative, approaches to moral philosophy and their motivating moral questions. Topics will include virtue ethics, deontology, consequentialism, and other approaches. Some of the questions to be examined are: How is human nature related to morality? What are the grounds for moral obligations? Is there an ultimate moral principle? How do we reason about what to do? Can reason determine how we ought to live? What are moral judgments? Are there universal goods? What constitutes a morally worthwhile life? Can morality itself be challenged? Lecture (Fall).
 
   PHIL-306
   General Education – Elective: Professional Ethics
This course critically examines ethical issues that arise in professional life. The course will examine not only the general relationship between ethics and professional life but the particular consequences of ethical considerations within the student's own profession and the professions of others with whom the student must live and work. Lecture (Fall).
 
 
CSEC Electives
12
 
General Education – Immersion 2, 3
6
 
Open Electives
6
Total Semester Credit Hours
126

Please see General Education Curriculum (GE) for more information.

(WI) Refers to a writing intensive course within the major.

Please see Wellness Education Requirement for more information. Students completing bachelor's degrees are required to complete two different Wellness courses.

† Students must complete one of the following lab science sequences: (a) University Physics I, II (PHYS-211, 212); (b) General & Analytical Chemistry I, II and Labs (CHMG-141, 142, 145, 146); or (c) General Biology I, II, and Labs (BIOL-101, 102, 103, 104). Students are free to choose from approved science electives that either extend or complement their lab science selection.

Accelerated dual degree options

Accelerated dual degree options are for undergraduate students with outstanding academic records. Upon acceptance, well-qualified undergraduate students can begin graduate study before completing their BS degree, shortening the time it takes to earn both degrees. Students should consult an academic adviser for more information.

Computing Security, BS/MS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
MATH-181
General Education – Mathematical Perspective A: Project-Based Calculus I
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 physical problems. The course covers 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 70 or department permission to enroll in this class.) Lecture 6 (Fall, Spring, Summer).
4
MATH-182
General Education – Mathematical Perspective B: Project-Based Calculus II
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 physical 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).) Lecture 6 (Fall, Spring, Summer).
4
MATH-190
General Education – Elective: Discrete Mathematics for Computing
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 increase students’ mathematical sophistication and their ability to handle abstract problems. (Co-requisites: MATH-182 or MATH-182A or MATH-172 or equivalent courses.) Lecture 3 (Fall, Spring).
3
NSSA-241
Introduction to Routing and Switching
This course provides an introduction to wired network infrastructures, topologies, technologies, and the protocols required for effective end-to-end communication. Basic security concepts for TCP/IP based technologies are introduced. Networking layers 1, 2, and 3 are examined in-depth using the International Standards Organization’s Open Systems Interconnection and TCP/IP models as reference. Course topics focus on the TCP/IP protocol suite, the Ethernet LAN protocol, switching technology, and routed and routing protocols common in TCP/IP networks. The lab assignments mirror the lecture content , providing an experiential learning component for each topic covered. (Prerequisites: NSSA-102 or CSEC-101 or NACT-151 or CSCI-250 or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
3
YOPS-10
RIT 365: RIT Connections
RIT 365 students participate in experiential learning opportunities designed to launch them into their career at RIT, support them in making multiple and varied connections across the university, and immerse them in processes of competency development. Students will plan for and reflect on their first-year experiences, receive feedback, and develop a personal plan for future action in order to develop foundational self-awareness and recognize broad-based professional competencies. Lecture 1 (Fall, Spring).
0
Choose one of the following:
3
   CSEC-101
   Fundamentals of Computing Security
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. Lecture 3 (Fall, Spring).
 
   CSEC-140
   Introduction to Cybersecurity
This course will introduce many fundamental cybersecurity concepts. The course will teach students to think about information systems using an adversarial mindset, evaluate risk to information systems, and introduce controls that can be implemented to reduce risk. Topics will include authentication systems, data security and encryption, risk management and security regulatory frameworks, networking and system security, application security, organizational and human security considerations, and societal implications of cybersecurity issues. These topics will be discussed at an introductory level with a focus on applied learning through hands-on virtual lab exercises. Lecture 3 (Fall, Spring).
 
Choose one of the following:
4
   CSCI-141
   General Education – Elective: Computer Science I
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. Lec/Lab 6 (Fall, Spring).
 
   CSEC-123
   General Education – Elective: Software Development and Problem Solving I
A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. This course is co-listed as SWEN-123, CSEC-123 and ISTE-123; therefore students may only receive credit for one of these courses. Lab 6 (Fall, Spring).
 
   ISTE-123
   General Education – Elective: Software Development and Problem Solving I
A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. This course is co-listed as SWEN-123, CSEC-123 and ISTE-123; therefore students may only receive credit for one of these courses. Lab 6 (Fall, Spring).
 
   SWEN-123
   General Education – Elective: Software Development and Problem Solving I
A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. This course is co-listed as SWEN-123, CSEC-123 and ISTE-123; therefore students may only receive credit for one of these courses. Lab 6 (Fall, Spring).
 
Choose one of the following:
4
   CSCI-142
   General Education – Elective: Computer Science II
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.) Lec/Lab 6 (Fall, Spring, Summer).
 
   CSEC-124
   General Education – Elective: Software Development and Problem Solving II
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. This course is co-listed as SWEN-124, CSEC-124 and ISTE-124; therefore students may only receive credit for one of these courses. (Prerequisite: C- or better in SWEN-123 or CSEC-123 or ISTE-123 or equivalent course.) Lab 6 (Fall, Spring, Summer).
 
   ISTE-124
   General Education – Elective: Software Development and Problem Solving II
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. This course is co-listed as SWEN-124, CSEC-124 and ISTE-124; therefore students may only receive credit for one of these courses. (Prerequisite: C- or better in SWEN-123 or CSEC-123 or ISTE-123 or equivalent course.) Lab 6 (Fall, Spring, Summer).
 
   SWEN-124
   General Education – Elective: Software Development and Problem Solving II
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. This course is co-listed as SWEN-124, CSEC-124 and ISTE-124; therefore students may only receive credit for one of these courses. (Prerequisite: C- or better in SWEN-123 or CSEC-123 or ISTE-123 or equivalent course.) Lab 6 (Fall, Spring, Summer).
 
 
General Education – Artistic Perspective
3
 
General Education – Ethical Perspective
3
 
General Education – First Year Writing (WI)
3
Second Year
CSEC-99
Cooperative Education Seminar
This course helps students prepare for co-operative education employment (“co-op”) by developing job search strategies and material. Students will explore current and emerging aspects of the Computing Security field with employers, alumni and current students who have already been on co-op. Students are introduced to RIT’s Office of Career Services and Cooperative Education and learn about professional and ethical responsibilities for their co-op and subsequent professional experiences. Students will work collaboratively to build résumés and to prepare for interviews. (Prerequisites: This class is restricted to students with at least 2nd year standing.) Lecture 1 (Fall, Spring).
0
CSEC-201
Programming for Information Security
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 and (CSCI-142 or CSCI-140 or CSCI-242) or equivalent courses.) Lecture 3 (Fall, Spring).
3
CSEC-202
Reverse Engineering Fundamentals
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.) Lec/Lab 3 (Fall, Spring).
3
CSEC-499
Cooperative Education in CSEC (summer)
Students will gain experience and a better understanding of the application of technologies discussed in classes by working in the field of computing security. Students will be evaluated by their employer. If a transfer student, they must have completed one term in residence at RIT and be carrying a full academic load. (Enrollment in this course requires permission from the department offering the course.) CO OP (Fall, Spring, Summer).
0
Choose one of the following:
3
   MATH-241
   General Education – Elective: 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 arithmetic, determinants, vector spaces, linear independence, basis, null space, row space, and column space of a matrix, eigenvalues, eigenvectors, change of basis, similarity and diagonalization. Various applications are studied throughout the course. (Prerequisites: MATH-190 or MATH-200 or MATH-219 or MATH-220 or MATH-221 or MATH-221H or equivalent course.) Lecture 3 (Fall, Spring).
 
   MATH-252
   General Education – Elective: Probability and Statistics II
This course covers basic statistical concepts, sampling theory, hypothesis testing, confidence intervals, point estimation, and simple linear regression. The statistical software package MINITAB will be used for data analysis and statistical applications. (Prerequisites: STAT-251 or MATH-251 or equivalent course.) Lecture 3 (Fall, Spring).
 
MATH-251
General Education – Elective: Probability and Statistics I
This course introduces 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 statistics to real-world problems. A statistical package such as Minitab or R is used for data analysis and statistical applications. (Prerequisites: MATH-173 or MATH-182 or MATH 182A or equivalent course.) Lecture 3 (Fall, Spring, Summer).
3
NSSA-221
Systems Administration I
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-241 and (NSSA-220 or CSCI-141) or equivalent courses.) Lab 2, Lecture 4 (Fall, Spring).
3
NSSA-245
Network Services
This course will investigate the protocols used to support network based services and the tasks involved in configuring and administering those services in virtualized Linux and Windows internet working environments. Topics include an overview of the TCP/IP protocol suite, in-depth discussions of the transport layer protocols, TCP and UDP, administration of network based services including the Dynamic Host Configuration Protocol (DHCP), Domain Name Service (DNS), Secure Shell (SSH), and Voice Over IP (VoIP). Students completing this course will have thorough theoretical knowledge of the Internet Protocol (IP), the Transport Control Protocol (TCP), and the User Datagram Protocol (UDP), as well as experience in administering, monitoring, securing and troubleshooting an internet work of computer systems running these protocols and services. (Prerequisites: NSSA-241 and (NSSA-220 or CSCI-141) and NSSA-221 or equivalent courses.) Lab 4, Lecture 4 (Fall, Spring).
3
 
General Education – Global Perspective
3
 
General Education – Social Perspective
3
 
General Education – Natural Science Inquiry Perspective: Lab Science I†
4
 
General Education – Scientific Principles Perspective: Lab Science II†
4
Third Year
CSEC-380
Principles of Web Application Security
This course is designed to give students a foundation in the theories and practice relating to web application security. The course will introduce students to the concepts associated with deploying and securing a typical HTTP environment as well as defensive techniques they may employ. (Prerequisites: CSEC-101 or NSSA-221 and NSSA-245 or equivalent courses.) Lecture 3 (Spring).
3
CSEC-472
Authentication and Security Models
Access control and authentication systems are some of the most critical components of cybersecurity ecosystems. This course covers the theory, design, and implementation of systems used in identification, authentication, authorization, and accountability processes with a focus on trust at each layer. Students will examine formal models of access control systems and approaches to system accreditation, the application of cryptography to authentication systems, and the implementation of IAAA principles in modern operating systems. A special focus will be placed on preparing students to research and write about future topics in this area. (Prerequisites: CSEC-362 or CSCI-462 or equivalent course.) Lec/Lab 3 (Fall, Spring).
3
CSEC-499
Cooperative Education in CSEC (summer)
Students will gain experience and a better understanding of the application of technologies discussed in classes by working in the field of computing security. Students will be evaluated by their employer. If a transfer student, they must have completed one term in residence at RIT and be carrying a full academic load. (Enrollment in this course requires permission from the department offering the course.) CO OP (Fall, Spring, Summer).
0
CSCI-462
Introduction to Cryptography
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 4003-334 or SWEN-262 or CSEC-202) and (MATH-190 or 1016-366 or MATH-200) or equivalent courses.) Lecture 3 (Fall, Spring, Summer).
3
ISTE-230
Introduction to Database and Data Modeling
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 NACA-161 or NMAD-180 or equivalent course.) Lec/Lab 3 (Fall, Spring).
3
PUBL-363
General Education – Elective: Cyber Security Policy and Law
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. Lecture 3 (Fall, Spring).
3
 
CSEC Undergraduate Elective
3
 
CSEC Graduate Elective
3
 
Open Electives
6
 
General Education – Immersion 1
3
Fourth Year
CSEC-490
Capstone in Computing Security (WI-PR)
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. (This course is restricted to INFOSEC-BS students with 4th year standing.) Lecture 3 (Fall, Spring).
3
 
CSEC Undergraduate Electives
6
 
CSEC Graduate Elective
3
 
CSEC Research Elective
3
 
General Education – Immersion 2, 3
6
 
Open Electives
6
 
General Education – Elective‡
3
Fifth Year
CSEC-742
Computer System Security
The importance of effective security policies and procedures coupled with experience and practice is emphasized and reinforced through research and practical assignments. Organization and management of security discipline and response to threats is studied. Case studies of effective and failed security planning and implementation will be examined and analyzed. The issues influencing proper and appropriate planning for security and response to attacks will be studied. To be successful in this course students should be knowledgeable in networking, systems, and security technologies. (Prerequisites: This course is restricted to BS/MS students in Computing Security and students in the COMPSEC-MS program.) Lab 2, Lecture 3 (Fall).
3
CSEC-790
MS Thesis
This course is a capstone course in the MS in computing security program. It offers students the opportunity to investigate a selected topic and make an original contribution which extends knowledge within the computing security domain. As part of their original work students will write and submit for publication an article to a peer reviewed journal or conference. Students must submit an acceptable proposal to a thesis committee (chair, reader, and observer) before they may be registered by the department for the MS Thesis. Students must defend their work in an open thesis defense and complete a written report of their work before a pass/fail grade is awarded. (Enrollment in this course requires permission from the department offering the course.) Thesis (Fall, Spring, Summer).
6
 
Computing Security Research Elective
3
 
Computing Security Graduate Electives
9
Total Semester Credit Hours
147

Please see General Education Curriculum (GE) for more information.

(WI) Refers to a writing intensive course within the major.

* Please see Wellness Education Requirement for more information. Students completing bachelor's degrees are required to complete two different Wellness courses.

† Students must complete one of the following lab science sequences: University Physics I and University Physics II (PHYS-211/212), General & Analytical Chemistry I, General & Analytical Chemistry I Lab, General & Analytical Chemistry II, and General & Analytical Chemistry II Lab (CHMG-141/142/145/146), or General Biology I, General Biology I Lab, General Biology II, and General Biology II Lab (BIOL-101/102/103/104).

‡ Choose one of the following philosophy courses: Introduction to Moral Issues (PHIL-102), Foundations of Moral Philosophy (PHIL-202), or Professional Ethics (PHIL-306).

Computing Security, BS degree/Science, Technology and Public Policy, MS degree, typical course sequence

Course Sem. Cr. Hrs.
First Year
Choose one of the following:
3
   CSEC-101
   Fundamentals of Computing Security
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. Lecture 3 (Fall, Spring).
 
   CSEC-140
   Introduction to Cybersecurity
This course will introduce many fundamental cybersecurity concepts. The course will teach students to think about information systems using an adversarial mindset, evaluate risk to information systems, and introduce controls that can be implemented to reduce risk. Topics will include authentication systems, data security and encryption, risk management and security regulatory frameworks, networking and system security, application security, organizational and human security considerations, and societal implications of cybersecurity issues. These topics will be discussed at an introductory level with a focus on applied learning through hands-on virtual lab exercises. Lecture 3 (Fall, Spring).
 
Choose one of the following:
4
   CSCI-141
   Computer Science I
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. Lec/Lab 6 (Fall, Spring).
 
   CSEC-123
   Software Development and Problem Solving I
A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. This course is co-listed as SWEN-123, CSEC-123 and ISTE-123; therefore students may only receive credit for one of these courses. Lab 6 (Fall, Spring).
 
   ISTE-123
   Software Development and Problem Solving I
A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. This course is co-listed as SWEN-123, CSEC-123 and ISTE-123; therefore students may only receive credit for one of these courses. Lab 6 (Fall, Spring).
 
   SWEN-123
   Software Development and Problem Solving I
A first course introducing students to the fundamentals of computational problem solving. Students will learn a systematic approach to problem solving, including how to frame a problem in computational terms, how to decompose larger problems into smaller components, how to implement innovative software solutions using a contemporary programming language, how to critically debug their solutions, and how to assess the adequacy of the software solution. Additional topics include an introduction to object-oriented programming and data structures such as arrays and stacks. Students will complete both in-class and out-of-class assignments. This course is co-listed as SWEN-123, CSEC-123 and ISTE-123; therefore students may only receive credit for one of these courses. Lab 6 (Fall, Spring).
 
Choose one of the following:
4
   CSCI-142
   Computer Science II
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.) Lec/Lab 6 (Fall, Spring, Summer).
 
   CSEC-124
   Software Development and Problem Solving II
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. This course is co-listed as SWEN-124, CSEC-124 and ISTE-124; therefore students may only receive credit for one of these courses. (Prerequisite: C- or better in SWEN-123 or CSEC-123 or ISTE-123 or equivalent course.) Lab 6 (Fall, Spring, Summer).
 
   ISTE-124
   Software Development and Problem Solving II
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. This course is co-listed as SWEN-124, CSEC-124 and ISTE-124; therefore students may only receive credit for one of these courses. (Prerequisite: C- or better in SWEN-123 or CSEC-123 or ISTE-123 or equivalent course.) Lab 6 (Fall, Spring, Summer).
 
   SWEN-124
   Software Development and Problem Solving II
A second course that delves further into computational problem solving, now with a focus on an object-oriented perspective. There is a continued emphasis on basic software design, testing & verification, and incremental development. Key topics include theoretical abstractions such as classes, objects, encapsulation, inheritance, interfaces, polymorphism, software design comprising multiple classes with UML, data structures (e.g. lists, trees, sets, maps, and graphs), exception/error handling, I/O including files and networking, concurrency, and graphical user interfaces. Additional topics include basic software design principles (coupling, cohesion, information expert, open-closed principle, etc.), test driven development, design patterns, data integrity, and data security. This course is co-listed as SWEN-124, CSEC-124 and ISTE-124; therefore students may only receive credit for one of these courses. (Prerequisite: C- or better in SWEN-123 or CSEC-123 or ISTE-123 or equivalent course.) Lab 6 (Fall, Spring, Summer).
 
MATH-181
General Education – Mathematical Perspective A: Project-Based Calculus I
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 physical problems. The course covers 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 70 or department permission to enroll in this class.) Lecture 6 (Fall, Spring, Summer).
4
MATH-182
General Education – Mathematical Perspective B: Project-Based Calculus II
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 physical 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).) Lecture 6 (Fall, Spring, Summer).
4
MATH-190
Discrete Mathematics for Computing
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 increase students’ mathematical sophistication and their ability to handle abstract problems. (Co-requisites: MATH-182 or MATH-182A or MATH-172 or equivalent courses.) Lecture 3 (Fall, Spring).
3
NSSA-241
Introduction to Routing and Switching
This course provides an introduction to wired network infrastructures, topologies, technologies, and the protocols required for effective end-to-end communication. Basic security concepts for TCP/IP based technologies are introduced. Networking layers 1, 2, and 3 are examined in-depth using the International Standards Organization’s Open Systems Interconnection and TCP/IP models as reference. Course topics focus on the TCP/IP protocol suite, the Ethernet LAN protocol, switching technology, and routed and routing protocols common in TCP/IP networks. The lab assignments mirror the lecture content , providing an experiential learning component for each topic covered. (Prerequisites: NSSA-102 or CSEC-101 or NACT-151 or CSCI-250 or equivalent courses.) Lab 2, Lecture 3 (Fall, Spring).
3
YOPS-10
RIT 365: RIT Connections
RIT 365 students participate in experiential learning opportunities designed to launch them into their career at RIT, support them in making multiple and varied connections across the university, and immerse them in processes of competency development. Students will plan for and reflect on their first-year experiences, receive feedback, and develop a personal plan for future action in order to develop foundational self-awareness and recognize broad-based professional competencies. Lecture 1 (Fall, Spring).
0
 
General Education – Ethical Perspective
3
 
General Education – Artistic Perspective
3
 
General Education – First Year Writing (WI)
3
Second Year
CSEC-099
Cooperative Education Seminar
This course helps students prepare for co-operative education employment (“co-op”) by developing job search strategies and material. Students will explore current and emerging aspects of the Computing Security field with employers, alumni and current students who have already been on co-op. Students are introduced to RIT’s Office of Career Services and Cooperative Education and learn about professional and ethical responsibilities for their co-op and subsequent professional experiences. Students will work collaboratively to build résumés and to prepare for interviews. (Prerequisites: This class is restricted to students with at least 2nd year standing.) Lecture 1 (Fall, Spring).
0
CSEC-201
Programming for Information Security
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 and (CSCI-142 or CSCI-140 or CSCI-242) or equivalent courses.) Lecture 3 (Fall, Spring).
3
CSEC-202
Reverse Engineering Fundamentals
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.) Lec/Lab 3 (Fall, Spring).
3
CSEC-499
Cooperative Education in CSEC (summer)
Students will gain experience and a better understanding of the application of technologies discussed in classes by working in the field of computing security. Students will be evaluated by their employer. If a transfer student, they must have completed one term in residence at RIT and be carrying a full academic load. (Enrollment in this course requires permission from the department offering the course.) CO OP (Fall, Spring, Summer).
0
MATH-251
Probability and Statistics I
This course introduces 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 statistics to real-world problems. A statistical package such as Minitab or R is used for data analysis and statistical applications. (Prerequisites: MATH-173 or MATH-182 or MATH 182A or equivalent course.) Lecture 3 (Fall, Spring, Summer).
3
Choose one of the following:
3
   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 arithmetic, determinants, vector spaces, linear independence, basis, null space, row space, and column space of a matrix, eigenvalues, eigenvectors, change of basis, similarity and diagonalization. Various applications are studied throughout the course. (Prerequisites: MATH-190 or MATH-200 or MATH-219 or MATH-220 or MATH-221 or MATH-221H or equivalent course.) Lecture 3 (Fall, Spring).
 
   MATH-252
   Probability and Statistics II
This course covers basic statistical concepts, sampling theory, hypothesis testing, confidence intervals, point estimation, and simple linear regression. The statistical software package MINITAB will be used for data analysis and statistical applications. (Prerequisites: STAT-251 or MATH-251 or equivalent course.) Lecture 3 (Fall, Spring).
 
NSSA-221
Systems Administration I
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-241 and (NSSA-220 or CSCI-141) or equivalent courses.) Lab 2, Lecture 4 (Fall, Spring).
3
NSSA-245
Network Services
This course will investigate the protocols used to support network based services and the tasks involved in configuring and administering those services in virtualized Linux and Windows internet working environments. Topics include an overview of the TCP/IP protocol suite, in-depth discussions of the transport layer protocols, TCP and UDP, administration of network based services including the Dynamic Host Configuration Protocol (DHCP), Domain Name Service (DNS), Secure Shell (SSH), and Voice Over IP (VoIP). Students completing this course will have thorough theoretical knowledge of the Internet Protocol (IP), the Transport Control Protocol (TCP), and the User Datagram Protocol (UDP), as well as experience in administering, monitoring, securing and troubleshooting an internet work of computer systems running these protocols and services. (Prerequisites: NSSA-241 and (NSSA-220 or CSCI-141) and NSSA-221 or equivalent courses.) Lab 4, Lecture 4 (Fall, Spring).
3
 
General Education – Global Perspective
3
 
General Education – Social Perspective
3
 
General Education – Natural Science Inquiry Perspective‡
4
 
General Education – Scientific Principles Perspective‡
4
Third Year
CSCI-462
Introduction to Cryptography
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 4003-334 or SWEN-262 or CSEC-202) and (MATH-190 or 1016-366 or MATH-200) or equivalent courses.) Lecture 3 (Fall, Spring, Summer).
3
CSEC-380
Principles of Web Application Security
This course is designed to give students a foundation in the theories and practice relating to web application security. The course will introduce students to the concepts associated with deploying and securing a typical HTTP environment as well as defensive techniques they may employ. (Prerequisites: CSEC-101 or NSSA-221 and NSSA-245 or equivalent courses.) Lecture 3 (Spring).
3
CSEC-472
Authentication and Security Models
Access control and authentication systems are some of the most critical components of cybersecurity ecosystems. This course covers the theory, design, and implementation of systems used in identification, authentication, authorization, and accountability processes with a focus on trust at each layer. Students will examine formal models of access control systems and approaches to system accreditation, the application of cryptography to authentication systems, and the implementation of IAAA principles in modern operating systems. A special focus will be placed on preparing students to research and write about future topics in this area. (Prerequisites: CSEC-362 or CSCI-462 or equivalent course.) Lec/Lab 3 (Fall, Spring).
3
CSEC-499
Cooperative Education in CSEC (summer)
Students will gain experience and a better understanding of the application of technologies discussed in classes by working in the field of computing security. Students will be evaluated by their employer. If a transfer student, they must have completed one term in residence at RIT and be carrying a full academic load. (Enrollment in this course requires permission from the department offering the course.) CO OP (Fall, Spring, Summer).
0
ISTE-230
Introduction to Database and Data Modeling
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 NACA-161 or NMAD-180 or equivalent course.) Lec/Lab 3 (Fall, Spring).
3
PUBL-363
Cyber Security Policy and Law
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. Lecture 3 (Fall, Spring).
3
 
CSEC Electives
6
 
Open Electives
6
 
General Education – Immersion 1
3
Fourth Year
CSEC-490
Capstone in Computing Security
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. (This course is restricted to INFOSEC-BS students with 4th year standing.) Lecture 3 (Fall, Spring).
3
PUBL-701
Graduate Policy Analysis
This course provides graduate students with necessary tools to help them become effective policy analysts. The course places particular emphasis on understanding the policy process, the different approaches to policy analysis, and the application of quantitative and qualitative methods for evaluating public policies. Students will apply these tools to contemporary public policy decision making at the local, state, federal, and international levels. Lecture (Fall).
3
PUBL-702
Graduate Decision Analysis
This course provides students with an introduction to decision science and analysis. The course focuses on several important tools for making good decisions, including decision trees, including forecasting, risk analysis, and multi-attribute decision making. Students will apply these tools to contemporary public policy decision making at the local, state, federal, and international levels. Lecture (Spring).
3
Choose one of the following:
3
   PHIL-102
   Introduction to Moral Issues
This course examines ethical questions that arise in the course of day-to-day individual and social life. Some consideration will be given to ethical theory and its application to such questions, but emphasis will be on basic moral questions and practical issues. Examples of typical issues to be examined are: What are the grounds for moral obligations like keeping promises or obeying the law? How do we reason about what to do? Examples of typical moral issues that may be introduced are capital punishment, euthanasia, abortion, corporate responsibility, the treatment of animals, and so forth. Lecture (Fall, Spring).
 
   PHIL-202
   Foundations of Moral Philosophy
This course is a survey of foundational, and normative, approaches to moral philosophy and their motivating moral questions. Topics will include virtue ethics, deontology, consequentialism, and other approaches. Some of the questions to be examined are: How is human nature related to morality? What are the grounds for moral obligations? Is there an ultimate moral principle? How do we reason about what to do? Can reason determine how we ought to live? What are moral judgments? Are there universal goods? What constitutes a morally worthwhile life? Can morality itself be challenged? Lecture (Fall).
 
   PHIL-306
   Professional Ethics
This course critically examines ethical issues that arise in professional life. The course will examine not only the general relationship between ethics and professional life but the particular consequences of ethical considerations within the student's own profession and the professions of others with whom the student must live and work. Lecture (Fall).
 
 
CSEC Electives
12
 
General Education – Immersion 2, 3
6
Fifth Year
PUBL-700
Readings in Public Policy
An in-depth inquiry into key contemporary public policy issues. Students will be exposed to a wide range of important public policy texts, and will learn how to write a literature review in a policy area of their choosing. (This class is restricted to degree-seeking graduate students or those with permission from instructor.) Seminar (Fall).
3
PUBL-703
Evaluation and Research Design
The focus of this course is on evaluation of program outcomes and research design. Students will explore the questions and methodologies associated with meeting programmatic outcomes, secondary or unanticipated effects, and an analysis of alternative means for achieving program outcomes. Critique of evaluation research methodologies will also be considered. Seminar (Spring).
3
PUBL-790
Public Policy Thesis
The master's thesis in science, technology, and public policy requires the student to select a thesis topic, advisor and committee; prepare a written thesis proposal for approval by the faculty; present and defend the thesis before a thesis committee; and submit a bound copy of the thesis to the library and to the program chair. (Enrollment in this course requires permission from the department offering the course.) Thesis 3 (Fall, Spring, Summer).
6
STSO-710
Graduate Science and Technology Policy Seminar
Examines how federal and international policies are developed to influence research and development, innovation, and the transfer of technology in the United States and other selected nations. Students in the course will apply basic policy skills, concepts, and methods to contemporary science and technology policy topics. (This class is restricted to degree-seeking graduate students or those with permission from instructor.) Seminar (Fall).
3
 
Public Policy Graduate Electives
9
Total Semester Credit Hours
150

Please see General Education Curriculum for more information.

(WI) Refers to a writing intensive course within the major.

* Please see Wellness Education Requirement for more information. Students completing bachelor's degrees are required to complete two different Wellness courses.

† Choose one of the following philosophy courses: Introduction to Moral Issues (PHIL-102), Foundations of Moral Philosophy (PHIL-202), or Professional Ethics (PHIL-306).

‡ Students must complete one of the following lab science sequences: University Physics I and University Physics II (PHYS-211/212), General & Analytical Chemistry I, General & Analytical Chemistry I Lab, General & Analytical Chemistry II, and General & Analytical Chemistry II Lab (CHMG-141/142/145/146), or General Biology I, General Biology I Lab, General Biology II, and General Biology II Lab (BIOL-101/102/103/104).

Admission Requirements

Freshman Admission

For all bachelor’s degree programs, a strong performance in a college preparatory program is expected. Generally, this includes 4 years of English, 3-4 years of mathematics, 2-3 years of science, and 3 years of social studies and/or history.

Specific math and science requirements and other recommendations

  • 4 years of math including pre-calculus required
  • Requires chemistry or physics and strongly recommends both.
  • Computing electives are recommended

Transfer Admission

Transfer course recommendations without associate degree

Courses in computer science, calculus, liberal arts; calculus-based physics, chemistry, or biology

Appropriate associate degree programs for transfer

AS degree in computer science, engineering science, or liberal arts

Learn about admissions, cost, and financial aid 

Latest News

  • July 14, 2020

    brick building with wooden playground in foreground.

    Student team develops plans to help make campus child care center more energy efficient

    Eengineering technology and computing students at RIT found ways to reduce energy consumption at the university’s Margaret's House Child Care Center. Members of RIT’s student chapter of National Electrical Contracting Association (NECA) worked this spring with child care staff as part of the annual NECA Green Energy Challenge, an annual student design competition.

  • June 30, 2020

    rendering of Cyber Range, with tables, computers and large display screens.

    RIT offers Cybersecurity Bootcamp to help people get back to work and start new careers

    A new 15-week program at RIT is teaching people all the skills they need to start a new career in cybersecurity. Starting in July, learners can enroll in RIT’s Cybersecurity Bootcamp, an immersive hands-on training course that will prepare them for critical entry-level roles in the cybersecurity workforce. The program aims to help professionals from all backgrounds and abilities set themselves up to transition into an in-demand career.