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

""Exceptional students currently enrolled in an undergraduate degree program in the Department of Computer Science — B.S. in Computer Science (BSCS), B.A. in Computer Science (BACS), B.S. in Bioinformatics (BIOI), and B.S. in Digital Forensics (BSDF) — may apply for an accelerated path to the completion of an accompanying Master’s degree in the Department of Computer Science — the M.S. in Computer Science (MSCS), M.S. in Data Science (MSDS), or the M.S. in Cybersecurity (MSSec).

Certain pairings of undergraduate program and graduate program are more natural than others (e.g., BSCS with MSCS, BSDF with M.S. Cybersecurity). However, all pairings are possible. For some pairings, makeup courses will be required since the core requirements of the degree programs differ significantly. Details are provided below.

How it Works

To accelerate progress through a master’s degree in the Department of Computer Science, a limited number of graduate courses (up to 12 credit hours) may be counted as a Computer Science (CS) elective towards both the completion of the undergraduate degree and the graduate degree.

  • Admissions

    The ABM is for exceptional students. Acceptance into the program is typically at the end of junior year. Admission requirements include:

    • a minimum of 75 credit hours (36 of these credit hours must have been taken at UAB)
    • 3.5 (or higher) GPA in courses required by the student’s undergraduate CS degree
    • 3.5 (or higher ) overall UAB GPA
    • completion of the BS/BA course requirements, except for 400-level courses
    • completion of any necessary additional work (see the "Pairing of Programs" section)
    • recommendation of acceptance by the admissions committee

    Application deadlines are as follows:

    • Fall Admission: August 1 (first M.S. courses would be taken in Fall)
    • Spring Admission: December 1
    • Summer Admission: May 1

    For example, a typical application would be submitted before August 1 of the student’s junior year. The successful applicant would enter the ABM program in fall semester of that year, taking their first M.S. courses that fall semester. Please note, however, that students may enter the ABM program in any semester.

    Application materials to the Graduate School include the following (all are submitted as part of the Graduate School application, except for the plan of study):

    • ABM Form
    • application fee
    • essay
    • resume
    • plan of study (submitted directly to Prof. John Johnstone)

    As a student submits their application to the Graduate School, they must also send their ABM form to Mellissa Taylor (mellissataylor@uab.edu), who is managing ABM applications.

    Before applying to the Graduate School, the prospective ABM student should meet with Prof. Johnstone and their program directors (undergraduate and graduate — see checklist below). Students should also meet with a financial aid/scholarship advisor to determine the impact of ABM on their scholarships and/or aid.

    ABM Checklist

    Please use this checklist to help you decide whether to apply to the CS ABM program, and to prepare for submission of your ABM application.

  • Program Requirements

    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 further 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 undergraduate degree, they will continue to take additional course work to fulfill the graduate degree requirements. The M.S. degree will be awarded at the completion of those requirements.

  • Pairing of Programs: Additional Work

    Some pairings of undergraduate and graduate program require additional work, since the core of the undergraduate program does not fully prepare the student for the graduate program. Note that in many cases, these courses could be taken as undergraduate electives. You can read descriptions of these courses in the UAB Undergraduate Catalog.

    In the following, we will use these abbreviations:

    • BSCS — B.S. in Computer Science
    • BACS — B.A. in Computer Science
    • BSDF — B.S. in Digital Forensics
    • BIOI — B.S. in Bioinformatics
    • MSCS — M.S. in Computer Science
    • MSDS — M.S. in Data Science
    • MSSec — M.S. in Cybersecurity
    BSCS
    • BSCS + MSCS: no additional prerequisites
    • BSCS + MSDS: no additional prerequisites
    • BSCS + MSSec: no additional prerequisites
    BACS
    • BACS + MSCS: CS 332, CS 350, CS 401
    • BACS + MSDS: MA 126, MA 260, CS 355
    • BACS + MSSec: no additional prerequisites
    BSDF
    • BSDF + MSCS: MA 126, CS 303, CS 332, CS 350, CS 401, CS 420
    • BSDF + MSDS: MA 126, MA 260, CS 303, CS 355
    • BSDF + MSSec: no additional prerequisites
    BIOI
    • BIOI + MSCS: CS 332, CS 350, CS 401, CS420
    • BIOI + MSDS: MA 260, CS 355
    • BIOI + MSSec: CS 332
  • Approved List of Courses

    Note: Please see the "Courses by Program" section to learn how these courses can be shared with our graduate programs.

    • CS 522: Mobile Application Development
    • CS 537: Digital Media Forensics
    • CS 602: Compiler Design
    • 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
  • Courses Shareable by Graduate Program

    MSCS with Any Undergraduate Program

    All courses on the approved list are shareable. We recommend fulfilling some of your theory, systems, or applications core.

    Notes:

    • Additional 1xx/2xx/3xx coursework for the MSCS program must be completed before taking any shareable MSCS courses (see the "Pairing of Programs" section).
    • Additional 4xx coursework may be taken while taking shareable courses.
    • CS 410 must be taken before the core systems course CS 610.
    MSDS with Any Undergraduate Program

    All courses on the approved list are shareable. We recommend choosing at least one of the four core MSDS courses with the sharable courses.

    Notes:

    • Additional 1xx/2xx/3xx coursework for the MSDS program must be completed before taking any shareable MSDS courses (see the "Pairing of Programs" section); CS 355 is particularly foundational for MSDS.
    • Additional 4xx coursework may be taken while taking shareable courses.
    • CS 410 must be taken before the core MSDS course CS 610.
    MSSec with Any Undergraduate Program

    The following courses on the approved list are shareable as core MSSec courses or your approved three courses in cyber security.

    • CS 537: Digital Media Forensics
    • CS 623: Network Security
    • CS 643: Cloud Security
    • CS 645: Modern Cryptography
    • CS 646: Blockchain and Cryptocurrency
    • CS 689: Cyber Risk Management

    The following courses on the approved list are shareable for the two CS electives in the MSSec program. Please note that only two electives may be applied to the degree.

    • CS 602: Compiler Design
    • CS 610: Database Systems (CS 410 must be taken first)
    • CS 616: Big Data Programming
    • CS 620: Software Design and Integration
    • CS 621: Advanced Web Application Development
    • CS 630: Computer Architecture
    • CS 632: Parallel Computing
    • CS 633: Cloud Computing
    • CS 635: Network Programming
    • CS 646: Blockchain and Cryptocurrency
    • CS 652: Advanced Algorithms and Applications
    • CS 654: Malware Analysis
    • 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

    Notes:

    • Additional 3xx coursework for MSSec (if coming from BIOI) must be completed before taking any shareable MSSec courses (see the "Pairing of Programs" section).