Program Highlights

Computer Science Major Requirements

The computer science major provides the opportunity for students to develop skills in writing algorithms to solve problems across academic disciplines; to design and write software in a variety of languages; to understand the fundamental concepts and issues in data structures, systems administration, operating system design, web programming, networking, computer graphics, and artificial intelligence; and to develop the ability to communicate their knowledge effectively.

This program prepares majors for postgraduate study in computer science and for entry-level positions as computer professionals in the industry. Students planning to major in computer science may earn either a B.A. or B.S. degree. A computer science major should plan to enroll in Computer Science 135 or a higher course during their first semester at Millikin. Placement in the proper computer science course will be determined in consultation with the faculty advisor based on the student’s previous record in computer science.

To complete a major in computer science, students must successfully complete the following course of study.

  • CS135 - Introduction to Computer Science
  • CS208 - Discrete Mathematics for Computer Science
  • CS235 - Introduction to Data Science
  • CS300 - Advanced Discrete Mathematics
  • CS308 - Theory of Computing
  • CS337 - Algorithms and Data Structures
  • CS499 - Senior Seminar
  • IS221 - Programming Fundamentals
  • IS240 - Foundations of Information Systems
  • IS311 - IT Infrastructure
  • IS321 - Systems Analysis and Design
  • IS370 - Database Application and Development
  • MA140 - Calculus I
  • MA240 - Calculus II
  • MA303 - Linear Algebra

Two electives taken from

  • CS342 - Artificial Intelligence
  • CS460 - Topics in Computer Science
  • CS491 - Independent Study in Computer Science
  • IS322 - Web/Mobile Application Development
  • IS470 - Business Intelligence and Big Data
  • MA313 - Numerical Analysis

Minor in Computer Science

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. To receive a minor in computer science a student must successfully complete the following course of study.

  • CS135 - Introduction to Computer Science
  • CS208 - Discrete Mathematics
  • CS235 - Introduction to Data Science
  • CS308 - Theory of Computation
  • CS337 - Algorithms and Data Structures

Two additional courses, one of which must bear a CS or IS prefix, selected from

  • CS300 - Advanced Discrete Mathematics
  • CS342 - Artificial Intelligence
  • IS221 - Programming Fundamentals
  • IS321 - Systems Analysis and Design
  • IS470 - Business Intelligence and Big Data
  • MA420 - Mathematical Logic

Mathematics majors with a Data Science emphasis may not earn a Computer Science Minor.

Plan of Study

Computer Science 8 Semester Plan

Computer Science Courses

CS135 - Introduction to Computer Science 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
CS208 - Discrete Mathematics for Computer Science Introduces essential discrete mathematics for computer science.  Topics include sets, logic, functions, relations, sequences, matrices, discrete probability, graphs, applied number theory, and algorithm analysis.
CS235 - Introduction to Data Science 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
CS300 - Advanced Discrete Mathematics An examination of discrete mathematics topics of particular relevance to computer scientists. Includes computational complexity, cryptography, discrete probability, graphs, trees, networks, petri nets, Boolean algebra and combinatorial circuits, data representation, and instruction set architectures. Prerequisite: MA208
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
CS360 - Topics in Computer Science Elective topics in computer science. Examples include natural language processing, human-computer interaction, mobile computing, embedded computing, neural networks, crypto-currency, game design, programming languages, and cryptography.
CS491 - Independent Study in Computer Science In depth study of a particular area or topic in computer science.
CS499 - Senior Seminar Students will design, implement, and test a substantial computer solution for a third-party stakeholder.  Grading will include periodic progress reports, evaluations by instructor and the stakeholder(s), and a final presentation.