Students applying for the master's program are expected to have an undergraduate background in CS. Those students who do not have such a background must satisfy the breadth requirements described below.

Unconditional Admission

Students applying to the M.S. program will be given unconditional admission if they meet all the requirements of the School of Graduate Studies and of the Computer Science Department including the breadth requirements listed below.

Conditional Admission

Conditional admission will be recommended for students who, in the judgment of the department, have the potential for successfully completing graduate work but who do not meet all of the requirements for admission.

Degree Requirements and Restrictions

The Master of Science degree is conferred under Plan I or Plan II.

Breadth Requirements

Applicants to graduate programs in Computer Science must satisfy the following breadth requirements before admission to the program.

Mathematics
MA 171CALCULUS A4
MA 172CALCULUS B4
MA 244INTRO TO LINEAR ALGEBRA3
MA 385INTRO TO PROBABILITY & STATIST3
Computer Science
CS 121COMPUTER SCIENCE I 13
CS 221COMP SCI II: DATA STRUCTURES 13
CS 321INTRO OBJECT-ORIENTED PROG JAV 13
CS 214INTRO DISCRETE STRUCTURE3
CS 317INTRO DESIGN/ANALYSIS OF ALG3
CS 490INTRO TO OPERATING SYSTEMS3
CS 309COMPUTER ORG & SWTCHNG THRY3
CS 413INTRO DIGITAL COMP ARCHITECTUR3
Total Semester Hours38
1

An Introductory sequence covering Object-Oriented Programming and Data Structures in C/C++/Java.

The breadth requirements can be satisfied in one of the following ways:

  1. Completion of the course at UAH with a grade of B or better;

  2. Completion of an equivalent course at another institution with a grade of B or better;

  3. Testing out of the course, where permitted by departmental policy.

Consult a departmental advisor for additional information.

Transfer to Computer Science from Other UAH Graduate Programs

Students enrolled in other graduate programs at UAH who wish to obtain a degree in Computer Science should see a Computer Science advisor for evaluation. Such a student must fulfill the Computer Science breadth requirements. Taking CS graduate courses without first checking with a departmental advisor will not eliminate the need for completing the breadth requirements.

The Program of Study

A program of study should be completed as soon as the course content of the program has been selected. The plan must be made in consultation with an advisor from the Computer Science faculty. The student’s faculty advisor, Department Chair, and the Dean of the School of Graduate Studies approve the program of study. After approval, student requested changes must be agreed to by the student’s advisor and submitted for approval.

Teaching Areas

The Computer Science Department offers an exceptionally broad spectrum of courses. For convenience, they are listed below by category. The teaching areas include software engineering, computer graphics and image processing, data and information technology, computer architecture and networking, artificial intelligence, languages and systems, and theoretical computer science. There is no requirement to stay within a particular area, and students may freely select from any of the areas when preparing the program of study with an advisor.

Software Engineering

Software engineering is a study of the process of large-scale software development. It includes a study of the phases of software development with emphasis on tools and practices for good software development. Any student who completes CS 650 two courses from (CS 553, CS 652, CS 655, CS 656), one statistics course from (ISE 601, ISE 690), one management course from (MGT 601, MGT 622), and CS 585 will receive the software engineering certificate. The courses in this area include:

CS 553CLIENT/SERVER ARCHITECTURES3
CS 650SOFT'W ENGINEERING PROC3
CS 652OBJECT-ORIENTED DESIGN3
CS 655FORMAL METHODS IN SOFTWARE ENG3
CS 656SOFTWARE TESTING3

Computer Graphics and Image Processing

The creation of computer-generated graphic animations and photo-realistic images has a growing number of exciting and important applications. The inverse problem - the processing and extraction of information from visual and other patterns - also has many industrial, military, and space applications. Courses in this emphasis area include a sequence in computer graphics and a sequence in the theory, computational algorithms, and architecture for the design and development of pattern recognition and vision systems.

CS 545INTRO COMPUTER GRAPHICS3
CS 546ADVANCED COMPUTER GRAPHICS3
CS 548HUMAN-COMPUTER INTERACTION3
CS 640AUTOMATIC PATTERN RECOGN3
CS 642COMP PROC/DIGITAL IMAGES3
CS 646COMPUTER GEOMETRY MODELING3
CS 742IMAGE PROC ALGO/ARCHITEC3

