2013-14 Catalogs

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.

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 E 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

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 yearCOS 160  COS 161
 COS 170  MAT 145
     
Second yearCOS 280  COS 250
 COS 285  COS 255