Our modern world relies on computers for everything from electronic commerce to medicine, from online entertainment to online searching for information, from social networking to robotics, from controlling power plants to flying airplanes. Computer scientists are needed more than ever to design and build the computational systems that society depends on now and will need to solve future problems.

## Why Roanoke College?

The Computer Science program at Roanoke College prepares students to play a part in meeting these computational needs and challenges and to be lifelong learners capable of adapting to the changing landscape of technology. It provides students with a balanced breadth and depth of knowledge in computer science that allows them the choice between continuing their education in graduate school or beginning their professional career.

## Two Majors Offered

- B.S. in Computer Science and
- B.S. in Applied Computer Science.

Both programs give students a solid foundation in computer science while developing the skills necessary to apply their knowledge in the modern computing environment. The Computer Science program gives students a deeper understanding of the theoretical foundations of computer science while the Applied Computer Science program focuses more on applications. A student interested in attending graduate school should choose the Computer Science major rather than the Applied Computer Science major.

The departmental faculty regularly work with students on research projects, often leading to publications and presentations at conferences.

## Learn Firsthand

All the system administration, for maintaining the computer systems used in Computer Science courses, is done by students giving them invaluable hands-on experience in this area.

## Course Requirements

The Computer Science Department at Roanoke College offers two Bachelor of Science degrees as well as a minor in Computer Science.

(For information on the program prior to Fall 2011 please click here.)

### Bachelor of Science in Computer Science

A Bachelor of Science degree with a major in computer science requires the satisfactory completion of 12 units in the areas of computer science, mathematics, and statistics to include:

- Computer Science 170 (Fundamentals of Computer Science II), 250 (Data Structures and Algorithms), 290 (Computer Architecture and Operating Systems), 390 (Theory of Computation), 395 (Analysis of Algorithms), 425 (Principles of Programming Languages),
- Mathematics 131 (Discrete Mathematics), 201 (Linear Algebra),
- Statistics 202 (Probability and Statistics),
- one unit of Senior Research (436 or 435/437), and
- two additional units from computer science courses at or above the 300-level (one of these units may be Math 306 or Math 361).

Computer Science 120 (Fundamentals of Computer Science I) is a prerequisite for the computer science courses, Mathematics 118 (Differential Calculus) or Mathematics 121 (Calculus I) is a prerequisite for Mathematics 131, and Mathematics 122 (Calculus II) is a prerequisite for Mathematics 201 and Statistics 202.

### Bachelor of Science in Applied Computer Science

A Bachelor of Science degree with a major in applied computer science requires the satisfactory completion of 12 units in the areas of computer science, mathematics, and statistics to include:

- Computer Science 170 (Fundamentals of Computer Science II), 250 (Data Structures and Algorithms), 290 (Computer Architecture and Operating Systems), 340 (Database Systems), 365 (Software Engineering and Project Design), 415 (Web Programming),
- Mathematics 131 (Discrete Mathematics),
- Statistics 202 (Probability and Statistics),
- one unit of Senior Project (446 or 445/447), and
- three additional units from computer science courses at or above the 300-level.

Computer Science 120 (Fundamentals of Computer Science I) is a prerequisite for the computer science courses, Mathematics 118 (Differential Calculus) or Mathematics 121 (Calculus I) is a prerequisite for Mathematics 131, and Mathematics 122 (Calculus II) is a prerequisite for Statistics 202.

### Minor

A minor in Computer Science requires the satisfactory completion of 6 units in the areas of computer science and mathematics: