Left Accent
UAB CIS Header

Graduate Catalog

Updated on Wed, 11/11/2009 - 4:20pm

The classes listed below represent the lastest CIS courses publised in the UAB Graduate School Catalog. For more information on UAB catalogs, please visit UAB's Course Catalogs Online.

CS 501 Programming Languages

Formal syntax and semantics; compilers and interpreters; virtual machines; representation of data types; sequences and data control; type checking; run-time storage management; functional, logic, and object-oriented programming paradigms; concurency and multi-threading.

CS 505 Programming Languages

Formal syntax and semantics; compilers and interpreters; virtual machines; representation of data types; sequence and data control; type checking; run-time storage management; functional, logic, and object-oriented programming paradigms; concurrency and multi-threading.
Prerequisites: Undergraduate level CS 303 Minimum Grade of C and Graduate level CS 550 Minimum Grade of B

CS 510 Database Management Systems

Relational model of databases, structured query language, normalized structure of database management systems based on relational model, and security and integrity of databases.

CS 520 Software Engineering

Design and implementation of large-scale software systems, software development life cycle, software requirements and specifications, software design and implementation, verification and validation, project management and team-oriented software development.

CS 533 Operating Systems

Internal design and operation of a modern operating system, including interrupt handling, process scheduling, memory management, virtual memory, demand paging, file space allocation, file and directory management, file/user security and file access methods. Computer Networks

CS 534 Internetworking with TCP/IP

Underlying network technology. Interconnecting networks using bridges and routers. IP addresses and datagram formats. Static and dynamic routing algorithms. Control messages. Subnet and supernet extensions. UDP and TCP. File transfer protocols. E-mail and the World Wide Web. Network address translation and firewalls. Mandatory weekly Linux-based lab.

CS 534L Internetwork w TCP/IP Lab

Project oriented hands-on approach.

CS 535 Network Programming

Remote procedure call and client-server mechanisms. Protocol definition and compilation; client and server stubs, application code; transport independence; multiple client and server systems. Applications, e.g., remote database query and update, image filtering and archiving; systems programming, and file systems contexts.

CS 536 Computer Network Security

Conventional and public-key cryptography. Message encryption and authentication. Secure communication between computers in a hostile environment, including E-mail (PGP), virtual private networks (IPSec) and the World Wide Web (SSL). Firewalls. Mandatory weekly linux-based lab.

CS 536L Computer Network Sec Lab

Project oriented hands-on approach.

CS 537 Cybercrime & Forensics

Overview of all aspects of media forensics including analysis of character encoding, file formats, and digital media, examination of disk acquisition and duplication techniques in criminal investigation scenarios.

CS 550 Automata/Formal Lang Theory

Finite-state automata and regular expressions, context-free grammars and pushdown automata, turing machines, computability and decidability, and complexity classes.

CS 555 Probability & Statistics in CS

Introduction to Probability and Statistics with applications in Computer Science. Counting, permutations and combinations. Probability, conditional probability, Bayes Theorem. Standard probability distributions. Measures of central tendency and dispersion. Central Limit Theorem. Regression and correlation. Hypothesis testing. Random number generation. Random algorithms. Estimating probabilities by simulation. Genetic algorithms.

CS 591 Special Topics

Selected Topics in Computer Science.

CS 592 Special Topics

Selected Topics in Computer Science.

CS 593 Special Topics

Selected Topics in Computer Science.

CS 594 Special Topics

Selected Topics in Computer Science.

CS 595 Special Topics

No description available.

CS 597 Competitive Program Techniques

This course will help students to be more competitive in the ACM programming contest by exploring numerous problem solving techniques and algorithms not covered in the traditional curriculum.

CS 598 Practical Work Experience

Credit for working in the Computer Science field. Does not count toward M.S. degree.

CS 600 Formal Semantics Program Lang

Context-sensitive and semantic aspects of programming languages, denotational semantics, mathematical foundations.

CS 601 Program Verification

Proving properties of programs, termination and correctness, computability and decidability, role of formal methods in software design.

CS 602 Compiler Design I

