http://www.cs.uah.edu/

300 Technology Hall
Telephone: 256.824.6088
Email: info@cs.uah.edu

Chair: Heggere S. Ranganath, Professor


The Computer Science department offers the following graduate degree programs:

  • Master of Science in Computer Science
  • Master of Science in Software Engineering
  • Doctor of Philosophy in Computer Science

The Computer Science department offers the following certificate programs:

  • Software Engineering

Admission Requirements

Requirements for admission to the computer science graduate degree program are in addition to those of the School of Graduate Studies. Scores from the GRE basic test are required for admission to the program. Transcripts will be reviewed and deficiencies in computer science background may result in the need to take one or more broadening courses. The MAT or GMAT is not an acceptable substitute for the GRE.  

Requirements for admission to a graduate certificate program are the same as requirements for admission to the Computer Science M.S. program. Students must also satisfy the breadth requirements described below. Students in a certificate program are required to maintain a 3.0 GPA.

Students applying for the master’s program are expected to have an undergraduate background in Computer Science. Those students who do not have such a background must satisfy the breadth requirements described below. In particular, students who have not had an undergraduate course in programming languages must take CS 424 or CS 524 as a prerequisite to the MSSE program.

The admission policies for the Ph.D. program in computer science follow the general policies of the School of Graduate Studies and Computer Science Department as described above. An applicant’s admission request will be reviewed in light of preparatory coursework, GRE scores, any supporting information, and general expectation of completing the degree. Students requiring a large amount of prerequisite coursework will not normally be admitted to the program until the courses have been completed. Graduate admission requests for the Ph.D. program will be reviewed once per semester by a departmental admissions committee. Applicants are required to submit supporting recommendation letters and an indication of research interests and study plans. Specific requirements are available from the Computer Science Department office. Requests for admission will be evaluated according to the following guidelines.

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.

Unconditional admission to the Ph.D. program will be given to applicants who meet all of the requirements of the School of Graduate Studies and Computer Science Department. Students showing exceptional promise who desire to pursue the Ph.D. full-time may be admitted to the program after completing a bachelor’s degree in Computer Science.

Conditional Admission

Conditional admission will be recommended for applicants who do not meet all of the requirements of the School of Graduate Studies and the Computer Science Department, but show high potential for completing the degree requirements.

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.


Program Objective

The objective of the Computer Science program is to prepare students to become contributors to the computer science profession, whether they find themselves in industrial, government, research, or university environments. Our second objective is to enable students to demonstrate leadership capabilities and work effectively with others of varying backgrounds in team environments.

Learning Outcomes

Students will demonstrate:

  • Advanced knowledge of computer systems
  • Proficient development and usage of software systems and development tools
  • Ability to develop solutions based on advanced algorithmic principles

Master's Programs in Computer Science


Degree Requirements and Restrictions

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

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.

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. The design aspects of networks ensuring a risk mitigated network in relation to confidentiality, integrity, and the availability of data and devices are also 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 elective courses in this area include the following:

CS 553CLIENT/SERVER ARCHITECTURES3
CS 565NETWORK SECURITY3
CS 570INTRO TO COMPUTER NETWORKS3
CS 580MOBILE DIGITAL FORENSICS3
CS 585INTRO TO COMPUTER SECURITY3
CS 670COMPUTER NETWORKS3
CS 685COMPUTER SECURITY3
Other Elective Courses may be taken with Departmental Approval

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
CS 545INTRO COMPUTER GRAPHICS3
CS 546ADVANCED COMPUTER GRAPHICS3
CS 548HUMAN-COMPUTER INTERACTION3
CS 640MACHINE LEARNING3
CS 642COMP PROC/DIGITAL IMAGES3

Master of Science in Software Engineering

Overview Non-thesis Option:
  1. Complete 12 hours of core courses including one course in systems architecture
  2. Complete 3 hours in cyber security (CS or CPE)
  3. Complete 6 hours in one concentration
  4. Complete 3 hours capstone
  5. Complete 6 hours of electives (must include CS 524 if no prior course in program languages have been taken)
  6. Total of 30 hours
