2018-19 Catalogs

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.

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
          PHY 121, 114 General Physics I with Lab
          PHY 123, 116 General Physics II with Lab
          BIO 105, 106 Biological Principles I: Cellular Biology with Lab
          BIO 107 Biological Principles II: Evolution, Biodiversity, and Ecology
          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

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