Lexical and syntactical scan, semantics, code generation and optimization, dataflow analysis, parallelizing compilers, automatic compiler generation
Prerequisites: Graduate level CS 505 Minimum Grade of B

CS 603 Compiler Design II

Lexical and syntactical scan, semantics, code generation and optimization, dataflow analysis, parallelizing compilers, automatic compiler generation
Prerequisites: Graduate level CS 602 Minimum Grade of B

CS 608 Programming Languages Seminar

Seminar on Programming Languages.

CS 610 Database Systems I

This course offers an introduction to the advanced topics of database management systems. The following topics are addressed: System and file structure, efficient data manipulation using indexing and hashing, query processing, crash recovery, concurrency control, transaction processing, database security and integrity, distributed databases.
Syllabus: syllabus.doc
Prerequisites: Graduate level CS 510 Minimum Grade of B

CS 611 Database Systems II

Relational, hierarchical, and network models; object-oriented databases, knowledge-based systems; security issues, concurrency control and distributed databases, query optimization; advanced topics.
Prerequisites: Graduate level CS 610 Minimum Grade of B

CS 612 Knowledge-Based Systems

Logic model for deductive databases, top-down and bottom-up evaluation, conjunctive and disjunctive queries, recursion, query optimization, universal relation model.
Prerequisites: Graduate level CS 610 Minimum Grade of B

CS 613 Object-Oriented Database Sys

Object data model, object-oriented query languages and database architecture, schema evolution, integration with non-object-oriented models, query optimization.
Prerequisites: Graduate level CS 610 Minimum Grade of B

CS 614 Distributed Database Systems

Distributed DBMS architecture, query decomposition and data localization, distributed query optimization, transaction management, concurrency control, multidatabase systems.
Prerequisites: Graduate level CS 610 Minimum Grade of B

CS 615 Multimedia Databases

This course introduces the principles of multimedia databases including multimedia information processing, modeling, and retrieval. The media to be considered include text, image, audio and video. At the conclusion of this course, the students should understand what multimedia data retrieval is, the principles, which allow the location of relevant information from amongst a large corpus of multimedia data, and the applications of multimedia information retrieval. The students should also have the expertise and competence to design and implement retrieval software for multimedia data.
Prerequisites: Graduate level CS 510 Minimum Grade of C

CS 618 Database System Seminar

Seminar on Database Systems.

CS 620 Advanced Software Engineering

Advanced topics in software design, including: Software modularization, design patterns, formal methods, and software testing.
Prerequisites: Graduate level CS 520 Minimum Grade of B

CS 622 Reflective/Adaptive Systems

This course examines the principles of compile-time and run-time adaptation in several contexts, including: reflection, metaprogramming, aspect-oriented software development, and metamodeling (applied to model-driven engineering).

CS 624 Formal Specification S/W Sys

Formal methods for software requirements specification, including VDM, Z, and object-oriented extensions; the relationship among formal requirements, design, and implementation.
Prerequisites: Graduate level CS 505 Minimum Grade of B

CS 625 Metrics and Performance

Computer Systems addressed in this course primarily are web based systems and capacity planning is a principal theme. However, the queueing theory and statistical analysis approaches are applicable to conventional computing systems and, in fact, modeling of these latter constitute relevant background information that is developed and exploited for web systems analysis.

CS 628 Software Engineering Seminar

This is a special topics class that meets once a week to study new research ideas emerging in the area of software engineering.

CS 629 Software Engineering Research

This is a project-based experimental research course affiliated with the Masters Specialization in Software Engineering. Can only be taken as part of a specialization in Software Engineering.

CS 630 Computer Systems

Introduction to computer architecture, including memory subsystems, direct-mapped and set-associative cache and multi-level cache subsystems, direct-access devices including RAID and SCSI disk drives, processor pipelining including super-scalar and vector machines, parallel architectures including SMP, NUMA and distributed memory systems, Interrupt mechanisms, and future microprocessor design issues.

CS 631 Distributed Computing

Object-oriented distributed systems design, distributed software architecture, data and resource access, communication, client-server computing, web technologies, enterprise technologies.

CS 632 Parallel Computing

