Graduate Program Prerequisites

The following UAB courses, or equivalent, are required of all applicants to the graduate program:

  • Introduction to Object-Oriented Programming (CS 201)
  • Discrete Structures (CS 250)
  • Object Oriented Design (CS 302)
  • Algorithms and Data Structures (CS 303)
  • Computer Organization and Assembly Language Programming (CS 330)

The following UAB courses are also required, any three of which may be taken at the 500-level and counted toward the M.S. program:

  • Automata and Formal Language Theory (CS 350 / 550)
  • Programming Languages (CS 405 / 505)
  • Software Engineering (CS 420 / 520)
  • Operating Systems (CS 433 / 533)

Mathematics background equivalent to differential and integral calculus (two terms of calculus), statistics, and linear algebra is required with mathematical logic, differential equations and advanced calculus highly recommended.