Academic Catalog

Computer Science

Students in classroom working on laptops

Home Department: Computer Science

Department Head:

Michael Farmer, Ph.D.
Room 2-300 AB, 810-762-7963

Program Overview

Computer Science touches virtually every aspect of human endeavor. Its impact on society is seen in the proliferation of computers, information systems, game systems, web browsers, search engines, computerization  and automation of automobiles, and all the wonderful application programs that have been developed to make computers more productive and easier to use. An important aspect of the field deals with how to make programming easier, software more reliable, and the processing and retrieval of information more accessible, but fundamentally, computer science is a science of abstraction - creating the correct models for real-world problems that can be represented and manipulated inside a computer.

Computer scientists are experts in solving complex problems.  They use the tools of computation and information representation to devise novel and innovative solutions to these problems.  Through this program students learn these tools in terms of the theory of the fundamental capabilities and limitations of computation, as well as how computation can be practically realized and applied. A computer scientist understands how to design and analyze algorithms that apply computation effectively, and how to represent, store, and retrieve information efficiently, and how to design software systems to solve complex problems.

The program for Computer Science majors is broad and rigorous; students are required to have a solid foundation in computer software, hardware, and theory. Yet, the program is structured in a way that supports in-depth study of areas in and outside the computing field. Numerous technical and free electives give students the opportunity to tailor the degree to their unique interests.  Students may opt to take a Concentration in Computer Gaming, Cybersecurity or Artificial Intelligence by selecting groups of elective courses within these domains.   Additionally students can easily obtain minors in diverse fields such as Computer Engineering, Electrical Engineering, Innovation and Entrepreneurship, and Economics.

A wide variety of exciting professional and academic opportunities exist for graduates of computer science including Software Engineering, Internet Systems and Technology, Security, Hardware Development, Information Systems, Biotechnology, Business, and Consulting, as well as masters and doctoral studies in computing related fields. With the aid of a Computer Science faculty advisor, the computer science student develops a coherent program of study that uniquely supports their career objectives and is true to the aims of a liberal education.

The program in Computer Science is accredited by the Computing Accreditation Commission of ABET.  

Computer Science vs. Computer Engineering

Historically, the discipline of computer science draws its roots from two separate disciplines.

  • Electrical Engineering:  the development of devices that depend on electricity and magnetism.
  • Mathematics:  the study of the properties and interactions of idealized objects, such as numbers and symbols.

Computer science lies at the intersection of these two disciplines.  It is the study of a particular class of electrical devices (i.e. computers) which can perform mathematical, logical operations (i.e. software).

The computer engineering and computer science programs have a common core of classes.  Students in both programs study programming, the design of digital systems, computer architecture, and operating systems, as well as a solid foundation in mathematics, science, and general education.

The computer engineering program emphasizes the design and development of physical computer systems.  In addition to a common engineering core, students in computer engineering study topics such as the analysis of electrical circuits, and electronics, with an emphasis on electrical and digital design.

The computer science program emphasizes the design and development of software systems.  Students in computer science study topics such as algorithms and data structures, software engineering, compiler design, database systems, artificial intelligence, and the theoretical foundations of computation.

Both programs prepare students for work in the computer industry, though with emphasis on different areas.  Students should select the program which fits their skills and interests best. Both programs offer minors, so students may take additional courses in these areas and have it designated on their transcript.

Program Educational Objectives

  1. Computer Science graduates will have sufficient depth of understanding of the fundamental areas of computer science to enable them for success in today’s workplace.
  2. Computer Science graduates will have sufficient breadth of understanding to enable continued professional development and lifelong learning throughout their careers.
  3. Computer Science graduates will have sufficient teamwork, communication, and interpersonal skills to enable them to work with others effectively in their professional careers.
  4. Computer Science graduates will be sufficiently prepared to be innovative and ethical leaders in a global society.


Undergraduate students also have an opportunity to get their bachelor's and master's degrees in five years with the BS/MASTERS Pathway

Computer Science Program Curriculum Requirements

First Year Experience
CILE-101First Year Foundations1
General Education
COMM-101Rhetoric & Writing4
ECON-201Economic Principles4
LA-201Sophomore Seminar: Exploring the Human Condition4
LA-489Sr. Seminar:Leadership, Ethics4
Advanced Humanities Electives 18
Advanced Social Science Electives 18
Total Credit Hours33

Humanities and Social Science advanced electives must be selected from approved 300 and 400 level courses.

