International Computer Science

The International 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 international computer science curriculum is designed to prepare students for multiple careers in a rapidly changing, global environment. The program’s courses emphasize fundamental concepts and techniques that will last longer than present technology.

International computer science majors complete a core of basic computer science courses that includes the study of algorithms, data structures, database concepts, computer systems, computer architecture, programming languages, operating systems, and software engineering. Advanced courses in theory of computation, computer networks, distributed systems, security, and real time systems add depth to the degree program. A three-term senior thesis provides students the opportunity to research in depth an area of computer science that is of interest to them under the mentorship of a faculty member. Majors also complete important courses in closely related fields, e.g., discrete mathematics and probability and statistics, as well as study a foreign language. The major requires students to study all aspects of the science of computing, including hardware, software, and theory.

Five free electives allow students to tailor their undergraduate education to their specific goals and pursue topics of interest to them. Students may choose to do advanced elective work in computer science and software engineering and/or in the humanities and social sciences, and/or pursue a minor or double major in another discipline.

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.

The department has its own local area network. This network is connected to the campus-wide network and the Internet. Department laboratories provide docking stations and large screen monitors for students to attach their laptops to. International computer science majors have unlimited access to the department’s laboratories.

The department has active programming teams that compete in the ACM Programming Contest and the Collegiate Cyber Defense Competition. The national computer science honor society, Upsilon Pi Epsilon, has chartered its Indiana Alpha Chapter at Rose-Hulman; it sponsors several seminars throughout the year.

International Computer Science Program Educational Objectives   

Graduates from the international computer science program will be prepared for many types of careers in the computing industry and prepared for graduate study in computer science and in closely related disciplines. In the early phases of their careers, we expect Rose-Hulman international computer science graduates to be: 

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

International Computer Science Student Outcomes

By the time students graduate with an international computer science degree from Rose-Hulman, they will be able to: 

  1. Effectively apply a variety of programming languages, programming paradigms, operating systems, networks, and software development tools.
  2. Anticipate complexities and problems involved in the development of large software systems.
  3. Analyze requirements, design software that satisfies those requirements, and implement that software.
  4. Analyze problems using ideas of problem complexity, models of computation, and decidability.
  5. Design algorithms using a variety of paradigms.
  6. Analyze algorithms in terms of correctness as well as time and space efficiency.
  7. Communicate effectively, both verbally and in writing.
  8. Evaluate and discuss the legal, social, and ethical aspects of significant events that arise in the computing industry.
  9. Identify resources for determining legal and ethical practices in other countries as they apply to computing and software engineering.
  10. Collaborate effectively in small teams.
  11. Interact professionally with colleagues or clients located abroad and overcome challenges that arise from geographic distance, cultural differences, and multiple languages in the context of computing and software engineering.
  12. Explain the impact of globalization on computing and software engineering.
  13. Recognize the need for, and engage in, lifelong learning.
  14. Identify scalable solutions to problems and analyze the scalability of existing solutions under a variety of constraints.


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

Summary of graduation requirements for the international computer science major

HSS electives must be distributed as required by HSS.  Science elective is any CHEM, PH, GEOL, or BIO course(s) totaling at least 4 credits.

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

  1. All required courses listed by number, symbol, or name in the schedule of courses above:  CSSE 120, CSSE 132, CSSE 220, CSSE 230, CSSE 304, CSSE or MA 473, CSSE or MA 474, and CSSE 494-6; MA 111, MA 112, MA 113, MA 212, MA 275, MA 375, MA 381; ECE 332; PH 111, PH 112; CHEM 111; RH 131, RH 330; GE 111, GE 112, GE 113; CLSK 100; BSYS, COMPA, DABA, ECHT, IPRO, RNET, SEM, VSYS, Technical German.
  2. Four credits of science electives, which can be any CHEM, PH, BIO, or GEOL courses not already required for the international computer science major.
  3. Eight additional credits of technical electives. Consisting of any courses in biology, chemistry, engineering (except software engineering and engineering management), geology, mathematics, biomathematics, or physics.
  4. Twelve credits of additional courses offered by the Department of Humanities and Social Sciences and/or appropriate humanities or social science courses offered at Hochschule Ulm. The distribution of these courses must meet the requirements of the Department of Humanities and Social Sciences at Rose-Hulman.
  5. 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.
  6. A total of 192 credits.

Plan of Study

Freshman Open Close
Sophomore Open Close
Junior Open Close
Senior Open Close


*Junior Year is at Hochschule Ulm, Germany and is two semesters.

Launch Root Quad