Program Highlights

The Computer Science Minor offers students in all majors the opportunity to develop skills in writing algorithms to solve problems and to understand the fundamental concepts of computer science. This minor contains both theoretical and practical elements of the computer science field, with algorithm implementation and computability being prime examples. Further, the departmental goals of expressing and interpreting mathematical relationships from numeric, symbolic, and graphical points of view; reading and constructing mathematical proofs; analyzing various discrete and continuous probability models; and applying mathematics to other disciplines are directly addressed by this minor.

A student must complete a minimum of 21 credit hours.

The following courses are required (15 credit hours)

  • MA208 Discrete Mathematics
  • CS135 Computer Science I
  • CS235 Computer Science II
  • CS308 Theory of Computation
  • CS337 Algorithms and Data Structures

To complete the remaining 6 credit hour requirements, the student may choose two courses, one of which must bear a CS or IS prefix, from the following:

  • CS342 Artificial Intelligence
  • IS321 Systems Analysis and Design
  • IS470 Business Intelligence and Big Data
  • MA230 Regression Analysis and Time Series
  • MA313 Numerical Analysis
  • MA420 Mathematical Logic

Mathematics majors with a Data Science emphasis may not earn a Computer Science Minor. Note that some of these courses have prerequisites that need to be met. See course descriptions for details.

Computer Science Minor Required Courses

CS135 - Introduction to Computer Science I A first computer science course taken by students in mathematics and science, as well as those seeking the dual-degree program in computer science. Topics include fundamentals of computation and algorithmic problem-solving, data types, control structures, basic graphics, the object-oriented programming paradigm and applications. Introduces a high-level programming language such as Python. Prerequisite: MA110 or equivalent 
CS235 - Introduction to Computer Science II A continuation of CS 135. Emphasizes analysis of algorithms, computational mathematics, and advanced object-oriented programming (interfaces, multiple inheritance). Topics include abstract data types (stacks, queues, lists, strings, trees), computational complexity, recursion, optimization, stochastic programming, and Monte Carlo simulation. Programs are implemented in a high-level programming language such as Python. Prerequisite: CS135 
CS308 - Theory of Computation An introduction to the theory of computation emphasizing formal languages, automata, and computability. Includes computational complexity and NP-completeness. Prerequisite: MA208.
CS337 - Algorithms and Data Structures Study of algorithms and data structures. Prerequisite: CS235 or consent of instructor
CS342 - Artificial Intelligence Introduction to the theory and practice of artificial intelligence. Topic areas selected from heuristic search techniques, knowledge representation, symbolic reasoning, fuzzy logic, planning, learning, natural language processing, expert systems, genetic programming, intelligent agents, swarm intelligence, and neural networks. Prerequisite: MA208 and CS337, or consent of instructor
IS321 - Systems Analysis and Design Advanced study of systems development and modification processes. Emphasis on strategies and techniques of analysis and design for modeling complex system requirements. Use of data modeling tools and object-oriented approaches to analysis and design. Emphasis on factors for effective communication and integration with users and user systems. Prerequisite: IS221 or consent of instructor
IS470 - Business Intelligence and Big Data An in-depth study of various aspects of data collection, data extraction, and knowledge discovery on the Web for e-business intelligence and other massive databases. Data mining is the process of automatic discovery of patterns, changes, associations and anomalies in massive databases. This course will provide an introduction to the main topics in data mining and knowledge discovery. Emphasis will be placed on the algorithmic and systems issues, as well as application of mining in real-world problems. Prerequisite: IS270 or consent of instructor
MA208 - Discrete Mathematics Introduces basic techniques of proof and combinatorial problem solving. Topics include graphs, trees, logic, applied combinatorics, and number theory. Prerequisite: completion of or concurrent enrollment in MA140
MA230 - Regression Analysis and Time Series This course is an introduction to major methods of applied statistics and time series. Topics include simple and multiple regression, analysis of variance and covariance, model specification and residual analysis, nonparametric inference, experimental design, and multivariate analysis. Introduces modeling time series data using smoothing techniques, regression and autoregressive models. Prerequisite: completion of or concurrent enrollment in MA140
MA313 - Numerical Analysis Iterative methods for approximating numerical solutions to systems of equations, polynomials, integral and differential equations. Includes matrix manipulation and error analysis. Prerequisite: MA240
MA420 - Mathematical Logic An introduction to mathematical logic and metamathematics. Includes predicate calculus, proof theory, formal axiomatic theories, consistency, completeness, and decidability. Prerequisite: MA208