Basic Science
Science Electives8
Credit Hours Subtotal: 8
Computer Science
CS-101Computing & Algorithms I4
CS-102Computing & Algorithms II4
CS-203Computing & Algorithms III4
CS-211Discrete Mathematics4
CS-231Programming Language Paradigms4
CS-300The Computing Professional4
CS-312Theory of Computation4
CS-351Cloud Computing4
CS-451Operating Systems4
CS-471Software Engineering4
Computer Science Technical Electives16
Credit Hours Subtotal: 56
Computer Engineering
CE-210Intro to Digital Systems Design4
CE-320Intro to Microcomputers4
Credit Hours Subtotal: 8
MATH-101Calculus I4
or MATH-101X Calculus I
MATH-102Calculus II4
or MATH-102X Calculus II
or MATH-102H Calculus II - Honors
Mathematics Electives8
Credit Hours Subtotal: 16
Free Electives16
Credit Hours Subtotal: 16
Culminating Undergraduate Experience
CILE-400Culminating Undergraduate Experience: Thesis 14
Total Credit Hours108

(Minimum) Total Credits Required for Program: 141


Students are automatically registered for CILE-400 in a co-op term when they reach Junior II status. 


The Computer Science concentrations provide students with a technical depth of study in an emerging area of interest.  The student’s degree remains in Computer Science, and this concentration does not prevent students from working within any government or industry position in the computer science arena.  Students interested in the Computer Gaming, Cybersecurity or Artificial Intelligence concentrations should contact Dr. Michael Farmer, Department Head of Computer Science.

Artificial Intelligence

Students majoring in Computer Science may select a concentration in Artificial Intelligence consisting of the following 16 credit hours of Computer Science technical electives as listed below.

CS-481Artificial Intelligence4
CS-482Machine Learning4
Select Two of the following (At least one must be from CS)8
Foundations of Data Science
Information Retrieval and Data Mining
Algorithms for Deep Learning
Mobile Robotics
Artificial Intelligence for Autonomous Driving
Computer Vision for Autonomous Driving
Industrial Robotics
Data Analytics

Computer Gaming

Students majoring in Computer Science may select a concentration in Computer Gaming consisting of the following 16 credit hours of Computer Science technical electives as listed below.

Required Courses
CS-320Computer Graphics4
CS-385Elements of Game Design4
CS-420Virtual Reality4
CS-485Advanced Game Development4


Students majoring in Computer Science may select a concentration in Cybersecurity consisting of the following 16 credit hours of Computer Science technical electives as listed below.

Required Courses
CS-355Introduction to Cybersecurity4
Select three courses:12
Ethical Hacking
Wireless and Mobile Security
Digital Forensics

Representative Program

Plan of Study Grid
Freshman ICredit Hours
CILE-101 First Year Foundations 1
COMM-101 Rhetoric & Writing 4
CS-101 Computing & Algorithms I 4
MATH-101 Calculus I 4
Science Elective 1 4
 Credit Hours17
Freshman II
CS-102 Computing & Algorithms II 4
CS-211 Discrete Mathematics 4
MATH-102 Calculus II 4
ECON-201 Economic Principles 4
 Credit Hours16
Sophomore I
CS-203 Computing & Algorithms III 4
LS-201 Sophomore Seminar: Exploring the Human Condition 4
Mathematics Elective 4
Science Elective 1 4
 Credit Hours16
Sophomore II
CE-210 Intro to Digital Systems Design 4
CS-231 Programming Language Paradigms 4
Free Elective 4
Advanced Communications Elective 4
 Credit Hours16
Junior I
CE-320 Intro to Microcomputers 4
CS-300 The Computing Professional 4
CS Technical Elective 2 4
Advanced Comm/Hum/SSci Elective 4
 Credit Hours16
Junior II
CS-351 Cloud Computing 4
Advanced Humanities Elective 4
CS Technical Elective 2 4
Mathematics Elective 4
 Credit Hours16
Senior I
CS-312 Theory of Computation 4
Advanced Social Sci Elective 4
CS Technical Elective 2 4
Free Electives 4
 Credit Hours16
Senior II
CS-471 Software Engineering 4
LS-489 Senior Seminar: Leadership, Ethics, and Contemporary Issues 4
CS Technical Elective 2 4
Free Elective 4
 Credit Hours16
Senior III
CS-451 Operating Systems 4
Free Elective 4
 Credit Hours8
Any Term
CILE-400 Culminating Undergraduate Experience: Thesis 4
 Credit Hours4
 Total Credit Hours141

(Minimum) Total Credits Required for Program: 141


Must include two courses (8 credits) with a laboratory component. 


A list of approved technical electives is available from the department and listed on the department web-site.