Computer Science Requirements (27 hours):

CPS180 - Principles of Computer Programming

  • Algorithm development and problem solving methods.
  • Design and development of computer programs in a structured programming language.

CPS 181 - Introduction to Data Structures

  • Dynamic storage allocation, recursion, abstract data types (such as stacks, queues, linked lists, and binary trees), sorting and searching.

CPS 210 - Assembly Language and Computer Organization

  • Topics in assembly language concepts, introduction to computer organization, machine representation of information, models of computer architecture, instruction and addressing fundamentals, control structures.

CPS 240 - Object-Oriented Programming

  • Introduction and analysis of the object-oriented programming paradigm and concepts. Design of classes and objects in problem solving. Use of object libraries.

CPS 340 - Advanced Data Structures and Algorithms

  • Theory of and advanced techniques for representation of information: lists, trees, graphs; analysis of algorithms, sorting, searching and hashing techniques.

CPS 360 - Computer Design and Architecture

  • Logic gates, design and analysis of digital circuits, clocked digital circuits, processor micro-architecture, instructions sets and addressing modes, virtual memory.

CPS 410 - Software Engineering

  • Software specification, design methods, programming and testing techniques and CASE tools. Developing large software systems in a group environment using modern software engineering techniques.

CPS 450 - Programming Language Concepts

  • Formal definition of programming languages including specification of syntax and semantics.

CPS 470 - Introduction to Operating Systems

  • Operating systems as resource manager.
  • Study of the strategies used to manage system resources such as devices, files, memory, processors.

Electives (9 hours) in CPS or ITC numbered at or above CPS 280

Mathematics Requirements (13 hours):

MTH132 - Calculus I

  • Limits, continuity, interpretations of the derivative, differentiation of elementary functions, applications ​of derivatives, anti-derivatives,
  • Riemann sums, definite integrals, fundamental theorem of calculus.

MTH175 - Discrete Mathematics

  • Topics in discrete mathematics including sequences, graphs, mathematical induction, recursion, number theory, combinatorial counting, difference equations, algorithms, and Boolean Algebra

MTH 223 - Linear Algebra and Matrix Theory

  • Systems of linear equations, matrices, determinants, vectors, vector spaces, eigenvalues, linear transformations, applications and numerical methods

STA 382QR - Elementary Statistical Analysis

  • An introduction to statistical analysis.
  • Topics will include descriptive statistics, probability, sampling distributions, statistical inference, and regression.


Students may earn credit toward graduation through employment in a computer related job, with prior approval by the department. For more details, contact the department office.  

*Students are also encouraged to select a minor that fits well with computer science, such as accounting, economics, or any of the sciences.​