Data and Information Technology

As the amount of information and data used by organizations rapidly increases, the need for techniques to manage, retrieve, process, and protect this geographically distributed data becomes critical. For very large data collections, these techniques must include methods to help users discover and select relevant data from the mass of available data. The data and information technology area focuses on the technology required to utilize effectively this rapidly growing volume of data and information. The courses in this area include the following:

CS 581MODELING & SIMULATION I3
CS 585INTRO TO COMPUTER SECURITY3
CS 543INTRO TO MULTIMEDIA SYSTEMS3
CS 685COMPUTER SECURITY3
CS 582MODELING & SIMULATION II3
CS 687DATA BASE SYSTEMS3
CS 643MULTIMEDIA SYSTEMS3

Cybersecurity

The MSCBS degree is a unique, interdisciplinary program involving three colleges: Business Administration, Engineering, and Science. The program prepares graduates with the skills to secure and defend networks, recover from security failures, use computer forensics, and manage data security -- leading to careers in the fast growing field of information security. The Computer Science track involves developing, documenting and maintaining secure coding practices for scripts and applications. Also the design aspects of networks ensuring a risk mitigated network in relation to confidentiality, integrity and the availability of data and devices are included. A student must complete five core courses (IS 660, IS 663, CPE 549, CS 585 and CPE/CS/IS 692 (capstone course)), two courses from (CS 565, CS 570, and CS 685) and 9 hours of elective courses approved by the department to earn the MSCBS degree in the computer science track.  The courses in this area include the following:

CS 553CLIENT/SERVER ARCHITECTURES3
CS 565NETWORK SECURITY3
CS 570INTRO TO COMPUTER NETWORKS3
CS 585INTRO TO COMPUTER SECURITY3
CS 670COMPUTER NETWORKS3
CS 685COMPUTER SECURITY3

Computer Architecture and Networking

The courses offered in the area of computer architecture cover the organization, architecture and design of digital computer systems from high-level conceptual design to gate level implementation. The main concentration areas are: logic design and digital computer hardware design; parallel computer architectures; distributed processing; and networks. Courses in this area include:

CS 570INTRO TO COMPUTER NETWORKS3
CS 553CLIENT/SERVER ARCHITECTURES3
CS 670COMPUTER NETWORKS3
CS 613COMPUTER ARCHITECTURES3

Plan I – Master of Science with Thesis

A minimum of 24 semester hours of coursework and the writing of an acceptable thesis is required. At least six semester hours of thesis credit (CS 699) must be earned. A student must present his/her thesis and pass an oral examination based on the thesis and related coursework. Plan I students must register for CS 699 each term they receive supervision from their advisor.

Plan II – Master of Science without Thesis

A minimum of 33 semester hours of coursework is required. A student must pass a written comprehensive examination over three core courses as described below. Plan II students must complete at least 18 semester hours of coursework before taking the written comprehensive examination. The examination may only be taken twice.

The following requirements and restriction apply to a student in either plan. 

Course Requirements

All M.S. students must take three core courses from the options below:

CS 617DES & ANALY OF ALGORITHM3
CS 613COMPUTER ARCHITECTURES3
or CS 690 ADVANCED OPERATING SYSTEMS
CS 650SOFT'W ENGINEERING PROC3
or CS 687 DATA BASE SYSTEMS
Total Semester Hours9

Additional Information

If a student has not had an undergraduate course in programming languages, CS 524 must be included in the program of study. No more than 50% of the semester hours in the program of study may be 500-level courses. No more than three semester hours of selected topics or independent study courses may be included in a program of study. Exceptions must be recommended by the student’s advisor and approved by the department chair.

Grade Requirements

A grade of B or better must be earned in each of the core courses. No grade lower than C can be counted toward a graduate degree. A 3.0 average must be maintained in all graduate work at UAH and in all work to be counted toward the degree.

Time Limit

The degree must be completed within six years. Courses older than six years may be validated according to Graduate School policy. Courses older than ten years may not be applied to the degree.

Transfer Credit

Graduate work may be transferred from another institution according to Graduate School policy.