B.S. in Computer Science

PROSPECTIVE STUDENTSclick here for more information.

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, over the last six years, the incoming freshman class has consistently been the largest across all majors. In 2018, we became the largest major on campus and currently have over 1400 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.

Curriculum

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 is fulfilled by a sequence of courses taken in a specific focus area.  These focus areas have evolved into specific tracks for students starting at RPI in Fall 2023 and later semesters.

Our curriculum provides a substantial amount of flexibility, with 28-32 free elective credits that students often 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, we strongly recommend you start with CSCI 1100; and for transfer students with CSCI 1100 credit, we strongly recommend you start with CSCI 1200.

Regarding the coursework-based capstone (for students who started in the Spring 2023 or earlier semester), click here for the latest lists of focus area courses; for students who started in the Fall 2023 or later semester, click here for the latest list of breadth elective courses.

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 Focus Area and Breadth Elective Courses

For students who started in the Spring 2023 or earlier semester, click here for the latest lists of focus area courses; note that this also shows all accepted CS Option courses. And note that Degree Works might not correctly show all courses, especially "special topics" CSCI courses with 496x, 497x, 696x, and 697x prefixes.

For students who started in the Fall 2023 or later semester, click here for the latest list of breadth elective courses; note that all CSCI courses with 496x, 497x, 696x, and 697x prefixes can count as breadth elective courses (though Degree Works might not correctly show them as meeting your breadth elective course requirements for your track).

Finally, note that RCOS credits only serve as free elective credits or CSCI 1100 replacement credits.

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 218 (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. Further, curriculum-related slides for Arch Discovery Day for Summer 2024 are available here.

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. Specifically, you must earn a B or higher in CSCI 1200 Data Structures at RPI. 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.

If you do not meet one of the two criteria above, 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.  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. Also note that the Study Abroad Office can help you with study abroad credits.

Important to note that a CSCI major must take five of their eight named required CSCI courses at RPI; further, the total required CSCI credits earned at RPI must be 32.  Transfer students and students doing study abroad can seek approval for more credits via our department's Undergraduate Curriculum Committee (UCC) or as part of Student Orientation (SO).  Please see our transfer credit policy in the catalog for more details.

Academic Opportunities

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.

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.