Overview Thesis Option:
  1. Complete 12 hours of core courses including one course in systems architecture
  2. Complete 3 hours in cyber security (CS or CPE)
  3. Complete 6 hours in one concentration
  4. Complete 6 hours CS 699 or CPE 699
  5. Complete 3 hours of electives (must include CS 524 if no prior course in program languages have been taken)
  6. Total of 30 hours

Course Requirements

Core Courses
CS 617DES & ANALY OF ALGORITHM3
CS 650SOFT'W ENGINEERING PROC3
CS 652OBJECT-ORIENTED DESIGN3
Required Courses
CS 613COMPUTER ARCHITECTURES3
or CS 690 ADVANCED OPERATING SYSTEMS
or CPE 536 INTERNALS OF MODERN OPER SYS
or CPE 631 ADV COMP SYSTEMS ARCHITECTURE
CPE 549INTRO TO CYBERSECURITY ENGINRG3
or CS 585 INTRO TO COMPUTER SECURITY
or CS 685 COMPUTER SECURITY
Concentration Area - Pick two courses within any one concentration6
Big Data and Data Mining
INTRO TO CLOUD COMPUTING
SELECTED TOPICS IN CS (ST: BIG DATA ANALYTICS)
SELECTED TOPICS IN CS (ST: MACHINE LEARNING)
SELECTED TOPICS IN CS (ST: DATA VISUALIZATION)
DATA MINING
Project Management (ISE 690 Required)
ENGR MGMT THEORY
TECH & INNOVATION MGMT
NEW PRODUCT DEVELOPMENT
STATISTICAL METHODS FOR ENGR
Parallel Programming
INTRO PARALLEL PROGRAMMING
PARALLEL ALGORITHMS
GEN PURPOSE GPU COMPUTING
Embedded Systems
REAL TIME & EMBEDED SYSTEMS
HARDWARE/SOFTWARE CO-DESIGN
ADVANCED EMBEDDED SYSTEMS
Advanced Cybersecurity
ADV CYBERSECURITY ENGINEERING
COMPUTER NETWORK SECURITY
COMPUTER FORENSICS
Non-Thesis and Thesis Options:9
Non-Thesis Option
Capstone (3 hours)
SOFTWARE ENGRG STUDIO I
Electives (6 hours)
PROGRAMMING LANGUAGES (If no prior course in Programming Languages has been completed)
Thesis Option
MASTER'S THESIS (6 hours)
MASTER'S THESIS
Elective (3 hours)
PROGRAMMING LANGUAGES (If no prior course in Programming Languages has been completed)
Total Semester Hours30
Note:  There will be NO comprehensive examination for either CS or CPE students

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.

Doctoral Program in Computer Science


Degree Requirements

The general requirements for the Ph.D. degree comply with those of the School of Graduate Studies. The requirements include a preliminary examination, completion of coursework, a Qualifying Examination, completion of significant research documented in a dissertation, and the dissertation defense.

Major/Minor Subjects

A minimum of 54 semester hours of graduate course credit plus a minimum of 18 dissertation semester hours is required for the Ph.D. in Computer Science. The program of study will be approved by the student’s Supervisory Committee. Coursework grade requirements are the same as for the M.S. degree. Coursework taken as part of a graduate degree program at another institution may be applied to the degree with permission of the student’s Supervisory Committee. At least 9 semester hours of graduate level mathematics or statistics must also be included in the program.

The program must include:

CS 524PROGRAMMING LANGUAGES3
CS 603FORMAL LANG/AUTOMAT THRY3
CS 613COMPUTER ARCHITECTURES3
CS 617DES & ANALY OF ALGORITHM3
CS 650SOFT'W ENGINEERING PROC3
CS 690ADVANCED OPERATING SYSTEMS3
Total Semester Hours18

It also must have a coherent area of emphasis, of which at least 6 semester hours must be at the 700 level.

Additional Information

Preliminary Examination

