| |
Programs - Computer
Science
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:
- 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.
Computer Science Program Outcomes
By the time students graduate with a computer science degree from Rose-Hulman, they will be able to:
- Effectively apply 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
- Identify resources for determining legal and ethical practices in other
countries as they apply to computing and software engineering
- Collaborate effectively in small teams
- 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
- Explain the impact of globalization on computing and software
engineering
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 |
120 |
Introduction to
Software Development .. |
4 |
| MA |
111 |
Calculus I ............................ |
5 |
| PH |
111 |
Physics I ............................. |
4 |
| RH |
131 |
Rhetoric & Composition ... |
4 |
| CLSK |
100 |
College and Life Skills ....... |
1 |
|
|
18 |
| |
| Winter Term |
Credit |
| CSSE |
220 |
Object-Oriented Software Development ................... |
4 |
| MA |
112 |
Calculus II ........................... |
5 |
| PH |
112 |
Physics II ............................ |
4 |
| HSS |
|
Elective ................................ |
4 |
| |
17 |
|
|
| Spring Term |
Credit |
|
ECE |
130 |
Introduction to Logic Design .............................. |
4 |
|
MA |
113 |
Calculus III ......................... |
5 |
|
HSS |
|
Elective ................................ |
4 |
|
Science |
|
Elective ................................ |
4 |
| |
17 |
|
| Sophomore Year |
| Fall Term |
Credit |
|
CHEM |
105 |
Engineering Chemistry
I ... |
4 |
|
CSSE |
232 |
Computer Architecture I ... |
4 |
|
MA |
221 |
Differential Equations and Matrix Algebra I ......... |
4 |
|
MA |
275 |
Discrete & Combinatorial Algebra I .......................... |
4 |
| |
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 |
| |
16 |
|
|
| Spring Term |
Credit |
|
CSSE |
304 |
Programming Lang. Con. .. |
4 |
|
ECE |
332 |
Computer Architecture II |
4 |
|
MA |
381 |
Introduction to Probability with Statistical Applications |
4 |
|
RH |
330 |
Technical and Professional
Communication |
4 |
| |
16 |
| |
|
|
Junior Year |
| Fall Term |
Credit |
|
CSSE |
371 |
Software Requirements
& Specification ......... |
4 |
|
CSSE/MA |
473 |
Design and Analysis of Algorithms .................... |
4 |
|
CSSE |
|
Elective ............................. |
4 |
|
HSS |
|
Elective ............................. |
4 |
| |
16 |
|
|
| Winter Term |
Credit |
|
CSSE |
332 |
Operating Systems .......... |
4 |
|
CSSE |
374 |
Software Architecture and Design ...... |
4 |
|
CSSE/MA |
474 |
Theory of Computation .. |
4 |
|
HSS |
|
Elective |
4 |
| |
16 |
|
|
| Spring Term |
Credit |
|
CSSE |
|
Elective ....................... |
4 |
|
ECE/MA |
|
Elective ....................... |
4 |
|
Free |
|
Elective ....................... |
4 |
|
Free |
|
Elective ....................... |
4 |
| |
16 |
| |
CSSE electives cannot include any of CSSE 372, 373, and 375
through 377.
Science elective is any CHEM, PH, or AB courses totaling at
least 4 credits. |
|
| Senior Year |
| Fall Term |
Credit |
|
CSSE |
487 |
Senior Research Project I |
|
|
|
|
or |
|
|
CSSE |
497 |
Senior Project I |
|
|
|
|
or |
|
|
CSSE |
494
|
Senior Thesis I ................ |
4 |
|
CSSE |
|
Elective ............................. |
4 |
|
HSS |
|
Elective ............................. |
4 |
|
Free |
|
Elective ............................. |
4 |
| |
16 |
|
|
| Winter Term |
Credit |
|
CSSE |
488 |
Senior Research Project II |
|
|
|
|
or |
|
|
CSSE |
498 |
Senior Project II |
|
|
|
|
or |
|
|
CSSE |
495 |
Senior Thesis II................ |
4 |
|
CSSE |
|
Elective ............................ |
4 |
|
HSS |
|
Elective ............................. |
4 |
|
ECE/MA |
|
Elective ............................ |
4 |
| |
16 |
|
|
| Spring Term |
Credit |
|
CSSE |
489 |
Senior Research Project III |
|
|
|
|
or |
|
|
CSSE |
499 |
Senior Project III |
|
|
|
|
or |
|
|
CSSE |
496 |
Senior Thesis III ............. |
4 |
|
Free |
|
Elective ............................. |
4 |
|
Free |
|
Elective ............................. |
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:
-
All required courses listed by
number in the schedule of courses above: CSSE120, CSSE220,
CSSE230, CSSE232, CSSE304, CSSE332, CSSE333, CSSE371, CSSE374,
CSSE473 or MA473 and CSSE474 or MA474, and either CSSE487-9 or CSSE494-6 or CSSE497-9;
MA111, MA112, MA113, MA275, MA221, MA375, MA381; ECE130, ECE332;
PH111, PH112; CHEM105; RH131, RH330; CLSK100.
-
Sixteen credits of additional computer science courses numbered between 200 and 492. No more than four credits may be at the 200 level, and none of the credits may be from CSSE372,
373, 375, 376, and 377. The student’s 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).
-
Eight 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.
-
Four credits of science electives,
which can be any CHEM, PH, or AB courses not already required
for the computer science major.
-
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.
-
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.
-
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 Introduction to Software Development
CSSE220 Object-Oriented Software Development
CSSE230 Data Structures and Algorithm Analysis
Four additional courses in computer science numbered above
200. None of these may be CSSE 371-377. |