Overview of parallel computing hardware, architectures, & programming paradigms; parallel programming using MPI, Ptureads, and OpenMP; design, development, and analysis of parallel algorithms for matrix computations, FFTs, and Sorting.

CS 633 Grid Computing

Movitation for developing and using Grid Computing, the evolution of Grid Computing, and relationship between Grid Computing and other types of computing such as Cluster Computing, Distributed Computing, Internet Computing, and Peer-to-Peer Computing. Study technologies and architectures used to develop Grids.

CS 634 Virtualization

Theory and practice of virtualization. Origins, history, technical and economic motivations. Relationship to network operating systems and operating system architecture. Simulation, Emulation, Virtualization of CPUs, networks, storage, desktops, memory, devices, and combinations thereof. Different approaches to virtualization, including hardware assists and software-only techniques. Techniques, approaches, and methodologies for scale-out and scale-up computing, including security, performance and economic concerns.

CS 636 Computer Security

Study of computer security including assurance, authorization, authentication, key distribution, encryption, threats including phishing and key logging, and related distributed computing issues. Theory and practical applications.

CS 638 Computer Systems Seminar

Lectures & discussion on advanced topics in Computer Systems.

CS 638A Computer Systems Seminar

Lectures & discussion on advanced topics in Computer Systems.

CS 638B Computer Systems Seminar

Lectures & discussion on advanced topics in Computer Systems.

CS 639 Distributed Computing Research

Project based course using distributed parallel computing techniques. Can only be taken as part of a specialization in Distributed Computing.

CS 640 Bioinformatics I

Introduction to computational methodologies in bioinformatics.

CS 641 Bioinformatics II

Introduction to computational methodologies in bioinformatics.
Prerequisites: Graduate level CS 640 Minimum Grade of B

CS 647 Biomedical Modeling

No description available.

CS 648 Bioinformatics Seminar

Lectures & discussion on topics in Bioinformatics.

CS 649 Bioinformatics Research Projec

Can only be taken as part of a specialization in Bioinformatics.

CS 650 Automata/Langs/Complexity

Formal grammars and automata, Turing machines, computability and decidability, computational complexity, intractability.
Prerequisites: Graduate level CS 550 Minimum Grade of B

CS 651 Formal Language Theory

Parsing and translation theory, formal syntax, proof properties and complexity measures.

CS 652 Design & Analysis Algorithms

Algorithms for bioinformatics applications, especially string matching algorithms. Also, traditional algorithmic techniques, such as greedy algorithms, dynamic programming, and branch and bound.

CS 653 Computational Geometry

Basic methods and data structures, geometric searching, convex hulls, proximity, intersections.

CS 658 Theoretical Foundations Sem

Lectures & discussion on topics in Theoretical Foundations.

CS 660 Artificial Intelligence

Programming methodologies, logic foundations, natural language applications, expert systems.

CS 661 Expert Systems

Concepts and architectures, tools, reasoning, evaluations, selected examples.

CS 662 Natural Language Processing

Syntax, semantics, ATNs, logic grammars, language and memory.

CS 663 Knowledge Discovery and Data Mining

Techniques used in data mining (such as frequent sets and association rules, decision trees, Bayesian networks, classification, clustering), algorithms underlying these techniques, and applications.

CS 664 Knowledge Representation

Logic, production systems, semantic nets, frames, multiple representational systems.

CS 665 Neural Networks

Theoretical foundations, associative memory, pattern processing, biological neural nets.

CS 666 Games & Puzzles Seminar

Interfaces and Engines for games and puzzles such as Chess, Checkers, Othello, Rubik's Cube, Go, Sudoku, etc.

CS 668 Artificial Intelligence Sem

Lectures & discussion on advanced topics in Artificial Intelligence.

CS 670 Computer Graphics

Graphics architectures, geometric transforms, 3-D, object models, shading, intensity, hidden elements, color, advanced topics.

CS 671 Shape Design

This course covers various aspects of the design of mathematical descriptions of shape. These geometric models are used in computer graphics, game design, automobile and aircraft design, robotics, anatomical modeling, and many other disciplines. Building geometry from images. Bezier and B-spline curves and surfaces.