Ph.D. students will be required to take a preliminary examination, consisting of:

  1. a written test covering fundamental concepts in Computer Science, and
  2. an evaluation by the graduate faculty of the student’s overall academic potential.

The examination must be taken within a year after admission to the Ph.D. program, or at the earliest opportunity upon completion of the core coursework. Successful completion of the examination will provide evidence of the student’s ability to continue in pursuit of the Ph.D. degree. The examination can be taken no more than twice.

Admission to Candidacy

To be admitted to candidacy for the Ph.D. degree, students must first pass the Qualifying Examination. The Qualifying Examination can cover any aspect of the student’s program and is taken after completion of the student’s coursework and upon recommendation of the student’s Supervisory Committee. It is designed to test students’ fitness for pursuing research projects in their chosen areas and to test their general knowledge of Computer Science. As part of the Qualifying Examination, each student will present a research proposal to the Supervisory Committee.

Ph.D. Residency Requirements

According to graduate school policy, residence may be established through either:

  1. being enrolled as a full-time student (at least 9 graduate semester hours) either for one continuous academic year, or for Spring and Fall semesters in the same calendar year, or
  2. being enrolled in at least 6 semester hours of graduate course work in at least three of four consecutive semesters.

Other Requirements for the Ph.D. Degree

  • The program must be completed within five years after admission to candidacy.
  • The Qualifying Examination may be taken no more than twice.
  • CS 799 is required each semester a student is receiving direction on the doctoral dissertation.

For additional requirements, consult the Academic Information Section of this Graduate Catalog.

Dissertation

The research described in the dissertation must be accepted for publication in an approved journal or three conference proceedings prior to defense of the dissertation. A public defense of the dissertation is required.

Certificates in Computer Science


Software Engineering Certificate

The Software Engineering Program is designed for those students who want to broaden their knowledge in this area, but do not necessarily desire to pursue a graduate degree in Computer Science.

CS 650SOFT'W ENGINEERING PROC3
CS 585INTRO TO COMPUTER SECURITY3
ISE 690STATISTICAL METHODS FOR ENGR3
Select 2 courses from the following:6
CLIENT/SERVER ARCHITECTURES
OBJECT-ORIENTED DESIGN
FORMAL METHODS IN SOFTWARE ENG
SOFTWARE TESTING
Select 1 course from the following:3
TECH & INNOVATION MGMT
MGT TECHNI PROFESSIONALS
Total Semester Hours18

Students desiring to complete the certificate program should have either industrial experience in software development or have undergraduate courses in software development. Students pursuing an MSSE degree are not eligible for the Software Engineering Certificate.

CS 503 - UNIX & C PROGRAMMING/A&M

Semester Hours: 3

CS 513 - INTRO TO COMP ARCHITECT

Semester Hours: 3

Review of combinational and sequential logic design, register transfer concept, logic design of memory, arithmetic unit, control unit, and I/O system of simple computer. Review of Machine and Assembler language programming. Architectural trade-offs.

CS 517 - DATA ORG ANALYSIS OF ALGORIT

Semester Hours: 3

Review of basic data structures such as stacks, queues, lists, B-Trees, and binary trees. Overview of file structures and access methods. Introduction to complexity analysis of algorithms. Basic algorithm design techniques such as divide & conquer, dynamic programming, and backtracking. Introduction to the classification of problems by class; i.e., tractable, NP, intractable, and unsolvable.

CS 524 - PROGRAMMING LANGUAGES

Semester Hours: 3

Principles of modern programming language features and design. Comparative study of language paradigms. Overview of language implementation, including lexical, syntax, and semantic analysis. Formal grammars, BNF notation. Brief history of programming languages.

CS 526 - PROG TRANS & COMPILER CONSTR

Semester Hours: 3

Language representation; grammar classification; lexical analysis technique and tools; parsing technique and tools; compile-time and run-time symbol table design; code generation and optimization; error diagnostics. Compiler writing tools.

CS 530 - EXP SYS/HEURISTIC PROGRAMMING

