Explore UAB

M.S. in Computer Science (MSCS) Requirements

General Requirements

All MSCS students must take 30 credit hours in order to graduate. At least 21 credit hours must be 600-level coursework. Students will take at least four courses from a list of 600-level breadth requirements. A well-prepared student taking a full load (9 credit hours per Spring/Fall semester and 3-6 credit hours in the Summer semester) can complete this program in 1.5 years. The program is defined in terms of either of two plans:

  • Plan I: 24 credit hours of CS courses and six (6) credit hours of thesis research (CS 699: Master's Thesis Research).
  • Plan II: 30 credit hours of CS courses (courses only; does not require a thesis).

Most students choose the Plan II option. Plan I requires a significant research component and requires that the student work closely with a faculty member on a research project. This project should be begun early in the program.

Course descriptions are available in the UAB Graduate Catalog. Please note that CS 510: Database Application Development cannot be taken for M.S. credit if CS 610: Database Systems has already been taken; similarly, CS 520: Software Engineering cannot be taken after CS 620: Software Design and Integration, and CS 550: Automata and Formal Language Theory cannot be taken after CS 650: Theory of Computation. However, if CS 510, 520, or 550 are taken before 610, 620, or 650, respectively, the credit hours earned on both the 500- and 600-level courses will count toward the M.S. There is no foreign language requirement.

Required Courses

Students are required to take at least four (4) courses from the following lists and pick at least one (1) course from each of the three (3) areas.

PLEASE NOTE: No more than three 500-level courses (9 credit hours) can count toward the MSCS degree. At most, three (3) credit hours combined of special courses (CS 598: Practical Work Experience and/or CS 697: Directed Readings) can count towards the MSCS degree. Be aware that required courses may change; please consult the graduate program director at This email address is being protected from spambots. You need JavaScript enabled to view it. for specific requirements.

Theory

  • CS 645: Modern Cryptography
  • CS 652: Advanced Algorithms and Applications
  • CS 680: Matrix Algorithms for Data Science
  • CS 685: Foundations of Data Science

Systems

  • CS 532: Systems Programming
  • CS 610: Database Systems
  • CS 629: GPU Programming
  • CS 630: Computer Architecture
  • CS 632: Parallel Computing
  • CS 633: Cloud Computing
  • CS 643: Cloud Security

Applications

  • CS 623: Network Security
  • CS 635: Network Programming or CS 616: Big Data Programming
  • CS 646: Blockchain and Cryptocurrency
  • 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 or CS 673: Computer Vision & Conv Neu Net
  • CS 675: Data Visualization

Plan I (Thesis Option) Guidance

If you are interested in Plan I (Thesis Option) for your MSCS, you must maintain good academic standing and contact a faculty advisor who agrees to serve as your MS thesis advisor/mentor. Refer to Graduate School's thesis and dissertation page for the steps to completing your thesis, beginning with forming your committee.