Exploring majors in computer science in our computing exploration program allows you to experience the different fields of computer science before choosing a major.
With eight undergraduate majors in computer science, the computing exploration option is a great way for you to gain an overview of the computing field while you take the time to decide which major best meets your personal and professional aspirations.
Students may stay in the exploration option for up to two semesters (one academic year). Each student has an assigned academic advisor who provides guidance on the requirements of each major, course selection, minors, and career options. All courses taken in the exploration option are accepted by the seven computing majors; all credits earned are applicable to a student’s chosen major and maintain the student’s track toward graduation.
The computing exploration option offers students the opportunity to explore the field of computing before declaring a specific major. All students in this undeclared major take a one-credit course, Computing Exploration Seminar, which provides an overview of the seven computing majors. Students learn about the course of study in each program and career opportunities in each field. Through the seminar and courses, they are introduced to the faculty, students, and laboratory facilities in each program.
While in the computing exploration option, each student will take a two-course sequence in both programming and mathematics, appropriate for all degrees. An academic advisor will consult one-on-one to ensure that each student stays on track. Students may choose a major at the end of the fall or spring semester while in the exploration program – all course work taken while in the computing exploration option will be applied to the new program of study.
A one credit-hour course for the Computing Exploration students, including an overview of the computing disciplines and an introduction to seven computing and informatics academic programs: Computer Science, Computing and Information Technologies, Computing Security, Human-Centered Computing, New Media Interactive Development, Software Engineering, Web and Mobile Computing, as well as a few other computing programs outside the college. Curricula requirements of the seven programs and career opportunities in the computing fields are discussed. Potential employers discuss job opportunities. Introductions to the faculty, students, and laboratory facilities of the seven programs are provided. Cooperative education, study abroad, and innovation fellowship program opportunities available to the students are explored. Lecture 1.25. (Fall).
Foundations of Computing Security
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).
FYW: Future of Writing
This First Year Writing Intensive course is designed to develop first-year students’ proficiency in analytical writing, rhetorical reading, and critical thinking by focusing on particular uses of narrative. Students will read, understand, and interpret a variety of texts representing different cultural perspectives and/or academic disciplines. Increasingly, scholars, artists, public figures and other professionals recognize the value of using stories across genres to inform analytical practice. Students will gain informed practice in using narrative in different disciplines, and become aware of storytelling as one among a number of rhetorical strategies for inquiry. Students will be expected to give presentations as well as write papers both in response to the reading material and in services of their own independent arguments. Lecture 3 (Fall, Spring, Summer).
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. Lab 6 (Fall, Spring).
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. (Prerequisite: C- or better in SWEN-123 or CSEC-123 or GCIS-123 or equivalent course.) Lab 6 (Fall, Spring, Summer).
Web and Mobile
This course provides students with an introduction to internet and web technologies, and to development on Macintosh/UNIX computer platforms. Topics include HTML and CSS, CSS3 features, digital images, web page design and website publishing. Emphasis is placed on fundamentals, concepts and standards. Additional topics include the user experience, mobile design issues, and copyright/intellectual property considerations. Exercises and projects are required. Lec/Lab 3 (Fall, Spring).
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).
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).
Discrete Math 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).
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).
Choose one of the following:
General Education-Ethical Perspective
General Education-Artistic Perspective
General Education-Global Perspective
General Education-Social Perspective
Choose one of the following:
Personal Software Engineering
This is a project-based course to enhance individual, technical engineering knowledge and skills as preparation for upper-division team-based coursework. Topics include adapting to new languages, tools and technologies; developing and analyzing models as a prelude to implementation; software construction concepts (proper documentation, implementing to standards etc.); unit and integration testing; component-level estimation; and software engineering professionalism. (Pre-requisites: CSCI-105 or CSCI-141 or SWEN-123 or CSEC-123 or GCIS-123 (all with a C- or better) or equivalent course.
Co-requisites: CSCI-140 or CSCI-142 or CSCI-242 or SWEN-124 or CSEC-124 or GCIS-124 or equivalent course.) Lec/Lab 3 (Fall, Spring).
New Media Design Digital Survey I
This project-based course is an investigation of the computer as an illustrative, imaging, and graphical generation tool. It develops foundational design skills in raster and vector image creation, editing, compositing, layout and visual design for online production. Emphasis will be on the application of visual design organization methods and principles for electronic media. Students will create and edit images, graphics, layouts and typography to form effective design solutions for online delivery. (This course is restricted to students in the WMC-BS or HCC-BS or NMDE-BFA or NWMEDID-BS or DIGHSS-BS program.) Lab 3 (Fall, Spring).
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 CSEC-140 or NACT-151 or CSCI-250 or equivalent courses.) Lab 2 (Fall, Spring).
Total Semester Credit Hours
Please see General Education Framework for more information.
* Please see Wellness Education Requirements for more information. Students completing bachelor's degrees are required to complete two different Wellness courses.
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