Semester Hours: 3

Expert systems concepts and architectures. Languages and tools for knowledge engineering. Heuristic versus algorithmic methods, heuristics as used in expert systems, and heuristic programming techniques. Class and individual projects. Background in algorithms and programming languages assumed.

CS 537 - INTRO TO NEURAL NETWORKS

Semester Hours: 3

Introduction to artificial neural networks, covering the most prominent models. Neural networks solutions to classification, clustering, data compression, and constrained optimization applications. Experience with neural networks through projects.

CS 543 - INTRO TO MULTIMEDIA SYSTEMS

Semester Hours: 3

Multimedia authoring, color models for image and video, introduction to image and video compression, digital audio, multimedia networks, multimedia synchronization, multimedia retrieval. Students may not receive credit for both CS 443 and CS 543. Courses numbered at the 500-level may be taken for undergraduate credit with prior approval, except as otherwise noted. Courses at 600-level or above are reserved for graduate students. They may be taken by other students only by approval. Consult Seniors Taking Graduate Courses in the Graduate Admissions section of this catalog for specific policies and approval procedures. Taught as CS 443/543. Course completion and/or grade requirements for graduate credit will differ from those for undergraduate credit. Prerequisite: CS 617.

CS 545 - INTRO COMPUTER GRAPHICS

Semester Hours: 3

Introduces underlying theory and mechanics of interactive computer graphics. Basic modeling, raterization, 2D/3D transformations, and viewing. 3D graphics rudiments. Some hardware and historical perspectives. Many programs.

CS 546 - ADVANCED COMPUTER GRAPHICS

Semester Hours: 3

High resolution 3D graphics, including advanced topics in viewing, vertex processing, fragment processing, local and global illumination and shading, 3D modeling (including curve and surface representation), texture mapping, and some coverage of solid modeling and color theory. Game production pipeline. Hiearchical issues, visibility, and 3D processing algorithms may also be covered. A significant number of programming projects are involved, with some different program requirements and additional theoreticalexpectations for CS 546 students. (Same as CS 456; no credit for both). Prerequisite: CS 545.

CS 547 - GAME ENGINES & LEVEL DEV

Semester Hours: 3

(Same as CS 447) This course provides the opportunity for students to produce fully functional games from beginning to end with team members. Along the way, students work on homework/projects involving design document creation, prototyping and gameplay/implementation. Also, game sofware as artistic content has led to collaborations between engineers and artists. In this course, students focus on not only game engineering development but also art asset generation and management. Conisders a 3D game design and development using game engines focusing on the fundamental components for developing cross-platform games. The course focus includes design, development, and distribution of computer games. Emphasis also is on user interface and menus, scripting for game programming, game physics, terrain generation, asset management, animation management, specil effects, and cross platform game development. Students may not receive credit for both CS 447 and CS 547.

CS 548 - HUMAN-COMPUTER INTERACTION

Semester Hours: 3

Introduces underlying theory and mechanics of interactive computer graphics. Basic modeling, raterization, 2D/3D transformations, and viewing. 3D graphics rudiments. Some hardware and historical perspectives. Many programs. Introduction to human-computer interaction and principles of graphical user interface design. Includes examination of interactive environments including windowing systems development tools, multimedia, and visual programming interfaces. Prerequisite: CS 545.

CS 553 - CLIENT/SERVER ARCHITECTURES

Semester Hours: 3

Aspects of client/server distributed computing, a paradigm that includes technologies addressing web services (such as AJAX using Javascript/PHP, ASP.NET) as well as distributed object (such as .NET remoting, CORBA). Students will apply the concepts in practical distributed programs.

CS 554 - INTRO TO CLOUD COMPUTING

Semester Hours: 3

Different cloud computing paradigms: IaaS, SaaS, PaaS. Open Source cloud software (for ex., OpenStack, CloudStack). RESTful interfaces, AWS interface. Cloud security. Students may not receive credit for both CS 454 and CS 554.

CS 565 - NETWORK SECURITY

Semester Hours: 3

