B.S. in Computer Science

FIRST-YEAR AND NEW TRANSFER STUDENTS: From our first Meet Your Advisor Day session (Sep 14), please click here to view the academics-focused slides.  Also, click here to view the CS Clubs slides.  And click here to view the recorded video of that session.  Any questions, please contact the School of Science Advising Hub.

*** CONGRATULATIONS *** to all of our May 2021 graduates!  We invite you to click here to view our departmental graduation ceremony from May 21.  Also, please click here for a congratulatory message from our faculty and staff (a brief outtake is here, especially for S21 OpSys students).

PROSPECTIVE AND ACCEPTED STUDENTS!  If you are looking for more information, please click here.

Why computer science?  Earning a Rensselaer undergraduate degree in computer science prepares students to solve real-world problems and carry out fundamental research. Our students have distinguished themselves by founding companies while still in school, landing high-income and socially engaging jobs at a broad range of companies, and going on to prominent graduate schools. Given our strengths and successes, in 2018, the incoming freshman class was the largest ever in our 34-year history, with 283 new students, also the largest incoming freshman class for any major in the 194-year history of Rensselaer. As of 2018, we are the largest major on campus with over 1200 undergraduates. As the largest major (and most popular dual major), our flexible degree requirements allow students to focus on specific topics within computer science and also provide unique opportunities for open source software development and involvement in faculty-sponsored undergraduate research.

CURRENT STUDENTS: view information below and also click here for frequently asked questions.


Computer science is the study of the design, analysis, communication, implementation, and application of computational processes. At Rensselaer, an education in computer science prepares students to solve applied real-world problems and conduct research in computer science. The program provides students with a solid grounding in both theory and practice.

Program Outcomes

Students who successfully complete this program will be able to demonstrate:

  • An ability to develop a computational formulation of a problem, one or more data structures and algorithms to solve the problem, a program to implement a solution, and strategies for testing and verifying that the program is correct.
  • Knowledge of the mathematical and theoretical underpinnings of computer science.
  • An ability to adapt a solution to different computing platforms, paradigms, and/or programming languages.
  • An advanced depth of knowledge in one or more of the following areas: computer systems, computer theory, applications, software engineering, data analysis, and large-scale software architecture

Major Requirements - Curriculum Templates

Computer science majors are required to complete 128 credits, including required courses in science, mathematics, and the humanities, arts, and social sciences. The computer science core includes a sequence of named courses, as well as a capstone requirement that can be fulfilled by either a substantial research project or software development effort OR a sequence of courses taken in a specific concentration area.

Our curriculum provides a substantial amount of flexibility, with 28-32 free elective credits that students can use to pursue dual degrees and/or minors in other subject areas. Further, we strongly believe in learning by doing. Many of our students actively participate in research, develop software projects in the Rensselaer Center for Open Source (RCOS), and matriculate in the co-terminal program, thereby obtaining a Bachelors and Masters in Computer Science within five years.

Our curriculum templates are available at the URLs below based on the semester you started at RPI.  If you do not see your template, please contact David Goldschmidt.

Primarily for first-year students, click here for a document with information and suggestions as to which CSCI course to start with (i.e., CSCI 1100 or CSCI 1200).

Regarding the coursework-based capstone, click here for the latest lists of concentration area courses.

Also click here to go to the official Rensselaer catalog.

Major Requirements - Suggested Math Courses

For your Math Option courses, we recommend the courses below. Be sure to follow the requirements for your Math Option courses in your specific curriculum template above.

MATH 2010 - Multivariable Calculus and Matrix Algebra
prerequisite/strongly recommended for: algorithms, artificial intelligence, computer vision, databases, data mining, game development, graphics, machine learning, network science, robotics, and visualization

MATH 2400 - Introduction to Differential Equations
prerequisite/strongly recommended for: robotics

MATH 4030 - Computability and Logic
prerequisite/strongly recommended for: algorithms, artificial intelligence, databases, and programming languages

MATH 4100 - Linear Algebra
prerequisite/strongly recommended for: algorithms, artificial intelligence, computer vision, databases, data mining, graphics, machine learning, robotics, and visualization

