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.

 

 

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.

 

 

Requirements for a Computer Science major

 


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    Fundamentals of

                    Software Development I ...................         4

MA   111    Calculus I ..........................................         5

PH     111    Physics I ...........................................         4

RH    131    Rhetoric and Composition ................         4

CLSK 100   College and Life Skills .......................         1

                                                                                      18

 

Winter Term

CHEM 201 Engineering Chemistry I ...................         4

MA   112    Calculus II .........................................         5

PH     112    Physics II ..........................................         4

HSS             Elective..............................................         4

                                                                                      17

 

Spring Term

ECE   130    Introduction to Logic Design.............         4

MA   113    Calculus III .......................................         5

HSS             Elective..............................................         4

Science        Elective..............................................         4

                                                                                      17

 

Sophomore Year

 

Fall Term                                                              Credit

CSSE 220    Fundamentals of Software

                    Development II..................................         4

CSSE 232    Computer Architecture I ..................         4

MA   221    Differential Equations
                    and Matrix Algebra I .........................         4

MA   275    Discrete and Combinatorial Algebra I         4

                                                                                      16

 

Winter Term

CSSE 230    Fundamentals of
                    Software Development III ................         4

CSSE 333    Database Systems .............................         4

MA   375    Discrete and Combinatorial Algebra II       4

HSS             Elective..............................................         4

                                                                                      16

Spring Term

CSSE 304    Programming Language Concepts .....         4

ECE   332    Computer Architecture II .................         4

ECE/MA     Elective .............................................         4

HSS             Elective .............................................         4

                                                                                      16

 

Junior Year

 

Fall Term                                                              Credit

CSSE 371    Software Requirements and

                    Specification .....................................         4

CSSE           Elective .............................................         4

MA   381    Introduction to Probability with

                    Statistical Applications ....................         4

HSS             Elective .............................................         4

                                                                                      16

 

Winter Term

CSSE 332    Operating Systems ...........................         4

CSSE 372    Software Project Management ..........         4

RH 330       Technical Communication ................         4

ECE/MA     Elective .............................................         4

                                                                                      16

 

Spring Term

CSSE           Elective .............................................         4

CSSE           Elective .............................................         4

ECE/MA     Elective .............................................         4

Free             Elective .............................................         4

                                                                                      16

 

Senior Year

 

Fall Term                                                              Credit

CSSE 497 or CSSE 494

                    Senior Project I or Senior Thesis I ....         4

CSSE           Elective .............................................         4

HSS             Elective .............................................         4

Free             Elective .............................................         4

                                                                                      16

 

Winter Term

CSSE 498 or CSSE 495

                    Senior Project II or Senior Thesis II .         4

CSSE           Elective .............................................         4

HSS             Elective .............................................         4

Free             Elective .............................................         4

                                                                                      16

 

Spring Term

CSSE 499 or CSSE 496

                    Senior Project III or Senior Thesis III         4

Free             Elective .............................................         4

Free             Elective .............................................         4

                                                                                      12

 

Total credits required: .......................................    192

 

CSSE electives must include CSSE 473 and/or 474, and cannot include any of CSSE 373 through 376.

Science elective must be one of CHEM 202, PH 113, or AB 101.
ECE/MA electives must be 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; CHEM201; one of CHEM202, PH113, or AB101; RH131, RH 330; 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.   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.

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

CSSE230   Fundamentals of Software Development III

Four additional courses in computer science numbered above 200. None of these may be CSSE 371-376.