Fundamentals of network security and cryptography. Examines security at different network layers. Wireless security. Firewalls. Instrusion detection and penetration analysis. Students may no receive credit for both 465 and 565.

CS 570 - INTRO TO COMPUTER NETWORKS

Semester Hours: 3

Organization and operation of computer networks. Physical, Data Link, Network, Transport, and Application-layer protocols and algorithms; LAN and WAN systems; TCP/IP; Wired and wireless organizations; security approaches. Prerequisite: CS 513.

CS 571 - MOBILE COMPUTING SFTWR ARC&DEV

Semester Hours: 3

Considers application design for the mobile space, focusing on the fundamental requirements for mobile applications that target mobile devices. The course focus includes development, testing, distribution of mobile applications in a cross-platform environment. Emphasis also is on multimedia and entertainment computing and games. This course will also cover various issues in mobile computing from the readings from research literature such as software engineering practices, analysis of social media and general mobile analytics.

CS 580 - MOBILE DIGITAL FORENSICS

Semester Hours: 3

This course examines digital forensics of mobile devices such as smart phones and tablets in a law enforcement context. Mobile device characteristics that make forensics examinations difficult are discussed. Various forensics tools are critically examined with an eye toward improved tool development.

CS 581 - MODELING & SIMULATION I

Semester Hours: 3

Discrete event simulation from a computer science perspective. Mathematics of probability distributions applied to simulation. Design, implementation, and application of discrete event simulation software. Application to computer and network system design.

CS 582 - MODELING & SIMULATION II

Semester Hours: 3

Advanced application of computer science methods to modeling and simulation software development. Design, development, and integration of software for real-time distributed simulations using standard network interoperability protocols. Team development of modeling and simulation software. Prerequisites: CS 581 or MOD 501.

CS 585 - INTRO TO COMPUTER SECURITY

Semester Hours: 3

This course examines the issues related to security policies, models and mechanisms applicable to providing security for computer-based systems including operating systems, database management systems, and networks.

CS 590 - PROGRAMMING ENVIRON W/UNIX

Semester Hours: 3

Strategies for design and development of systems and programs in the UNIX environment. Emphasis: automated tool and system development using UNIX tools. Advanced shell concepts including control flow and interrupt handling. Process and inter-process communication.

CS 595 - INDEPENDENT STUDY

Semester Hours: 3

Individual directed study under the supervision of an instructor. Must have approval of the instructor.

CS 596 - SPECIAL TOPICS

Semester Hours: 3

Individual directed study under the supervision of an instructor. Must have approval of the instructor.

CS 597 - SPECIAL TOPICS

Semester Hours: 3

Course offered by an instructor in a specialized area of computer science. Must have approval of instructor.

CS 598 - SPECIAL TOPICS

Semester Hours: 3

Course offered by an instructor in a specialized area of computer science. Must have approval of instructor.

CS 600 - INTERNSHIP IN COMPUTER SCIENCE

Semester Hour: 1

Work experience in Computer Science or a related field in a business or government agency; conducted under the direction of the agency supervisor and approved by a member of the CS faculty. A substantial report must be produced and approved by the supervisor and the faculty member.

CS 603 - FORMAL LANG/AUTOMAT THRY

Semester Hours: 3

Formal definition of programming languages. Formal grammars: regular, context-free, context senstive, and phrase-structure. Automata: finite-state, pushdown, linear-bounded automata, Turing Machines. Relationship between formal languages and automata.

CS 613 - COMPUTER ARCHITECTURES

Semester Hours: 3

Organization, operation, and analysis of advanced computer architectures. Topics include advanced pipelining approaches, multi-processor architectures, instruction set architectures, memory hierarchy design, hardware and software-based performance optimization, and system performance measurement. Prerequisite: CS 513.

CS 617 - DES & ANALY OF ALGORITHM

Semester Hours: 3

Strategies of algorithm synthesis and analysis. Classical algorithm categories such as: divide-and-conqurer, greedy method, dynamic programming, search and traversal. Computational complexity; theoretical results from lower- and upper-bound studies, NP-hard, and NP-complete problems. Prerequisite: CS 517.

