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 (particularly Theory
of Computation and Design and Analysis of Algorithms), 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 and Outcomes
Graduates from the 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. The educational objectives of the computer science
program are to prepare students to become:
- Graduate students and researchers.
- Leaders in government and law as government
employees, policy makers, governmental advisors, and legal
professionals.
- Entrepreneurial leaders.
- Business leaders within existing
organizations.
- Actively involved in social and professional
service locally, nationally, and globally.
- Recognized by their peers and superiors for
their communication, teamwork, and leadership skills.
- Software professionals in a variety of
organizations, including ones doing traditional software
development, technological innovation, and cross-disciplinary
work.
By the time students graduate with a computer
science degree from Rose-Hulman, they will be able to:
- Apply effectively a variety of programming
languages, programming paradigms, operating systems, networks, and
software development tools.
- Anticipate complexities and problems
involved in the development of large software systems.
- Analyze requirements, design software that
satisfies those requirements, and implement that software.
- Analyze problems using ideas of problem
complexity, models of computation, and decidability.
- Design algorithms using a variety of
paradigms.
- Analyze algorithms in terms of correctness,
as well as time and space efficiency.
- Communicate effectively, both verbally and
in writing.
- Evaluate and discuss the legal, social, and
ethical aspects of significant events that arise in the computing
industry.
- Collaborate effectively in small teams.
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.
|
Freshman Year |
|
Fall Term |
Credit |
CSSE
MA
PH
RH
CLSK |
120
111
111
131
100 |
Fundamentals of
Software Development I...
Calculus I ..............................
Physics I................................
Rhetoric & Composition ....
College and Life Skills ........ |
4
5
4
4
1 |
| |
|
|

18 |
|
|
|
|
|
|
Winter Term |
Credit |
CSSE
MA
PH
HSS |
220
112
112 |
Fundamentals of
Software
Development II ...............
Calculus II..............................
Physics II...............................
Elective................................... |
4
5
4
4
|
| |
|
|

17 |
|
|
|
|
|
|
Spring Term |
Credit |
ECE
MA
HSS
Science |
130
113 |
Introduction to Logic
Design................................
Calculus III............................
Elective..................................
Elective.................................. |
4
5
4
4 |
| |
|
|

17 |
|
|
Sophomore Year |
|
Fall Term |
Credit |
CHEM
CSSE
MA
MA
|
201
232
221
275
|
Engineering Chemistry
I
Computer Architecture I ...
Differential Equations and
Matrix Algebra I..............
Discrete & Combinatorial
Algebra I.......................... |
4
4
4
4 |
| |
|
|

16 |
|
|
|
|
|
|
Winter Term |
Credit |
CSSE
CSSE
MA
HSS |
230
333
375
|
Fundamentals of
Software
Development III ..............
Database Systems ..............
Discrete & Combinatorial
Algebra II .........................
Elective.................................. |
4
4
4
4 |
| |
|
|

16 |
|
|
|
|
|
|
Spring Term |
Credit |
CSSE
ECE
ECE/MA
HSS |
304
332
|
Programming Lang.
Con.....
Computer Architecture II...
Elective.................................
Elective................................. |
4
4
4
4 |
| |
|
|

16 |
| |
|
|
|
|
|
|
|
Junior Year |
|
Fall Term |
Credit |
CSSE
CSSE
MA
HSS |
371
381 |
Software Requirements
&
Specification .....................
Elective...................................
Introduction to Probability
with Statistical
Applications......................
Elective................................... |
4
4
4
4 |
| |
|
|

16 |
|
|
|
|
|
|
Winter Term |
Credit |
CSSE
CSSE
ECE/MA
RH |
332
372
330 |
Operating
Systems...............
Software Project Manage....
Elective...................................
Technical Communications |
4
4
4
4 |
| |
|
|

16 |
|
|
|
|
|
|
Spring Term |
Credit |
CSSE
CSSE
ECE/MA
Free |
|
Elective..................................
Elective..................................
Elective..................................
Elective.................................. |
4
4
4
4 |
| |
|
|

16 |
|
|
|
|
| |
|
|
|
| |
|
|
|
CSSE electives must
include CSSE 473 and/or 474, and cannot include any of CSSE
373 through 377.
Science elective is any CHEM, PH, or AB courses totaling at
least 4 credits. |
|
|
Senior Year |
|
Fall Term |
Credit |
CSSE
CSSE
CSSE
HSS
Free |
497
494
|
Senior Project I
or
Senior Thesis I......................
Elective...................................
Elective...................................
Elective................................... |
4
4
4
4 |
| |
|
|

16 |
|
|
|
|
|
|
Winter Term |
Credit |
CSSE
CSSE
CSSE
HSS |
498
495
|
Senior Project II
or
Senior Thesis II.....................
Elective...................................
Elective...................................
Free Elective .......................... |
4
4
4
4 |
| |
|
|

16 |
|
|
|
|
|
|
Spring Term |
Credit |
CSSE
CSSE
Free
Free |
499
496
|
Senior Project III
or
Senior Thesis III ...................
Elective ..................................
Elective .................................. |
4
4
4 |
| |
|
|

12 |
| |
|
|
|
| |
|
Total credits required: 192 |
| |
|
|
ECE/MA electives must
be approved by the CSSE department head.
HSS electives must be distributed as required by HSS. |
|
|
|
|
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: CSSE120, CSSE220,
CSSE230, CSSE232, CSSE304, CSSE332, CSSE333, CSSE371, CSSE372,
either CSSE473 or CSSE474, and either CSSE494-6 or CSSE497-9;
MA111, MA112, MA113, MA275, MA221, MA375, MA381; ECE130, ECE332;
PH111, PH112; CHEM201; RH131, RH330; CLSK100. |
| 2. |
Four additional computer science
courses numbered between 300 and 492. None of these may be
CSSE373-377. The student’s academic adviser must approve the
courses used 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. |
Twelve credits of technical
elective courses selected from the courses offered by the
Department of Mathematics or the Department of Electrical and
Computer Engineering. Courses used as technical electives must
have been approved for such use by the computer science
department head. A student pursuing a second major, minor, or
certificate program in an area not offered by the Department of
Mathematics or the Department of Electrical and Computer
Engineering may substitute one or more technical electives
counted towards the second major, minor, or certificate program
for MA/ECE electives. These substitutions require approval of
the computer science and software engineering department head. |
| 4. |
Four credits of science electives,
which can be any CHEM, PH, or AB courses not already required
for the computer science major. |
| 5. |
Twenty-eight credits of additional
courses offered by the Department of Humanities and Social
Sciences. The distribution of these courses must meet the
requirements of the Department of Humanities and Social
Sciences. |
| 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 except Military Science and Aerospace
Studies. |
| 7. |
A total of 192 credits. |
Area Minor in
Computer Science
Advisor: Dr. Laxer
Students majoring in Software Engineering may not receive a
Computer Science minor.
Required courses
CSSE120 Fundamentals of Software Development I
CSSE220 Fundamentals of Software Development II
CSSE230 Fundamentals of Software Development III
Four additional courses in computer science numbered above
200. None of these may be CSSE 371-377.
|