CS 672 Motion Design

The formal description of a motion is necessary in computer animation for graphics, game design, robotics, and many other disciplines. This course covers various aspects of the design of motions. Typical topics include position control along Bezier curves, orientation control with quaternion splines, motion planning, motion capture, camera control, collision detection, visibility analysis.

CS 673 Computer Vision Systems

Image understanding feature extraction, domain-specific knowledge for high-level vision.

CS 675 Computer Visualization

Advanced Computer Graphics techniques aimed at "Scientific Visualization" applications.

CS 676 Structure from Motion

Structure from motion extracts geometric information from a series of images of an object, either still photographs or video streams. The position of the camera may also be computed, yielding camera paths. This topic has powerful applications in many areas, including computer graphics, computer vision, photography, visualization, and video augmentation. Projective geometry, multiple view geometry, feature extraction.

CS 678 Graphics/Image Process Sem

Lectures & discussion on advanced topics in Graphics and Image Processing.

CS 679 Comp Graphics Research Project

Can only be taken as part of a specialization in Computer Graphics.

CS 680 Numerical Computing Foundations

Matrix computations, including solution of linear systems, least squares, spectral analysis, and singular value decomposition.  Both direct and iterative methods will be studied.  Efficient and robust algorithms will be emphasized.  Applications such as principal component analysis, null space, least-squares alignment.

CS 681 Simulation Models & Animations

Model development using popular simulation languages, e.g., Excel or OpenOffice.org Calc Spreadsheet; interfacing to an animation system such as Proof Animation or Open_GL.

CS 682 Simulation Methodolgy & Applic

Combined continuous and discrete simulation, simulation theory, modeling environments.

CS 688 Geometric Modeling Seminar

Lectures & discussion on advanced topics in Geometric Modeling.

CS 690 Special Topics

Selected topics in Computer Science.

CS 691 Special Topics

Selected topics in Computer Science.

CS 692 Special Topics

Selected topics in Computer Science.

CS 693 Special Topics

Selected topics in Computer Science.

CS 694 Special Topics

Selected topics in Computer Science.

CS 697 Directed Readings

Selected readings, research and project development under direction of a faculty member. Must have permission of instructor and graduate program director.

CS 698 Master's Plan II

Masters student registration.

CS 699 Master's Thesis Research

Research for M.S. candidates writing a thesis.
Prerequisites: Grad Admit Candidacy Plan I M

CS 700 Topics Progming Lang Semantics

Context-sensitive and semantic aspects of programming languages, denotational semantics, mathematical foundations.

CS 701 Topics in Program Verification

Proving properties of programs, termination and correctness, computability and decidability, role of formal methods in software design.

CS 702 Topics in Compiler Design I

Lexical and syntactical scan, semantics, code generation and optimization, dataflow analysis, parallelizing compilers, automatic compiler generation.

CS 703 Topics in Compiler Design II

Advanced topics in compiler design.

CS 708 Programming Languages Seminar

Lectures & discussion on advanced topics in Programming Languages.

CS 710 Topics in Database Systems I

This course offers an introduction to the advanced topics of database management systems. The following topics are addressed: System and file structure, efficient data manipulation using indexing and hashing, query processing, crash recovery, concurrency control, transaction processing, database security and integrity, distributed databases.
Syllabus: syllabus.doc

CS 711 Topics in Database Systems II

Relational, hierarchical, and network models; object-oriented databases, knowledge-based systems; security issues, concurrency control and distributed databases, query optimization; advanced topics.

CS 712 Topics Knowledge-Base Systems

Logic model for deductive databases, top-down and bottom-up evaluation, conjunctive and disjunctive queries, recursion, query optimization, universal relation model.

CS 713 TPS Object-Oriented D-Base Sys

Object data model, object-oriented query languages and database architecture, schema evolution, integration with non-object-oriented models, query optimization.

CS 714 Topics in Distrib Database Sys

Distributed DBMS architecture, query decomposition and data localization, distributed query optimization, transaction management, concurrency control, multidatabase systems.

CS 715 Topics in Multimedia Database