CS 630 - ARTIFICIAL INTELLIGENCE I

Semester Hours: 3

AlI concepts and methods for problem solving, heuristic search, planning, hypothesis formation, modeling and knowledge representation, knowledge acquisition and learning. Applications of AI in various areas. Background inalgorithms and programming languages assumed. CS 530 recommended.

CS 635 - COMPUTAT MODEL COGNITION

Semester Hours: 3

Computational models of human information processing covering topics of current interest to both artificial intelligence and cognitive psychology. Use of computer simulations to test psychological theories. Application of psychological research to building AI systems. Prerequisite: CS 630.

CS 640 - MACHINE LEARNING

Semester Hours: 3

Discriminant analysis, maximum likelihood decisions, deterministic and nondeterministic approaches for trainable classifiers, preprocessing and feature extraction, clustering, syntatic pattern recognition. Pattern recognition in image analysis.

CS 641 - DATA MINING

Semester Hours: 3

Data preprocessing, distance measures, classification with decision trees, Bayesian classifiers, neural networks, support vector machines, frequent item set analysis, association rule generation, clutering methods.

CS 642 - COMP PROC/DIGITAL IMAGES

Semester Hours: 3

Introduction to image processing systems; sensing, sampling and quantization; image transforms; image enhancement and restoration; image segmentation, and description; image correlation; image sequence analysis; practical applications of image processing.

CS 643 - DATA COMPRESSION

Semester Hours: 3

Lossless and lossy compression algorithms, Huffman coding, Arithmetic coding, Dictionary-based compression, quantization techniques, differential encoding, transform coding, wavelet-based coding; image compression, video compression, audio compression, applications of compression algorithms to audio, image, and video compression standards. Prerequisite: CS 617.

CS 646 - COMPUTER GEOMETRY MODELING

Semester Hours: 3

Numerical and computer rep. of curves and surfaces. Solid geometry modeling. Geometric data management. Curve and surface design, incl. cubic-B-splines, esp. Bezier curves/surfaces. Interpolation methods. Graph-based and Boolean models. Apps. to robotics, graphics, CAD.

CS 650 - SOFT'W ENGINEERING PROC

Semester Hours: 3

The process of developing complex software products. Includes software life cycles, phases of development and disciplines such as CM, QA, V&V, and T&E. Issues of professionalism and the ethical use of computers. Background in algorithms and programming languages assumed.

CS 652 - OBJECT-ORIENTED DESIGN

Semester Hours: 3

A survey of formal and informal techniques and methodologies for software analysis, requirements, architecture and design. Emphasis is on effective development processes. Comparison of different approaches, considering their advantages and disadvantages. Prerequisite: CS 650.

CS 655 - FORMAL METHODS IN SOFTWARE ENG

Semester Hours: 3

Formal mechanisms to specify, validate, and verify software systems. Propositional and predicate calculi. Program verification through Djikstra's weakest preconditions and Hoare's method. Formal specification via algebraic specifications and abstract model specifications. Prerequisites: CS 617 and CS 650.

CS 656 - SOFTWARE TESTING

Semester Hours: 3

Advanced software testing techniques, including white box, black box, integration testing, and system testing. Other topics may include test data adequacy, test data selection, and output oracle, including functional, structural, and fault-based testing methods. Prerequisite:CS 650.

CS 658 - SOFTWARE PROC & PROD IMPROVEMT

Semester Hours: 3

Software quality assurance as an umbrella activity. Use of process, project, quality and product metrics to gain insight into the software development activity. Use of metrics to drive incremental process improvement techniques. Examination of CASE tools and how they affect the software process. Prerequisite: CS 650.

CS 666 - SOFTWARE STUDIO I

Semester Hours: 3

Students work in teams on medium-sized software projects to analyze and document software requirements, produce a project plan, design and build a prototype, and present the project for evaluation. The design-evaluation phases are repeated twice to generate a more mature design. Prerequisites: CS 650 and either CS 652, 656, or 658.

