Computer Science

Home Department: Computer Science

Department Head:

John G. Geske, 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 on the subject of computation and information representation, both 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. Technical and free electives give students the opportunity to take advanced courses in areas of computer science such as information retrieval, computer graphics, cryptography, computer and network security, and artificial intelligence; students may elect to concentrate their studies in computer gaming, or cybersecurity; students can easily obtain minors in diverse fields such as applied mathematics, applied physics, computer engineering, and literature.

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 is expected to put together a coherent program of study that supports 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.

Computer Science Program Curriculum Requirements

First Year Experience
General Education
CILE-101First Year Foundations1
COMM-101Written & Oral Communication I4
COMM-301Written & Oral Communication II4
ECON-201Economic Principles4
LS-201Sophomore Seminar: Exploring the Human Condition4
LS-489Senior Seminar: Leadership, Ethics, and Contemporary Issues4
Advanced Humanities Elective4
Advanced Comm, Humanities or Social Science Elective4
Advanced Social Science Elective4
Liberal Studies Electives8
Credit Hours Subtotal: 41
Basic Science
Science Electives16
Credit Hours Subtotal: 16
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-210Digital Systems I4
CE-320Microcomputers I4
Credit Hours Subtotal: 8
MATH-101Calculus I4
or MATH-101X Calculus I
Select one of the following:4
Calculus II
Calculus II
Calculus II - Honors
Mathematics Electives12
Credit Hours Subtotal: 20
Free Electives16
Credit Hours Subtotal: 16
Culminating Undergraduate Experience
CILE-400Culminating Undergraduate Experience: Thesis 14
Total Credit Hours161

(Minimum) Total Credits Required for Program: 161


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 either the Computer Gaming or Cybersecurity concentrations should contact Professor John Geske, Department Head of Computer Science.

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-385Introduction to Game Design4
CS-420Introduction to Virtual 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-455Computer and Network Security4
CS-457Wireless and Mobile Security4
CS-458Computer and Network Forensics4

Representative Program

Plan of Study Grid
Freshman ICredit Hours
CILE-101 First Year Foundations 1
COMM-101 Written & Oral Communication I 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 Digital Systems I 4
CS-231 Programming Language Paradigms 4
Advanced Liberal Studies Elective 4
Science Elective 1 4
 Credit Hours16
Junior I
CE-320 Microcomputers I 4
COMM-301 Written & Oral Communication II 4
CS-300 The Computing Professional 4
CS Technical Elective 2 4
 Credit Hours16
Junior II
CS-351 Cloud Computing 4
Advanced Humanities or Advanced Social Science Elective 4
CS Technical Elective 2 4
Free Elective 4
Mathematics Elective 4
 Credit Hours20
Senior I
CS-312 Theory of Computation 4
Advanced Humanities or Advanced Social Science Elective 4
CS Technical Elective 2 4
Free Electives 8
 Credit Hours20
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
Mathematics Elelctive 4
 Credit Hours20
Senior III
CS-451 Operating Systems 4
Liberal Studies Electives 8
Science Elective 1 4
 Credit Hours16
Any Term
CILE-400 Culminating Undergraduate Experience: Thesis 4
 Credit Hours4
 Total Credit Hours161

(Minimum) Total Credits Required for Program: 161


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.