Search

Minor in Computer Science

The following sections list the prerequisites and requirements for the Computer Science minor. View them in PDF format here.

Mathematics Prerequisites

Mathematics Competence may be established by completing one of the following course sequences:

  • MATH 121-2 (Calculus I-II)
  • MATH 101-2 (Introduction to Analysis I-II)

Required Courses

Students must complete at least 25 credits from the following list, subject to the following restrictions:

  • The requirements of each category must be fulfilled (Computer Programming, Theoretical Foundations, Computer Systems, and Advanced Electives).
  • Students who take CS 175 for the intro programming sequence will be required to take 9 credits of advanced electives.

Computer Programming (9-12 credits):

Complete one of the following introductory course sequences (must be completed with a C or better before admission to the program):

  • CS 171/172 (Computer Programming I/II)
  • CS 175 (Computer Programming I-II)
  • CS 140/143/171/172 (Intro Multimedia Programming/Computer Programming Fundamentals/Computer Programming I & II)
  • SE 101/102/103 (Fundamentals of Software Engineering I/II/III)
  • ECE 203 (Programming for Engineers) & ECEC 301 (Adv Programming for Engineers)

Complete the following advanced programming course:

  • CS 265 (Advanced Programming Tools and Techniques)

Theoretical Foundations (6 credits):

Complete the following two courses:

  • CS 260 (Data Structures)
  • CS 270 (Mathematical Foundations of Computer Science

Computer Systems (4 credits):

Complete one of the following architecture courses:

  • CS 281 (Systems Architecture I)
  • ECEC 355 (Computer Organization & Architecture)

Advanced Electives (at least 6 credits)

Complete two or more of the following courses* (does not need to be in the same subject area):

  • Algorithms/Theory:
    • CS 440 (Theory of Computation)
    • CS 457 (Data Structures and Algorithms I)
    • CS 458 (Data Structures and Algorithms II)
  • Artificial Intelligence:
    • CS 380 (Artificial Intelligence)
    • CS 383 (Machine Learning)
    • CS 385 (Evolutionary Computing)
    • CS 387 (Game AI Development)
    • CS 481 (Advanced Artificial Intelligence)
    • CS 485 (Special Topics in Artificial Intelligence)
  • Computer Game Design:
    • CS 345 (Computer Game Design & Dev)
    • CS 347 (Experimental Game Development)
    • CS 348 (Serious Game Development)
    • CS 387 (Game AI Development)
  • Computer Graphics/Vision:
    • CS 430 (Computer Graphics)
    • CS 431 (Adv Rendering Techniques)
    • CS 432 (Interactive Computer Graphics)
    • CS 435 (Computational Photography)
  • Computing Systems and Security:
    • CS 283 (Systems Programming)
    • CS 352 (Processor Arch & Analysis) 
    • CS 361 (Concurrent Programming)
    • CS 365 (System Administration)
    • CS 370 (Operating Systems)
    • CS 461 (Database Systems)
    • CS 472 (Computer Networks)
    • CS 475 (Computer & Network Security)
    • CS 476 (High Performance Computing)
  • Human Computer Interaction:
    • CS 337 (Human Computer Interaction)
    • CS 338 (Graphical User Interfaces)
  • Numeric and Symbolic Computation:
    • CS 300 (Applied Symbolic Computation)
    • MATH 300 (Numerical Analysis)
    • CS 303 (Alg Number Theory & Cryptography)
  • Programming Languages and Compilers:
    • CS 360 (Programming Language Concepts)
    • CS 440 (Theory of Computation)
    • CS 441 (Compiler Workshop I)
    • CS 442 (Compiler Workshop II)
  • Software Methodology (not available to Software Engineering students):
    • CS 350 (Software Design)
    • CS 451 (Software Engineering)

* Other courses may be approved by the Department for this purpose; contact your undergraduate advisor for more information.