CS 668 - SOFTWARE STUDIO II

Semester Hours: 3

A continuation of CS 666. Students work in teams to continue the software engineering cycle with emphasis on software management, evolution, maintence, quality analysis, testing, integration, validation, and security autiting. Prerequisite: CS 666.

CS 670 - COMPUTER NETWORKS

Semester Hours: 3

Detailed analysis of the organization and operation of computer networks, focusing on algorithms and organizationsfor the Transport Layer, Network Layer and Data Link Layer protocols of wired and wireless systems. Prerequisite: CS 570.

CS 685 - COMPUTER SECURITY

Semester Hours: 3

Advanced topics in security policies, models and mechanisms applicable to providing security for computer based systems, including operating systems, database management systems, and networks.

CS 687 - DATA BASE SYSTEMS

Semester Hours: 3

Basic concepts of database systems. Use of semantic models in database design. Data models with an major focus on the relational and object-oriented models. Relational query languages and normal forms. Database management system design issues. Security and integrity issues.

CS 690 - ADVANCED OPERATING SYSTEMS

Semester Hours: 3

Issues related to shared memory multiprocessors, multicore computers, clusters, grids and clouds. Concurrency and distributed process coordination. Introduction to network communication issues and systems such as client-server, peer-to-peer, transaction based. Prerequisite: CS 513.

CS 692 - COMPUTER SECURITY

Semester Hours: 3

CS 695 - INDEPENDENT STUDY

Semester Hours: 3

Individual directed study under the supervision of an instructor. Must have instructor approval.

CS 696 - SELECTED TOPICS IN CS

Semester Hours: 3

Course offered by an instructor in a specialized area of computer science. Must have instructor approval.

CS 699 - MASTER'S THESIS

Semester Hours: 3-6

Course offered by an instructor in a specialized area of computer science. Must have instructor approval. Required each semester a student is working and receiving direction on master's thesis. Prerequisite: instructor approval.

CS 703 - THEORY OF PROG LANGUAGES

Semester Hours: 3

Syntactic analysis and semantic interpretation of programming languages based on research and results in formal languages and associated complier techniques. Identification of research directions and potential research projects in programming languages.

CS 717 - ADV ALGORITHM DES/ANALYSIS

Semester Hours: 3

Parallel algorithms, combinatorial algorithms, approximation algorithms for NP-complete problems, computational complexity. Distribution of algorithms across complex architectures. Prerequisite: CS 617.

CS 730 - ARTIFICIAL INTELLIGENCE II

Semester Hours: 3

Rigorous treatment of special topics in artificial intelligence. Topics may include knowledge representation, automated dedcution, search control, machine learning, or meta-level architectures. Prerequisite: CS 630.

CS 742 - IMAGE PROC ALGO/ARCHITEC

Semester Hours: 3

Algorithms and data structures for image enhancement, segmentation, object recognition and image sequence analysis; real-time versus non real-time image processing; computer architectures for fast image processing; cellular logic array processors, distributed, systolic and binary array processors. Prerequisite: CS 613 and CS 642.

CS 790 - OPERATING SYSTEMS SEMINAR

Semester Hours: 3

Advanced research topics in operating system theory and practice. Students will read and discuss classic and current papers in the literature. Each student will present reports in class and prepare a substantial research paper. Prerequisite: CS 690.

CS 795 - ADVANCED SELECTED TOPICS

Semester Hours: 3

Individual directed study under the supervision of aninstructor. Must have instructor approval.

CS 796 - ADVANCED SELECTED TOPICS

Semester Hours: 3

Course offered by an instructor in a specialized area of computer science. Must have instructor approval.

CS 799 - DOCTORAL DISSERTATION

Semester Hours: 3-9

Required each semester student is enrolled and receiving direction on doctoral dissertation. Maximum of 18 hours credit toward degree.

CS ADD - COMPUTER ORG & ARCHITEC/ATHENS

Semester Hours: 3