# Department of Computer Science

## BS in Computer Science

The B.S. in Computer Science prepares students for either continued study at the graduate level or entry into the labor market. 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 the department faculty like is "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. Students have successfully converted to Computer Science from a variety of non-technical disciplines, including history, classics, and English literature.

### Program Requirements

In addition to meeting departmental requirements for a major, students must meet the University Core Curriculum requirements. Students are advised that COS 420 Object-Oriented Design 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 E below must be passed with a grade of C– or better. The cumulative grade point average of all courses applied to the major must be at least 2.0. A maximum of 3 credits of COS 497 Independent Study in Computer Science 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 398 Professional Ethics and Social Impact of Computing

COS 420 Object-Oriented Design

COS 485 Design and Analysis of Computing Algorithms

B. Computer Systems:

COS 450 Operating Systems or COS 457 Database Systems

C. Completion of three additional COS courses numbered 300 and above, excluding COS 498 Computer Science Internship. Graduate courses in the Department of Computer Science can be used to fulfill the requirements in section C.

D. 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:

EGN 181/MAT 181 Computing with Mathematica

MAT 152 Calculus A

MAT 153 Calculus B

MAT 252 Calculus C

MAT 281 Introduction to Probability

MAT 282 Statistical Inference

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 380 Probability and Statistics

MAT 383 System Modeling and Simulation

MAT 392 Theory of Numbers

MAT 395 Abstract Algebra

MAT 460 Mathematical Modeling

MAT 461 Stochastic Models in Operations Research

MAT 470 Non-Euclidean Geometry

MAT 490 Topology

MAT 492 Graph Theory and Combinatorics

3. Completion of a two-semester sequence of any of the following:

CHY 113, 114 Principles of Chemistry I with Lab

CHY 115, 116 Principles of Chemistry II with Lab

or

PHY 121, 114 General Physics I with Lab

PHY 123, 116 General Physics II with Lab

or

BIO 105, 106 Biological Principles I: Cellular Biology with Lab

BIO 107 Biological Principles II: Evolution, Biodiversity, and Ecology

or

ESP 101, 102 Fundamentals of Environmental Science with Lab

ESP 125, 126 Introduction to Environmental Ecology with Lab

4. Enough additional courses from the list in D(2) or the sciences to total at least 30 credit hours in mathematics and science when combined with courses taken for D(1), D(2), and D(3). A science course taken to fulfill this requirement must be one that satisfies a degree requirement within its discipline. If the course has an accompanying lab, then the lab also must be taken.

E. Communication skills requirement:

THE 170 Public Speaking

ITP/EGN 210 Technical Writing

### Course Sequence

The following schedule of mathematics and computer science courses is typical for the first and second years.

Fall Spring

First year COS 160 COS 161

COS 170 MAT 145

Second year COS 280 COS 250

COS 285 COS 255