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 department has its own local area network. This network is connected to the campus-wide network and the Internet. Laboratory machines are mostly Sun Ultra workstations. Computer science majors have unlimited access to the department’s laboratories. Computer science majors are frequently employed by the computing center as user consultants, and by the department as system managers and course assistants.
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.
Computer Science Program Educational Objectives
Graduates from the computer science program will be prepared for many types of careers in the computing industry 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:
Computer Science Student Outcomes
By the time students graduate with a computer science degree from Rose-Hulman, they will be able to:
The faculty strives to maintain an open atmosphere that encourages mutual respect and support as well as learning and sharing of knowledge.
There are many alternatives to the schedule below. Students with special interests or opportunities (e.g., advanced placement) should determine what schedule is best for their own plan of study by examining schedules at the department’s web site: www.cs.rose-hulman.edu.
The computer science program is accredited by the Computing Accreditation Commission of ABET, www.abet.org
COMPUTER SCIENCE PLAN OF STUDY
| Freshman Year | ||
| Fall Term | Credit | |
| CSSE 120 |
Introduction to Software Development |
4 |
| PH 111 | Physics I | 4 |
| MA 111 | Calculus I | 5 |
| CLSK 100 | College & Life Skills | 1 |
| RH 131 | Rhetoric and Composition | 4 |
| Total | 18 | |
| Winter Term | Credit | |
| CSSE 220 |
Object-Oriented Software Development |
4 |
| PH 112 | Physics II | 4 |
| MA 112 | Calculus II | 5 |
| HSS | Elective | 4 |
| Total | 17 | |
| Spring Term | Credit | |
| CSSE 132 |
Introduction to Computer Systems |
4 |
| MA 113 | Calculus III | 5 |
| HSS | Elective | 4 |
| Science | Elective | 4 |
| Total | 17 |
| Sophomore Year | ||
| Fall Term | Credit | |
| CHEM 111 | General Chemistry I | 4 |
| CSSE 232 | Computer Architecture I | 4 |
| MA 212 |
Matrix Algebra and Systems of Differential Equations |
4 |
| MA 275 |
Discrete & Combinatorial Algebra I |
4 |
| Total | 16 | |
| Winter Term | Credit | |
| CSSE 230 |
Data Structures and Algorithm Analysis |
4 |
| CSSE 333 | Database Systems | 4 |
| MA 375 |
Discrete & Combinatorial Algebra II |
4 |
| HSS | Elective | 4 |
| Total | 16 | |
| Spring Term | Credit | |
| CSSE 304 | Programming Lang. Con. | 4 |
| ECE 332 | Computer Architecture II | 4 |
| MA 381 |
Introduction to Probability with Applications to Statistics |
4 |
| RH 330 |
Technical and Professional Communication |
4 |
| Total | 16 |
| Junior Year | ||
| Fall Term | Credit | |
| CSSE 371 |
Software Requirements Engineering |
4 |
| CSSE/MA 473 |
Design and Analysis of Algorithms |
4 |
| CSSE | Elective | 4 |
| HSS | Elective | 4 |
| Total | 16 | |
| Winter Term | Credit | |
| CSSE 332 | Operating Systems | 4 |
| CSSE 374 | Software Design | 4 |
| CSSE/MA 474 | Theory of Computation | 4 |
| HSS | Elective | 4 |
| Total | 16 | |
| Spring Term | Credit | |
| CSSE | Elective | 4 |
| Technical Elective | 4 | |
| Free | Elective | 4 |
| Free | Elective | 4 |
| Total | 16 |
| Senior Year | ||
| Fall Term | Credit | |
|
CSSE 487 CSSE 497 CSSE 494 |
Senior Research Project I or Senior Project I or Senior Thesis I |
4 |
| CSSE | Elective | 4 |
| HSS | Elective | 4 |
| Free | Elective | 4 |
| Total | 16 | |
| Winter Term | Credit | |
|
CSSE 488 CSSE 498 CSSE 495 |
Senior Research Project II or Senior Project II or Senior Thesis II |
4 |
| CSSE | Elective | 4 |
| HSS | Elective | 4 |
| Technical Elective | 4 | |
| Total | 14 | |
| Spring Term | Credit | |
|
CSSE 489 CSSE 499 CSSE 496 |
Senior Research Project III or Senior Project III or Senior Thesis III |
4 |
| Free | Elective | 4 |
| Free | Elective | 4 |
| Total | 12 | |
| Total credits required: | 192 |
To complete the major in computer science a student must complete the following:
Advisor: Dr. Laxer
Students majoring in Software Engineering may not receive a Computer Science minor.
CSSE120 Introduction to Software Development
CSSE220 Object-Oriented Software Development
CSSE230 Data Structures and Algorithm Analysis
16 additional credits of computer science courses numbered above 200.
None of these may be CSSE 371-376, CSSE 477 or CSSE 493. Use of CSSE 490, CSSE 491 or CSSE 492 toward these 16 credits requires department head approval.