2006-2007
Undergraduate Bulletin  

Mission, Vision, Guiding Principles

Introduction to the College

Institutional Goals

Calendar

Campus and Accreditation

Student Life

Student Services

Admission to College

Costs and Financial Aid

Special Programs

Academic Regulations

Graduate Program

Programs of Study

Course Descriptions

Minors

Faculty Directory

Staff Directory

Board of Trustees

Campus Map

Home

   


Contact

Timothy Prickel
Registrar
(812) 877- 8438

 

Programs - Computer Science  
 

 

 

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 (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:

  1. Graduate students and researchers.
  2. Leaders in government and law as government employees, policy makers, governmental advisors, and legal professionals.
  3. Entrepreneurial leaders.
  4. Business leaders within existing organizations.
  5. Actively involved in social and professional service locally, nationally, and globally.
  6. Recognized by their peers and superiors for their communication, teamwork, and leadership skills.
  7. 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.