This course introduces the principles of multimedia databases including multimedia information processing, modeling, and retrieval. The media to be considered include text, image, audio and video. At the conclusion of this course, the students should understand what multimedia data retrieval is, the principles, which allow the location of relevant information from amongst a large corpus of multimedia data, and the applications of multimedia information retrieval. The students should also have the expertise and competence to design and implement retrieval software for multimedia data.

CS 718 Database Systems Seminar

Lectures and discussion on advanced topics in Database Systems.

CS 720 TPS in Adv Soft Engineering

Advanced topics in software design, including: Software modularization, design patterns, formal methods, and software testing.

CS 722 Topics in Reflect/Adaptive Sys

This course examines the principles of compile-time and run-time adaptation in several contexts, including: reflection, metaprogramming, aspect-oriented software development, and metamodeling (applied to model-driven engineering).

CS 724 Topics in Formal Spec Software

Formal methods for software requirements specification, including VDM, Z, and object-oriented extensions; the relationship among formal requirements, design, and implementation.

CS 725 TPS Compu Syst Perf Analy

Computer Systems addressed in this course primarily are web based systems and capacity planning is a principal theme. However, the queueing theory and statistical analysis approaches are applicable to conventional computing systems and, in fact, modeling of these latter constitute relevant background information that is developed and exploited for web systems analysis.

CS 728 Software Engineering Seminar

This is a special topics class that meets once a week to study new research ideas emerging in the area of software engineering.

CS 730 Topics in Computer Systems

Introduction to computer architecture, including memory subsystems, direct-mapped and set-associative cache and multi-level cache subsystems, direct-access devices including RAID and SCSI disk drives, processor pipelining including super-scalar and vector machines, parallel architectures including SMP, NUMA and distributed memory systems, Interrupt mechanisms, and future microprocessor design issues.

CS 731 TPS in Distributed Computing

Object-oriented distributed systems design, distributed software architecture, data and resource access, communication, client-server computing, web technologies, enterprise technologies.

CS 732 Topics in Parallel Computing

Overview of parallel computing hardware, architectures, & programming paradigms; parallel programming using MPI, Ptureads, and OpenMP; design, development, and analysis of parallel algorithms for matrix computations, FFTs, and Sorting.

CS 733 Topics in Grid Computing

Motivation for developing and using Grid Computing, the evolution of Grid Computing, and relationship between Grid Computing and other types of computing such as Cluster Computing, Distributed Computing, Internet Computing, and Peer-to-Peer Computing. Study technologies and architectures used to develop Grids.

CS 734 Virtualization

Theory and practice of virtualization. Origins, history, technical and economic motivations. Relationship to network operating systems and operating system architecture. Simulation, Emulation, Virtualization of CPUs, networks, storage, desktops, memory, devices, and combinations thereof. Different approaches to virtualization, including hardware assists and software-only techniques. Techniques, approaches, and methodologies for scale-out and scale-up computing, including security, performance and economic concerns.

CS 736 Topics in Computer Security

Study of computer security including assurance, authorization, authentication, key distribution, encryption, threats including phishing and key logging, and related distributed computing issues. Theory and practical applications.

CS 738 Computer Systems Seminar

Lectures & discussion on advanced topics in Computer Systems.

CS 738A Computer Systems Seminar

Lectures & discussion on advanced topics in Computer Systems.

CS 738B Computer Systems Seminar

Lectures & discussion on advanced topics in Computer Science.

CS 739 Topics Distribut Computing Res

No description available.

CS 740 Topics in Bioinformatics I

Introduction to computational methodologies in bioinformatics.

CS 741 Topics in Bioinformatics II

Introduction to computational methodologies in bioinformatics.

CS 747 Biomedical Modeling

No description available.

CS 748 Bioinformatics Seminar

Lectures & discussion on topics in Bioinformatics.

CS 750 Topics in Automata Theory

Formal grammars and automata, Turing machines, computability and decidability, computational complexity, intractability.

CS 751 Topics Formal Language Theory

Parsing and translation theory, formal syntax, proof properties and complexity measures.

CS 752 TPS Design & Anal of Algorithm

