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 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.

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 international 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 120Introduction to Software Development4
    CSSE 132Introduction to Systems Programming4
    CSSE 212MSPP – Multicore Systems Programming and Performance4
    CSSE 220Object-Oriented Software Development4
    CSSE 230Data Structures and Algorithm Analysis4
    CSSE 232Computer Architecture I4
    CSSE 304Programming Language Concepts4
    CSSE 333Intro to Database Systems4
    CSSE 473Design and Analysis of Algorithms4
    or MA 473 Design & Analysis of Algorithms
    CSSE 474Theory of Computation4
    or MA 474 Theory of Computation
    CSSE 494Senior Thesis I4
    CSSE 495Senior Thesis II4
    CSSE 496Senior Thesis III4
    MA 111Calculus I5
    MA 112Calculus II5
    MA 113Calculus III5
    MA 221Matrix Algebra & Differential Equations I4
    MA 276Introduction to Proofs4
    MA 371Linear Algebra I4
    or MA 373 Applied Linear Algebra for Engineers
    MA 374Combinatorics4
    MA 381Introduction to Probability with Applications to Statistics4
    PH 111Physics I4
    PH 112Physics II4
    CHEM 111General Chemistry I3
    HUM H190First-Year Writing Seminar4
    ENGL H290Technical & Professional Communication4
    GER L111German Language & Culture I4
    GER L112German Language & Culture II4
    GER L113German Language & Culture III4
    RHIT 100Foundations for Rose-Hulman Success1
    CSSE 371Software Requirements Engineering4
    CSSE 400CSSE Seminar4
    CSSE 225Programming 34
    ECE 233Introduction to Digital Systems4
    CSSE 374Software Design4
    CSSE 332Operating Systems4
    CSSE 432Computer Networks4
  2. Eight credits of additional computer science courses (Special Subject A (Module I) and Special Subject A (Module II)) numbered between 200 and 492. No more than four credits may be at the 200 level, and 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 students 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).
  3. Four credits of science electives, which can be any CHEM, PH, BIO, or GEOL courses not already required for the international computer science major.
  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. Sixteen 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.

See Computer Science for course descriptions.

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
HUM H190 First-Year Writing Seminar 4
RHIT 100 Foundations for Rose-Hulman Success 1
 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
HSSA Elective 4
CHEM 111 General Chemistry I 3
CHEM 111L General Chemistry I Lab 1
 Hours17
Sophomore
Fall
CSSE 280 Introduction to Web Programming 4
GER L111 German Language & Culture I 4
MA 221 Matrix Algebra & Differential Equations I 4
CSSE 230 Data Structures and Algorithm Analysis 4
 Hours16
Winter
CSSE 304 Programming Language Concepts 4
ENGL H290 Technical & Professional Communication 4
GER L112 German Language & Culture II 4
MA 276 Introduction to Proofs 4
 Hours16
Spring
MA 374 Combinatorics 4
GER L113 German Language & Culture III 4
MA 381 Introduction to Probability with Applications to Statistics 4
CSSE 333 Intro to Database Systems 4
 Hours16
Junior
Fall
CSSE 225 Programming 3 4
CSSE 371 Software Requirements Engineering 4
CSSE 400 CSSE Seminar 4
CSSE Elective Special Subject A (Module 1) 4
HSSA Elective Technical German 4
ECE 233 Introduction to Digital Systems 4
 Hours24
Winter
CSSE 212 MSPP – Multicore Systems Programming and Performance 4
CSSE 332 Operating Systems 4
CSSE 374 Software Design 4
CSSE 432 Computer Networks 4
CSSE Elective Special Subject A (Module 2) 4
Free Elective 4
 Hours24
Senior
Fall
CSSE 494 Senior Thesis I 4
MA 371
Linear Algebra I
or Applied Linear Algebra for Engineers
4
Science Elective 4
CSSE 232 Computer Architecture I 4
 Hours16
Winter
CSSE 495 Senior Thesis II 4
CSSE/MA 473 Design and Analysis of Algorithms 4
HSSA Elective 4
Free Elective 4
 Hours16
Spring
CSSE 496 Senior Thesis III 4
CSSE/MA 474 Theory of Computation 4
Free Elective 4
 Hours12
 Total Hours192

Notes:

The courses listed in the Junior Year plan of study above represents courses taken at Hochschule Ulm.  Students that successfully complete the identified Hochschule Ulm courses will receive transfer credit for Rose-Hulman equivalent courses (identified in parenthesis).

International Computer Science Program Educational Objectives   

Graduates from the international computer science program will be prepared for many types of careers in the field of computing 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. 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. Entrepreneurial leaders
  4. Recognized by their peers and superiors for their communication, teamwork, and leadership skills
  5. Actively involved in social and professional service locally, nationally, and globally
  6. Graduate students and researchers
  7. Leaders in government and law as government employees, policy makers, governmental advisors, and legal professionals

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 computing resources, programming languages, programming paradigms, operating systems, networks, and software development tools
  2. Anticipate complexities and problems involved in the development of large computing systems
  3. Analyze requirements, design computing systems that satisfy those requirements, and implement that system
  4. Analyze problems and design solutions using ideas of problem complexity, models of computation, decidability, and scalability
  5. Analyze algorithms in terms of correctness, as well as time and space efficiency
  6. Evaluate and discuss the legal, social, and ethical aspects of significant events that arise in the field of computing both domestically and internationally
  7. Interact effectively with colleagues and clients located abroad and overcome challenges that arise from geographic distance, cultural differences, and multiple languages
  8. Communicate effectively, both orally and in writing
  9. Collaborate effectively in teams
  10. Recognize the need for, and engage in, lifelong learning
  11. Understand the structure and functionality of modern computer systems
  12. Live and work in the computing field in a country other than their native country
  13. Demonstrate proficiency in a second language that allows them to interact effectively with colleagues and clients in their field

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