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, participatein 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 campuswide
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.
PROGRAM OBJECTIVES AND GOALS
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. Graduates will:
| |
1. |
have received a broad education in computer science and in
important related disciplines. |
| |
2. |
have experience with a variety of programming languages,
programming paradigms,
operating systems, networks, and software development tools. |
| |
3. |
be aware of the complexities and problems involved in the
development of large software
systems. |
| |
4. |
have appropriate depth of study in programming languages,
data structures, software
engineering, and computer architecture. |
| |
5. |
be able to design and implement software tools and software
solutions to problems. |
| |
6. |
be familiar with the mathematical and theoretical
underpinnings of computing. |
| |
7. |
have the ability to analyze both problems and algorithms. |
| |
8. |
have the written and oral communication skills expected of
computing professionals. |
| |
9. |
be aware of the major legal, social and ethical issues that
arise in the computing industry. |
| |
10. |
have experience working in small teams and should be able
to function effectively in
small groups. |
| |
11. |
be prepared to comprehend, evaluate, and learn new
technologies. |
| |
12. |
have depth of study adequate to prepare them to learn new
areas of computer science
and will have demonstrated their ability to learn new areas of
computer science. |
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.
COMPUTER SCIENCE
|
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 |
CHEM
MA
PH
HSS |
111
112
112 |
General Chemistry
I..............
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 |
CSSE
CSSE
MA
MA
|
220
232
221
215
|
Fundamentals of Software
Development II ...............
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
315
|
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 Requriements &
Specification .....................
Elective...................................
Introduction to Probability
with Statistical Applica. ..
Elective................................... |
4
4
4
4 |
| |
|
|

16 |
|
|
|
|
|
|
Winter Term |
Credit |
CSSE
CSSE
CE/MA
HSS |
332
372
|
Operating
Systems...............
Software Project Manage....
Elective...................................
Elective................................... |
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 445 and/or 474, and
cannot include any of CSSE 373 through 376.
Science elective must be one of CHEM 113, PH 113, or
AB 101. |
|
|
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 e approved by CSSE 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,
MA215, MA221, MA315, MA381; ECE130, ECE332; PH111, PH112;
CHEM111; one of
CHEM113, PH113, or AB101; RH131; CLSK100. |
| 2. |
Four additional computer science courses numbered between
300 and 492. None of these
may be CSSE373-376. 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. |
Thirty-two 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. |
| 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
except Military Science and Air science. |
| 6. |
A total of 192 credits. |
Area Minor in Computer Science
Advisor: Dr. Laxer
Required courses
CSSE120 Fundamentals of Software Development I
CSSE220 Fundamentals of Software Development II
Four additional courses in computer science numbered above
200. None of these may be
CSSE 371-376.
|