CSCI 4260 / MATH 4150 - Graph Theory
prerequisite/strongly recommended for: algorithms, network science, programming languages, and visualization

MATH 4720 - Mathematics in Medicine and Biology
prerequisite/strongly recommended for: bioinformatics

MATP 4600 - Probability Theory and Applications
prerequisite/strongly recommended for: algorithms, artificial intelligence, data, databases, data mining, machine learning, and network science

MATP 4620 - Mathematical Statistics
prerequisite/strongly recommended for: network science

Major Requirements - CS Capstone Concentration Area Courses

If you decide to follow the coursework-based capstone, click here for the latest lists of concentration area courses. Note that this also shows all accepted CS Option courses.

Minor Requirements

A computer science minor requires a minimum of four CSCI courses, which must include CSCI 2300 Introduction to Algorithms and three additional 3- or 4-credit courses at the 2000 level or above, excluding CSCI 2200 Foundations of Computer Science. At least two of these three additional courses must be at the 4000 (or 6000) level. Overall, at least two courses must be taken at RPI. Given that RPI requires a minimum of 15 credits for a minor, if the above required four courses falls below this 15-credit requirement, any other CSCI credits may be used. Reading and independent study courses and courses required by name for the student's major(s) cannot be used for the minor. The Pass/No Credit option cannot be used for any of these courses.

To add a minor in computer science, first complete the Undergraduate Minor Approval Form. Next, see David Goldschmidt in AE 115 (office hours posted here) to obtain an authorizing signature. Next, contact your academic advisor for his or her authorizing signature. Finally, submit the form to the Registrar's Office in Academy Hall.

Arch (General Information)

The Arch is a unique approach to education that provides flexibility in the semester schedule, allowing students to pursue professional and personal development opportunities that prepare them to meet the multifaceted challenges of the 21st century. The Arch is a requirement of the Rensselaer curriculum.

Summer Here
During The Arch, students remain on campus for the summer after their sophomore year, taking junior-level classes, and receive focused attention from professors at this pivotal point in their academic progression.

The World Away
Then, students leave the Troy campus for a semester during the traditional junior year—either fall or spring—to pursue their passions in the form of co-ops, internships, civic engagement, research, or international experiences. Students who pursue these opportunities during their academic career are better prepared for future professional careers and graduate school.

For more information regarding the Arch, please visit: https://info.rpi.edu/the-arch

Arch for Computer Science Students

In computer science, the Arch program consists of a focused summer semester between sophomore and junior years, followed by the Arch away semester in either the fall or spring semester of the junior year. A number of useful URLs are provided below to help you navigate the Arch in computer science.

Our curriculum templates are available above, with the template for students participating in the Arch during Summer 2021 also available here (i.e., for students entering Fall 2019 or Spring 2020). Further, curriculum-related slides for Arch Discovery Day for Summer 2021 are available here, as well as a video of our Arch Discovery Day event and our Preparing for your Away Semester slides.

