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