

The following UAB computer science courses, or equivalent, are required of all applicants to the graduate program, and should be taken before applying to the MS or PhD 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 401 / 501)
- Software Engineering (CS 420 / 520)
- Operating Systems (CS 433 / 533)
Mathematics background equivalent to two terms of calculus (differential and integral calculus) is required. Linear algebra, statistics, differential equations and advanced calculus are highly recommended.