Key campus resources to reach out to are the School of Science Advising Hub (located at https://science.rpi.edu/hub), the Center for Career and Professional Development (CCPD, located in the second floor of the DCC), and your faculty advisor.

Dual Majors, Switching Majors, and Transfer Credits

Given the structure of our degree requirements (i.e., 28-32 free elective credits), it is quite possible for students to obtain a dual major within four years. Many of our students take advantage of this opportunity, causing our major to contain the largest number of dual majors across Rensselaer. Also within this section are instructions as to how to bring in transfer credit from other institutions.


Information for Dual Majors and for Switching to CSCI

A dual major requires students to meet the specific course and credit requirements of two separate degrees. For all dual majors, please be sure to verify your curriculum requirements with both of your majors; i.e., do not solely rely on dual templates. The computer science curriculum templates are available above. The 28-32 free elective credits within the Computer Science program enables students to complete dual majors with most departments with 128 credits; for various dual majors with Engineering, the total number of required credits increases to as much as 136. Students do not have to declare dual majors immediately and can add them even after their first year at Rensselaer.

Computer Science students interested in adding a second major in another department should contact the other department for information about the course requirements for the new major.

Note that for the in-major communication intensive (CI) course, students can choose to take this CI course either in CSCI or the other major. Students are still required to take a CI course in HASS.  In total, two CI courses must be taken.

Students From Other Majors (i.e., for both duals and to switch to CSCI)

We recommend students from other majors interested in Computer Science take CSCI 1100 Computer Science I and CSCI 1200 Data Structures in their freshman year.  You will not be admitted into the computer science major until you have demonstrated your ability to succeed in these computer science courses. More specifically, you must earn a B or higher in CSCI 1200 Data Structures. If you have taken CSCI 1200 at RPI and do not meet this criterion, you must take CSCI 2200 Foundations of Computer Science and have a GPA in all named required CSCI courses of 3.0 or higher.

Note that if you transfer in one or more CSCI courses, the transferred courses will not count in your GPA calculation. Further, you must have taken at least two named required CSCI courses at RPI and have a GPA in all named required CSCI courses of 3.0 or higher.

COVID-19 AMENDMENTS: Given that you can decide to designate any of your courses as P/NC in Spring 2020, we want to balance these unusual circumstances with sufficient mastery of our introductory courses before admitting you to the CSCI major.  Without such mastery, we have seen students not do well in future upper-level CSCI courses.

You will still need either a B or higher in CSCI 1200 or a minimum 3.0 GPA in all named required CSCI courses, but you have some additional flexibility.  If you decide to P/NC any of your Spring 2020 CSCI courses, including CSCI 1200, we will not use those courses in our decision.  Alternatively, you can grant us access to view your original grades (before the P/NC is applied) for some or all of your Spring 2020 courses, and we will use those grades in our determination.

Note that for the 3.0 GPA criterion, we must have at least three RPI grades to work with.

And as per usual, if you do not meet one of the two criteria, we invite you to describe your specific situation by petitioning to be admitted to the CSCI major.  Part of our response may be a path to follow to ensure you are ready for the next set of CSCI courses.

We appreciate the extenuating circumstances we are all facing.  Please contact the School of Science Advising Hub (sciencehub@rpi.edu) for further help with this.

Popular Dual Majors

  • Mathematics (MATH)
  • Biology (BIOL)
  • Computer Systems Engineering (CSYS)
  • Electronic Media Arts and Communication (EMAC)
  • Cognitive Science (COGS)
  • Physics (PHYS)
  • Philosophy (PHIL)
  • Games and Simulation Arts and Sciences (GSAS)
  • Business and Management (BMGT)
  • Information Technology and Web Science (ITWS)

Transfer Credits

Courses that have already been approved for transfer credit are listed in the Undergraduate Transfer Course Guide. To request transfer credit for courses not in this guide, please refer to the Academic Credit section of the Rensselaer Catalog, as well as the Registrar pages for transfer credits for new incoming students or transfer credits for currently enrolled students. You will need the appropriate transfer credit form available from these Registrar pages. Note that this form requires departmental approval if the course(s) do not appear in the transfer guide or are online courses; in such cases, please obtain a course description, course syllabus, course schedule, sample assignments, etc. ahead of time. For Computer Science courses, please contact David Goldschmidt (and he will response within two business days). Also note that the Study Abroad Office can help you with study abroad credits.

Important to note that a CSCI major may, at most, transfer in 8 credits of CS courses (not including AP credit for CS I); CSCI credits beyond these 8 credits can count only as free electives. Transfer students and students doing study abroad can seek approval for more credits via UCC.

Academic Opportunities

The open source center allows students to work in teams to develop open-source platforms and applications that solve societal problems.

Student researchers play a critical role in the world-changing discovery, innovation, and breakthroughs taking place across campus.

Integrate your classroom studies with paid, productive, real-life work experience.

RPISEC, a student run organization, participates in a number of computer security competitions throughout the school year, typically placing among the top undergraduate US teams.

Celebrates, informs and supports women in computing

The only International Honors Society for the computing and information disciplines.

HackRPI is responsible for the planning, organization and running of the annual RPI hackathon. In past years, more than 500 hackers from the region participated in the hackathon and participated in competitions in many different software categories.