Master Degree Program

The M.S. Program is designed to provide advanced study opportunities for individuals who:
  • Hold a bachelors degree in Computer Science and would like to advance their technical knowledge in the field and /or learn about research in Computer Science.
  • Hold a bachelors degree in another field and want to make a career transition to the computing field.
  • Currently work in the computing field and wish to obtain a graduate degree for career advancement.

The M.S. program consists of 36 hours and can be completed in four semesters by students entering with no background deficiencies. Thesis and non-thesis options are available. The M.S. student also has the option to add a specialization, in one of four different areas.

Students may transfer in up to 12 credit hours of approved courses. Approval for these courses is granted after acceptance. All UAB 500-level and 600-level courses are transferable.

Admission

Admission into the M.S. program is selective. An application package is considered in its entirety, but minimal requirements typically include:

  • GRE: 1100 or better on the quantitative plus verbal (Q+V) Graduate Record Examination (GRE)

  • TOEFL: for foreign students, 600 or better (paper exam) or 250 or better (computer exam) on the Test of English as a Foreign Language (TOEFL)

  • GPA: grade point average (GPA) of at least 3.0 (on a 4.0 scale) overall (or for the last 60 hours; preferably higher in computer science courses)

  • a clear statement of study plan, including specific graduate study objectives, and

  • a strong academic background in computer science and mathematics, including certain prerequisites.

Acceptance of students not meeting these criteria occurs only infrequently.

Note: pre-evaluation of students before formal application, beyond the above guidelines, is not available, since the application is considered as a whole.

Note: Faculty should NOT be contacted to inquire about available financial assistance or a student's potential for admission.

Exit Exam and Breadth Requirement

MFT exam

As of Fall 2005, all M.S. students must take an exit exam, the Major Field Test (MFT) in Computer Science, a product of Educational Testing Services (ETS) of Princeton, NJ. In order to graduate, the student must score at least 150 (exam scores range from 120 to 200), which is presently the national median. This exam will be offered once in fall semester and once in spring semester. (Note that there is no summer offering.)

As of Fall 2008, MS students will take this exam twice, the first time as they enter and the second time as they leave.  The requirement of scoring 150 is applied to the second exam only.  However, the score on the first exam will dictate when the second exam is taken, as follows:

1) the MFT exam is taken for the first time in the first semester at UAB

2) if you score 150 or better, your second MFT exam is taken in your last semester at UAB (unless this is summer, in which case you need to take in the spring semester)

3) if you score less than 150 in your first attempt, your second MFT exam is taken in your penultimate semester at UAB (unless this is spring, in which case you need to take in the fall semester).

Rule 3) allows you the chance to retake the exam again if you fail to get 150 or more.

The student should take this exam in his/her penultimate semester, which allows time to retake the exam if necessary.

Breadth requirement

As of Fall 2005, the M.S. program also has a breadth requirement. The courses in the department are divided into three areas (Applications, Systems and Theory), and every student must take at least one course in each area, with a grade of B or better. The course breakdown is as follows:

  • Applications: 61x, 64x, 66x, 67x

  • Systems: 60x, 62x, 63x and all 500 level courses

  • Theory: 650, 652, 653, and 680

As of Fall 2005, the M.S. program has a requirement that 24 credit hours must be taken at the 600 level.

Program of Study

A well-prepared student taking a full load (9 credit hours per semester) can complete this program in 4 semesters. There is no foreign language requirement.

All M.S. students must take 36 credit hours in order to graduate. The program is defined in terms of either of two Plans:

Plan I: Thirty (30) credit hours of CS courses and Thesis (6 hours)
Plan II: Thirty-six (36) credit hours of CS courses

Most students choose the Plan II option. Plan I requires a significant research component, which requires that the student be working closely with a faculty member on a research project.

Plan II students have the option to complete a specialization as part of their coursework (see below).

Note: CS510 cannot be taken for MS credit if CS610 has already been taken; similarly CS520 cannot be taken after CS620, and CS550 cannot be taken after CS650.

Specializations

