# Computer Science

## BS in Computer Science

The Bachelor of Science in Computer Science prepares the student for either continued study at the graduate level or entry into the labor market. Our students have been successful at both, with some earning doctoral degrees and some reaching high levels in the private sector, including the director of software development at a major corporation. The curriculum includes a required core of courses that provides a broad base of fundamental knowledge, but allows for individuals to follow their own specific interests at the advanced level. All courses focus on general principles that will remain valid into the future but use tools and vehicles reflecting contemporary practice.

Computer Science is perhaps the most pervasive technology of our time, reaching into every aspect of modern life, from work to recreation. It spans many disciplines, from mathematics and electrical engineering to linguistics, cognitive psychology and graphic design. It is a challenge to provide a definition of the essence of such a sprawling discipline, but one that we like is that Computer Science is the study of what can be automated.

Many people imagine that one must learn advanced mathematics to become a computer scientist or software developer. To be sure, some applications, such as computational modeling of physical processes, require techniques from advanced mathematics. Other applications, however, do not require mathematics beyond the basics taught in a strong high school program. Far more important is the ability to think logically and precisely and the ability to devise a plan to solve a problem. We have had students successfully convert to Computer Science from a variety of non-technical disciplines, including history, classics, and English literature.

## Program Requirements

All students are reminded that, in addition to meeting departmental requirements for a major, they must also meet the University Core Curriculum requirements. Students are advised that COS 430 Software Engineering satisfies the Core Curriculum Capstone requirement.

The total number of credits for graduation is 120.

Courses used to fulfill major requirements in sections A through F below must be passed with a grade of C– or better. The accumulative grade point average of all courses applied to the major must be at least 2.0. At most three credits of COS 497 can be used to meet a degree requirement.

The specific course requirements are as follows:

A. Computer Science:

COS 160 Structured Problem Solving: Java

COS 161 Algorithms in Programming

COS 170 Structured Programming Laboratory

COS 250 Computer Organization

COS 255 Computer Organization Laboratory

COS 285 Data Structures

COS 350 Systems Programming

COS 360 Programming Languages

COS 485 Design of Computing Algorithms

COS 398 Professional Ethics and Social Impact of Computing

B. Software Design:

COS 420 Object Oriented Design

or COS 430 Software Engineering

C. Computer Systems:

COS 450 Operating Systems

or COS 457 Database Systems

D. Completion of three additional COS courses numbered 300 and above, excluding COS 498.

Graduate courses in the Computer Science Department can be used to fulfill the requirements in section D.

E. Mathematics and Science requirements

1. Completion of:

MAT 145 Discrete Mathematics I

COS 280 Discrete Mathematics II

2. Enough additional courses from the following list to total, with the two required courses of the last item, at least 15 credit hours:

MAT 152 Calculus A

MAT 153 Calculus B

MAT 252 Calculus C

MAT 281 Introduction to Probability

MAT 282 Statistical Inference

MAT 292 Theory of Numbers

MAT 295 Linear Algebra

MAT 350 Differential Equations

MAT 352 Real Analysis

MAT 355 Complex Analysis

MAT 364 Numerical Analysis

MAT 366 Deterministic Models in Operations Research

MAT 370 Non-Euclidean Geometry

MAT 380 Probability and Statistics

MAT 383 System Modeling and Simulation

MAT 395 Abstract Algebra

MAT 460 Mathematical Modeling

MAT 461 Stochastic Models in Operations Research

MAT 490 Topology

MAT 492 Graph Theory and Combinatorics

PHI 205 Symbolic Logic

3. Completion of a two-semester sequence of any from the three

CHY 113 with CHY 114 and CHY 115 with CHY 116

or

PHY 121 with PHY 114 and PHY 123 with PHY 116

or

BIO 105 with BIO 106 and BIO 107

4. Enough additional courses from E(2) or the sciences to make at least 30 credit hours combined of mathematics and science. A science course taken to fulfill this requirement must be one that satisfies a degree requirement within its discipline and if it has an accompanying lab course the lab must be taken.

F. Communication skills requirement:

THE 170 Public Speaking

ITP 210 Technical Writing

## Course Sequence

#### Recommended Course Sequence

Suggested Schedule

The following schedule of mathematics and computer science courses is typical for the freshman and sophomore years.

Fall | Spring | |||

First year | COS 160 | COS 161 | ||

COS 170 | MAT 145 | |||

Second year | COS 280 | COS 250 | ||

COS 285 | COS 255 |