Computer Science

New Curriculum Starting Fall 2026

The Computer Science curriculum prepares students for careers in all areas of the computer industry as well as for graduate studies in computer science and computer related fields. Students have also found a computer science major to be excellent preparation for careers in law, medicine, business administration, industrial engineering, biomedical engineering, and other technical and non-technical fields.

Computer science is a rapidly changing discipline. The lifetime of a particular computer system or software package can be very short. The computer science curriculum is designed to prepare students for multiple careers in a rapidly changing environment. The department’s courses emphasize fundamental concepts and techniques that will last longer than present technology.

Computer science majors complete a core of basic computer science courses that includes the study of algorithms, data structures, database concepts, computer architecture, programming languages, operating systems, and software engineering. Majors also complete important courses in closely related fields, e.g., discrete mathematics, digital logic design, and probability and statistics. The major requires students to study all aspects of the science of computing, including hardware, software, and theory.

Courses in database systems, compilers, computer graphics, fractals and chaotic dynamical systems, artificial intelligence, theory of computation, analysis of algorithms, computer networks, computer vision, web-based information systems, and cryptography are available as advanced electives. A three-term senior project provides valuable practical experience in the specification, design, implementation, and documentation of large software systems. Qualified students can undertake independent study in advanced topics in computer science, participate in a research project with a faculty member, or complete a senior thesis.

Programming assignments and large projects are part of most computer science courses. These assignments familiarize students with the wide variety of tasks performed by software professionals. Programming assignments include system specification, system feasibility studies, system design, system maintenance studies, and user interface design in addition to system implementation (i.e., coding), testing (verification and validation), and documentation. Projects include both individual and team activities and require appropriate written and oral presentations.

Computer science majors have diverse interests and career goals. Five free elective courses allow students to tailor their undergraduate education to their specific goals. Students planning to undertake graduate study in computer science usually take additional advanced courses in computer science, electrical engineering, and mathematics.

The student chapter of the Association for Computing Machinery provides seminars and other technical activities throughout the year and sponsors the school’s programming teams which compete in local, regional, and national contests. The national computer science honor society, Upsilon Pi Epsilon, has chartered its Indiana Alpha Chapter at Rose-Hulman.

Summary of Graduation Requirements for the Computer Science Major

To complete the major in computer science a student must complete the following:

  1. All required courses listed by number in the schedule of courses above:
    CSSE 120Introduction to Software Development4
    CSSE 132Introduction to Systems Programming4
    CSSE 220Object-Oriented Software Development4
    CSSE 230Data Structures and Algorithm Analysis4
    CSSE 232Computer Architecture I4
    CSSE 280Introduction to Web Programming4
    CSSE 304Programming Language Concepts4
    CSSE 332Operating Systems4
    CSSE 333Intro to Database Systems4
    CSSE 371Software Requirements Engineering4
    CSSE 374Software Design4
    CSSE 473Design and Analysis of Algorithms4
    or MA 473 Design & Analysis of Algorithms
    CSSE 474Theory of Computation4
    or MA 474 Theory of Computation
    Select one of the following options:12
    Option 1:
    Senior Research Project I
    Senior Research Project II
    Senior Research Project III
    Option 2:
    Senior Thesis I
    Senior Thesis II
    Senior Thesis III
    Option 3:
    Senior Capstone Project I
    Senior Capstone Project II
    Senior Capstone Project III
    MA 111Calculus I5
    MA 112Calculus II5
    MA 113Calculus III5
    MA 221Matrix Algebra & Differential Equations I4
    MA 276Introduction to Proofs4
    MA 374Combinatorics4
    MA 381Introduction to Probability with Applications to Statistics4
    ECE 233Introduction to Digital Systems4
    ECE 332Computer Architecture II4
    PH 111Physics I4
    PH 112Physics II4
    CHEM 111General Chemistry I3
    CHEM 111LGeneral Chemistry I Lab1
    HUM H190First-Year Writing Seminar4
    ENGL H290Technical & Professional Communication4
    RHIT 100Foundations for Rose-Hulman Success1
  2. Twelve credits of additional computer science courses numbered between 300 and 492 and designated as computer science electives. None of the credits may be from CSSE 372 Software Project Management, CSSE 373 Formal Methods in Specification and Design, CSSE 375 Software Construction and Evolution, CSSE 376 Software Quality Assurance, and CSSE 477 Software Architecture. The student’s academic advisor must approve the courses to satisfy this requirement. Use of computer science courses numbered 490 through 492 to fulfill this requirement must be approved by the department head.  Credits used to satisfy any requirements for a minor or secondary major pursued by a student cannot also be used to satisfy CS elective requirements for the student’s primary or secondary major in Computer Science. Credits used by a student pursuing a secondary major in CS that are intended to satisfy the CS elective requirement can only be used to satisfy technical or free elective requirements within the student’s primary major or not used towards any requirements within the primary major.  
  3. Four credits of science electives, which can be any CHEM, PH, BIO, or GEOL courses not already required for the computer science major.
  4. Four additional credits of technical electives, consisting of any courses in biology, chemistry, engineering (except software engineering and engineering management), geology, mathematics, biomathematics, or physics.
  5. Twenty-eight credits of additional courses offered by the Department of Humanities, Social Sciences, and the Arts. The distribution of these courses must meet the requirements of the Department of Humanities, Social Sciences, and the Arts.
  6. Twenty credits of free elective courses. These courses must have the approval of the student’s academic adviser. Free electives may be selected from any Rose-Hulman course.
  7. A total of 192 credits.

Below is a sample plan of study that illustrates one way to achieve the program requirements. Any given student's plan of study may differ based on a variety of factors (e.g., advanced credit, placement exams, adding a minor). Enrolled students will work with their academic advisor; utilize the degree audit/planner to create a specific plan of study.

Plan of Study Grid
Freshman
FallHours
CSSE 120 Introduction to Software Development 4
MA 111 Calculus I 5
PH 111 Physics I 4
PH 111L Physics I Lab 0
RHIT 100 Foundations for Rose-Hulman Success 1
HUM H190 First-Year Writing Seminar 4
 Hours18
Winter
CSSE 220 Object-Oriented Software Development 4
MA 112 Calculus II 5
PH 112 Physics II 4
PH 112L Physics II Lab 0
HSSA Elective 4
 Hours17
Spring
CSSE 132 Introduction to Systems Programming 4
MA 113 Calculus III 5
ECE 233 Introduction to Digital Systems 4
Science Elective 4
 Hours17
Sophomore
Fall
CSSE 232 Computer Architecture I 4
CSSE 280 Introduction to Web Programming 4
MA 221 Matrix Algebra & Differential Equations I 4
MA 276 Introduction to Proofs 4
 Hours16
Winter
CSSE 230 Data Structures and Algorithm Analysis 4
CSSE 332 Operating Systems 4
MA 374 Combinatorics 4
ENGL H290 Technical & Professional Communication 4
 Hours16
Spring
CSSE 333 Intro to Database Systems 4
ECE 332 Computer Architecture II 4
MA 381 Introduction to Probability with Applications to Statistics 4
HSSA Elective 4
 Hours16
Junior
Fall
CSSE 371 Software Requirements Engineering 4
CSSE 304 Programming Language Concepts 4
CHEM 111 General Chemistry I 3
CHEM 111L General Chemistry I Lab 1
HSSA Elective 4
 Hours16
Winter
CSSE 473 Design and Analysis of Algorithms 4
CSSE 374 Software Design 4
CS Elective 4
HSSA Elective 4
 Hours16
Spring
CSSE/MA 474 Theory of Computation 4
HSSA Elective 4
Free Elective 4
Free Elective 4
 Hours16
Senior
Fall
Select one of the following: 4
Senior Research Project I  
Senior Capstone Project I  
Senior Thesis I  
CS Elective 4
HSSA Elective 4
Free Elective 4
 Hours16
Winter
Select one of the following: 4
Senior Research Project II  
Senior Capstone Project II  
Senior Thesis II  
CS Elective 4
HSSA Elective 4
Technical Elective 4
 Hours16
Spring
Select one of the following: 4
Senior Research Project III  
Senior Capstone Project III  
Senior Thesis III  
Free Elective 4
Free Elective 4
 Hours12
 Total Hours192

Computer Science Program Educational Objectives

Graduates from the computer science program will be prepared for many types of careers in the field of computing and be prepared for graduate study in computer science and in closely related disciplines. In the early phases of their careers, we expect

Rose-Hulman computer science graduates to be:

  1. Computing professionals in a variety of organizations, including ones doing traditional software development, technological innovation, and cross-disciplinary work
  2. Business and technological leaders within existing organizations
  3. Recognized by their peers and superiors for their communication, teamwork, and leadership skills
  4. Actively involved in social and professional service locally, nationally, and globally
  5. Graduate students and researchers
  6. Leaders in government and law as government employees, policy makers, governmental advisors, and legal professionals

Computer Science Student Outcomes

Graduates of the program will have an ability to:

  1. Analyze a complex computing problem and to apply principles of computing and other relevant disciplines to identify solutions.
  2. Design, implement, and evaluate a computing-based solution to meet a given set of computing requirements in the context of the program’s discipline.
  3. Communicate effectively in a variety of professional contexts.
  4. Recognize professional responsibilities and make informed judgments in computing practice based on legal and ethical principles.
  5. Function effectively as a member or leader of a team engaged in activities appropriate to the program’s discipline.
  6. Apply computer science theory and software development fundamentals to produce computing-based solutions.

The faculty strives to maintain an open atmosphere that encourages mutual respect and support as well as learning and sharing of knowledge.

The computer science program is accredited by the Computing Accreditation Commission of ABET, https://www.abet.org, under the commission’s General Criteria and Program Criteria for Computer Science and Similarly Named Computing Programs.