Specializations are advanced study opportunities that allow focus on a particular area of computer science. Specializations fall under the Plan II option. With a specialization, students take 15 hours in the area of specialization (see each specialization below for details) and 21 hours of other computer science courses, for a total of 36 hours. We presently offer M.S. specializations in the following four areas:

  • Bioinformatics
  • Graphics
  • Parallel and Distributed Computing
  • Software Engineering
A certificate in Computer Forensics is also available. This certificate requires some extra courses in Justice Sciences.

Bioinformatics

This specialization is designed for individuals who are looking for a graduate program that provides the opportunity for a career change into the new high demand bioinformatics job market. It has the additional admission requirement of approved background in molecular biology.

Required Courses (6 s.h.)

  • CS640 Bioinformatics I
  • CS641 Bioinformatics II

Approved Electives (9 s.h.) (Courses which qualify have an optional bioinformatics term project or contain substantial bioinformatics content)

  • CS610 Database Systems
  • CS631 Distributed Computing
  • CS652 Analysis and Design of Algorithms
  • CS663 Knowledge Discovery and Data Mining
  • CS675 Computer Visualization
  • CS649 Bioinformatics Research

Faculty Contact: Tony Skjellum, Ph.D, tony@cis.uab.edu , 205-934-8657

 

Graphics

The increasing computational power and memory capacity of personal computers has made it possible to develop sophisticated graphics capabilities on relatively inexpensive machines. The demand for individuals who are skilled in developing computer graphics for customized applications is increasing. This demand is driven by the extremely broad range and variety of applications, which include three dimensional object recognition in robotics, reconstruction of a three dimensional objects from a set of two dimensional slices, high quality graphics for web sites, geometric modeling for animation and movie production, to name a few. This specialization is designed to prepare individuals for a career in this field.

Required Courses

  • CS670 Computer Graphics
  • CS671 Shape Design or CS672 Motion Design

Approved Electives (9 s.h.) (Select from the list below)

  • CS653 Computational Geometry
  • CS671 Shape Design
  • CS672 Motion Design
  • CS675 Computer Visualization
  • CS680 Numerical Computing Foundations
  • CS679 Graphics Research

Faculty Contact: Ken Sloan, Ph.D, sloan@cis.uab.edu , 205-934-2213

Parallel and Distributed Computing

Much of the software of the future will be developed to run on collection of parallel computers or clusters that are distributed across wide area networks. This mode of computing is often referred to as Grid Computing. Despite advances in software development knowledge, the design and development of large-scale systems, which are scalable, efficient, reliable and cost-effective, remains a major challenge. This is especially true of parallel and distributed systems because of their complexity. Computer professionals who have an understanding of these challenges and the skills to deal with them are in great demand today. This specialization is designed to prepare students for a career in parallel and distributed software and systems development.

Required Courses (6 s.h.)

  • CS630 Computer Architecture
  • CS535 Network and Distributed Systems Programming

Approved Electives (9 s.h.) (Select from the list below)

  • CS631 Distributed Computing
  • CS632 Parallel Computing
  • CS633 Grid Computing
  • CS639 Distributed Computing Research

Faculty Contact: Purushotham Bangalore, Ph.D., puri@cis.uab.edu, 205-934-8604

Software Engineering

Despite advances in software engineering knowledge, the design and development of large-scale systems, which are efficient, reliable and cost-effective, remains a major challenge.

This specialization involves the study of approaches that increase software productivity and quality by using novel software engineering and programming language techniques.

Computer professionals who have an understanding of the challenges of modern software systems construction and the skills to deal with them are in great demand today. This specialization is designed to prepare students for a career in software engineering.

Required Courses (6 s.h.)

  • CS 602 Compiler Design I
  • CS 620 Advanced Software Engineering

Approved Electives (9 s.h.) (Select from the list below)

  • CS 603 Compiler Design II
  • CS 622 Reflective and Adaptive Systems
  • CS 624 Formal Specification of Software Systems
  • CS 629 Software Engineering Research

Faculty Contact: Jeff Gray, Ph.D, gray@cis.uab.edu , 205-934-2213