Computer Science

students with computer equipment

Computer science encompasses the theory and practice of algorithms, from rigorous mathematical procedures to the computer systems deployed by companies to manage inventory, develop products and answer billions of user requests per day. In addition to using mathematics to test algorithms’ applicability to problems, students will communicate the design and implementation of these algorithms to clients.

  • Learn about artificial intelligence, data science, networks and large-scale systems.
  • Develop the underlying software and hardware upon which the algorithms can be implemented.
  • Apply your knowledge in computer science to business, the arts, engineering, physical science or another discipline.

Click here to find the plan of study

  • StudentSpotlight

    “At first, when I came to Millikin, it was just about being involved in sports. Now it is being involved in a student business and having two internships,” Jake said. “Now, it is helping the Pi Mu Epsilon Honors Society and making an impact on campus

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

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