Algorithms for bioinformatics applications, especially string matching algorithms. Also, traditional algorithmic techniques, such as greedy algorithms, dynamic programming, and branch and bound.

CS 753 Topics Computational Geometry

Basic methods and data structures, geometric searching, convex hulls, proximity, intersections.

CS 758 Theoretical Foundations Sem

Lectures & discussion on topics in Theoretical Foundations.

CS 760 Topics Artifical Intelligence

Programming methodologies, logic foundations, natural language applications, expert systems.

CS 761 Topics in Expert Systems

Concepts and architectures, tools, reasoning, evaluations, selected examples.

CS 762 Topics Natural Lang Processing

Syntax, semantics, ATNs, logic grammars, language and memory.

CS 763 Topics Know Discov/Data Mining

Techniques used in data mining (such as frequent sets and association rules, decision trees, Bayesian networks, classification, clustering), algorithms underlying these techniques, and applications.

CS 764 Topics Knowledge Representa

Logic, production systems, semantic nets, frames, multiple representational systems.

CS 765 Topics in Neural Networks

Theoretical fondations, associative memory, pattern processing, biological neural nets.

CS 766 Games and Puzzles Seminar

Interfaces and Engines for games and puzzles such as Chess, Checkers, Othello, Rubik's Cube, Go, Sudoku, etc.

CS 768 Artificial Intelligence Sem

Lectures & discussion on advanced topics in Artificial Intelligence.

CS 770 Topics in Computer Graphics

Graphics architectures, geometric transforms, 3-D, object models, shading, intensity, hidden elements, color, advanced topics.

CS 771 Topics in Shape Design

This course covers various aspects of the design of mathematical descriptions of shape. These geometric models are used in computer graphics, game design, automobile and aircraft design, robotics, anatomical modeling, and many other disciplines. Building geometry from images. Bezier and B-spline curves and surfaces.

CS 772 Topics in Motion Design

The formal description of a motion is necessary in computer animation for graphics, game design, robotics, and many other disciplines. This course covers various aspects of the design of motions. Typical topics include position control along Bezier curves, orientation control with quaternion splines, motion planning, motion capture, camera control, collision detection, visibility analysis.

CS 773 Topics in Computer Vision

Image understanding feature extraction, domain-specific knowledge for high-level vision.

CS 775 Topics in Comp Visualization

Advanced Computer Graphics techniques aimed at "Scientific Visualization" applications.

CS 776 TPS in Structure from Motion

Structure from motion extracts geometric information from a series of images of an object, either still photographs or video streams. The position of the camera may also be computed, yielding camera paths. This topic has powerful applications in many areas, including computer graphics, computer vision, photography, visualization, and video augmentation. Projective geometry, multiple view geometry, feature extraction.

CS 778 Graphics/Image Processing Sem

Lectures & discussion on advanced topics in Graphics and Image Processing.

CS 780 Topics in Numerical Computing Foundations

Matrix computations, including solution of linear systems, least squares, spectral analysis, and singular value decomposition.  Both direct and iterative methods will be studied.  Efficient and robust algorithms will be emphasized.  Applications such as principal component analysis, null space, least-squares alignment.

 

CS 781 TPCS Sim Mod & Anim

Model development using popular simulation languages, e.g., Excel or OpenOffice.org Calc Spreadsheet; interfacing to an animation system such as Proof Animation or Open_GL.

CS 782 TPCS Sim/Method & Appli

Combined continuous and discrete simulation, simulation theory, modeling environments.

CS 788 Geometric Modeling Seminar

Lectures & discussion on advanced topics in Geometric Modeling.

CS 790 Special Topics

Selected Topics in Computer Science.

CS 791 Special Topics

Selected Topics in Computer Science.

CS 792 Special Topics

Selected Topics in Computer Science.

CS 793 Special Topics

Selected Topics in Computer Science.

CS 794 Special Topics

Selected Topics in Computer Science.

CS 796 Directed Readings and Research

Selected readings, research and project development under direction of a faculty member. Must have permission of instructor and graduate program director.

CS 799 Dissertation Research

Prerequisite: Admission to candidacy.
Prerequisites: Grad Admit Candidacy Plan I D



Accent Right