Skip navigation

Computer Science Major


The Department of Computer Science offers a major in Computer Science on the BA and BS degrees. Graduates have found careers in industry, business, and government as programmers, systems engineers, software designers, and consultants.

The major consists of 36 semester hours of computer science and 13 hours of mathematics and statistics.


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.


Internship: 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.​