Accelerated Bachelor's/Master's Program (ABM)

Exceptional students currently enrolled in the B.S. in Computer Science (BSCS) may apply for an accelerated path to the completion of the BSCS and M.S. in Computer Science (MSCS).

""How it Works

To accelerate progress through the MSCS, a limited number of MSCS courses (up to 12 credit hours) may be counted as a CS elective towards the completion of the BSCS degree and towards the completion of the MSCS degree.


The ABM is for exceptional students. Acceptance into the program is typically at the end of junior year. Before applying, the student must meet with their CS graduate program director, undergraduate advisor, and undergraduate program director to discuss program requirements. Students should also meet with a financial aid/scholarship advisor to determine the impact of ABM on their scholarships and/or aid.

Typical admission requirements include:

  • an average GPA of 3.5 in courses required by the BSCS;
  • an average GPA of 3.5 in all UAB courses;
  • a minimum of 75 credit hours (36 of these credit hours must have been taken at UAB);
  • completion of the BSCS course requirements, except for 400-level CS courses;
  • a personal statement including a study plan and specific graduate study objectives; and
  • two letters of recommendation.

Upon acceptance, a detailed plan of course study must be mapped out specific to each student. This plan must be agreed upon by all parties (student, CS graduate program director, CS undergraduate program director, and CS undergraduate advisor) and strictly adhered to guarantee their continued participation in the CS ABM.

Interested students should arrange a meeting with Dr. John Johnstone to determine your eligibility, and to prepare your application and plan of study.

Program Requirements

The student should arrange a meeting with their undergraduate and graduate advisors at the beginning of each semester to review their course selection and progress toward the two degrees. The student should adhere to the plan of study and maintain good status while in the CS ABM program. To maintain good status, the student must:

  • maintain a 3.5 GPA average in undergraduate CS courses,
  • receive a B (or better) in M.S. courses taken while still an undergraduate student, and
  • maintain full-time-student status at UAB (with exceptions for medical emergencies).

If any of the requirements are violated, the student will be withdrawn from the ABM program. If a student is withdrawn, they will retain credit for the courses already taken in the program but no credit sharing will be allowed even if later the student enrolls in a M.S. program in the Department of Computer Science.

Once the undergraduate student has completed all course requirements for graduation, their undergraduate degree will be awarded. Once the student graduates with the BSCS degree, they will continue to take additional course work to fulfill the MSCS degree requirements. The M.S. degree will be awarded at the completion of those requirements.


Up to 12 credit hours may be counted both towards the completion of the BSCS degree and the completion of the MSCS degree:

  • CS 522: Mobile Application Development
  • CS 602: Compiler Design
  • CS 604: Digital Media Forensics
  • CS 610: Database Systems
  • CS 615: Multimedia Databases
  • CS 616: Big Data Programming
  • CS 620: Software Design and Integration
  • CS 621: Advanced Web Application Development
  • CS 623: Network Security
  • CS 630: Computer Architecture
  • CS 632: Parallel Computing
  • CS 633: Cloud Computing
  • CS 635: Network Programming
  • CS 640: Foundations in Bioinformatics
  • CS 641: Algorithms in Bioinformatics
  • CS 643: Cloud Security
  • CS 645: Modern Cryptography
  • CS 646: Blockchain and Cryptocurrency
  • CS 650: Theory of Computation
  • CS 652: Advanced Algorithms and Applications
  • CS 654: Malware Analysis
  • CS 657: Penetration Testing and Vulnerability Assessment
  • CS 660: Artificial Intelligence
  • CS 662: Natural Language Processing
  • CS 663: Data Mining
  • CS 665: Deep Learning
  • CS 667: Machine Learning
  • CS 670: Computer Graphics
  • CS 671: Shape Design
  • CS 673: Computer Vision and Convolutional Neural Networks
  • CS 675: Data Visualization
  • CS 680: Matrix Algorithms for Data Science
  • CS 684: Robot Motion
  • CS 685: Foundations of Data Science
  • CS 686: Software-Defined Networking
  • CS 687: Complex Networks
  • CS 689: Cyber Risk Management