Apply Now

New Policy on Tuition Remission

FAQ Tuition Remission for Graduate Students

FAQ Tuition Remission for SOM

UAB Graduate School on Facebook

Computer and Information Sciences (Ph.D., M.S.)

View PDF of Computer and Information Sciences Admissions Checklist
Prospective students should use this checklist to obtain specific admissions requirements on how to apply to Graduate School.

View PDF version of the Computer and Information Sciences catalog description

Degree Offered:

Ph.D., M.S.

Director:

Dr. Purushotham Bangalore

Phone:

(205) 934-8604

E-mail:

This email address is being protected from spambots. You need JavaScript enabled to view it.

Web site:

www.cis.uab.edu/graduate/

Faculty

Purushotham V. Bangalore, Associate Professor and Graduate Program Director (Computer and Information Sciences); Grid/Cloud Computing, High Performance Computing, Bioinformatics

Ragib Hasan, Assistant Professor (Computer and Information Sciences); Computer Security, Cloud Computing, Data Provenance, Information Assurance

Robert M. Hyatt, Associate Professor (Computer and Information Sciences); Computer Chess, Parallel Architectures and Software

John K. Johnstone, Associate Professor (Computer and Information Sciences); Shape Modeling, Biomedical Modeling, Computer Graphics, Computer Vision

Peter Pirkelbauer, Assistant Professor (Computer and Information Sciences); Compilers, Runtime Systems, High Performance Computing, Non-Blocking Software Design.

Nitesh Saxena, Assistant Professor (Computer and Information Sciences);  Computer and Network Security, Applied Cryptography

Anthony Skjellum, Professor and Chair (Computer and Information Sciences); Parallel and High Performance Computing

Kenneth R. Sloan, Associate Professor (Computer and Information Sciences); Computer Graphics, Computer Vision, Image Processing, 3D printing, Anatomy of the Retina

Thamar Solorio, Assistant Professor (Computer and Information Sciences); Natural Language Processing, Artificial Intelligence, Cyber Forensics.

Alan P. Sprague, Professor (Computer and Information Sciences); Data Mining, Graph Algorithms, Bioinformatics, Cyber Forensics.

Chengcui Zhang, Associate Professor (Computer and Information Sciences); Databases, Data Mining

Program Information

The field of computer and information sciences deals with theory and methods for processing of information. Graduate programs leading to the M.S. and Ph.D. degrees are designed to prepare individuals for professional and research-level careers in industry, government, and academia. Prospective students should have substantial background in computer science and mathematics.  

M.S. Program

The M.S. program requires 30 semester hours of coursework and a thesis (Plan I) or 36 semester hours of coursework (Plan II). Specializations are available in bioinformatics, computer graphics, distributed computing and software engineering.

Ph.D. Program

The Ph.D. program consists of three phases (with some overlap between phases). The first phase of the program is devoted primarily to formal coursework and preparation for the qualifying examination. The second phase consists of coursework and research in preparation for the comprehensive examination. This examination requires presentation of a dissertation research proposal. Successful completion of this phase leads to admission to candidacy. The final phase is the completion of the dissertation research and its defense. Ph.D. student progress will be reviewed annually.

Additional Information

Deadline for Entry Term(s):

February 1 for Fall; September 1 for Spring.

Contact Information

For detailed information, after first visiting the website below for basic information including application guidelines and prerequisites, contact Dr. Purushotham Bangalore, Associate Professor and Graduate Program Director, UAB Department of Computer and Information Sciences, Campbell Hall, Room 130, 1300 University Boulevard, Birmingham, Alabama 35294-1170.

Telephone 205-934-8604

E-mail This email address is being protected from spambots. You need JavaScript enabled to view it.

Web http://www.cis.uab.edu/graduate/

Course Descriptions

Computer and Information Sciences (CS)

All courses require permission of the student's academic advisor. All graduate courses carry 3 semester hours of credit, unless otherwise specified.

501. 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: Graduate Standing. 3 hours.

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. Prerequisite: Graduate Standing. 3 hours.

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. Prerequisite: Graduate Standing. 3 hours.

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. Prerequisites: Graduate Standing. 3 hours.

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. Prerequisites: Graduate Standing. 3 hours.

534L. Internetwork w TCP/IP Lab. Project oriented hands-on approach.

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. Prerequisite: Graduate Standing. 3 hours.

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. Prerequisite: Graduate Standing. 3 hours.

536L. Computer Network Sec Lab. Project oriented hands-on approach.

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.

550. Automata and Formal Language Theory. Finite-state automata and regular expressions, context-free grammars and pushdown automata, Turing machines, computability and decidability, and complexity classes. Prerequisites: Graduate Standing. 3 hours.

555.  Probability and Statistics in Computer Science.  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. 3 hours

591. Special Topics. Prerequisites: Permission of Instructor. 1-3 hours.

592. Special Topics. Selected Topics in Computer Science.

593. Special Topics. Selected Topics in Computer Science.

594. Special Topics. Prerequisites: Permission of Instructor. 1-3 hour.

595. Special Topics. Selected Topics in Computer Science.

597. Competitive Programming 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. Prerequisites: Graduate Standing. 1 hour.

598. Practical Work Experience. Credit for Working in the computer science field. Does not count toward M.S. degree. Prerequisites: Permission of Instructor. 1-3 hours.

600. Formal Semantics of Programming Languages. Context-sensitive and semantic aspects of programming languages, denotational semantics, mathematical foundations. Prerequisite: Graduate Standing. 3 hours.

601. Program Verification. Proving properties of programs, termination and correctness, computability and decidability, role of formal methods in software design. Prerequisite: Graduate Standing. 3 hours.

602. Compiler Design I. Lexical and syntactical scan, semantics, code generation and optimization, dataflow analysis, parallelizing compilers, automatic compiler generation. Prerequisite: CS 505 or equivalent. 3 hours.

603. Compiler Design II. Advanced topics in compiler design. Prerequisite: Graduate Standing. 3 hours.

608. Programming Languages Seminar. Pass/Fail. Prerequisite: Permission of Instructor. 1 hour.

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. Prerequisites; CS 510 or equivalent. 3 hours.

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; CS 610 or equivalent. 3 hours.

612. Knowledge-Base Systems. Logic model for deductive databases, top-down and bottom-up evaluation, conjunctive and disjunctive queries, recursion, query optimization, universal relation model. Prerequisites: CS 610 or equivalent. 3 hours.

613. Object-Oriented Database Systems. Object data model, object-oriented query languages and database architecture, schema evolution, integration with non-object-oriented models, query optimization. Prerequisites: CS 610 or equivalent. 3 hours.

614. Distributed Database Systems. Distributed DBMS architecture, query decomposition and data localization, distributed query optimization, transaction management, concurrency control, multidatabase systems. Prerequisites: CS 610 or equivalent. 3 hours.

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: CS 303. 3 hours.

618. Database System Seminar. Pass/Fail. Prerequisites: CS 610 or equivalent. 1 hour.

620. Advanced Software Engineering. Advanced topics in software design, including: Software modularization, design patterns, formal methods, and software testing. Prerequisites: CS 520 or equivalent. 3 hours.

622. Reflective and 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). Prerequisites: Graduate Standing. 3 hours.

624. Formal Specification of Software Systems. Formal methods for software requirements specification, including VDM, Z, and object-oriented extensions; the relationship among formal requirements, design, and implementation. Prerequisites: CS 501. 3 hours.

625. Metrics and Performance. Metrics in systems analysis, development, and performance evaluation; querying models; capacity planning for Web system; computation via spreadsheets, discrete simulation, etc. Prerequisites: Graduate Standing. 3 hours.

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. Pass/Fail. Prerequisites: CS 520. 1 hour.

629. Software Engineering Research Project. 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. Prerequisites: Permission of Instructor. 1-3 hours.

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. Prerequisites: Graduate Standing. 3 hours.

631. Distributed Computing. Object-oriented distributed systems design, distributed software architecture, data and resource access, communication, client-server computing, web technologies, enterprise technologies. Prerequisites: Graduate Standing. 3 hours.

632. Parallel Computing. Overview of parallel computing hardware, architectures, & programming paradigms; parallel programming using MPI, Pthreads, and OpenMP; design, development, and analysis of parallel algorithms for matrix computations, FFTs, and Sorting. Prerequisites: Graduate Standing. 3 hours.

633. 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. Prerequisites: CS 631 & CS 632. 3 hours.

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. Prerequisites: CS 333 or CS 433 and CS 430. 3 hours.

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. Prerequisite: Graduate Standing. 3 hours.

638. Computer Systems Seminar. Lectures & discussion on advanced topics in Computer Systems. Prerequisite: Permission of Instructor/ 1 hour.

638A. Computer Systems Seminar. Lectures & discussion on advanced topics in Computer Systems. Prerequisite: Permission of Instructor/ 1 hour.

638B. Computer Systems Seminar. Lectures & discussion on advanced topics in Computer Systems. Prerequisite: Permission of Instructor/ 1 hour.

639. Distributed Computing Research Project. Project based course using distributed parallel computing techniques. Can only be taken as part of a specialization in Distributed Computing. 1-3 hours.

640. Bioinformatics I. Introduction to computational methodologies in bioinformatics. Prerequisites: Graduate Standing. 3 hours.

641. Bioinformatics II. Introduction to computational methodologies in bioinformatics. Prerequisites: CS 640. 3 hours.

647. Biomedical Modeling. Modeling from biomedical datasets. Construction and analysis of anatomical models; segmentation; morphometry; registration; medical illustration; surgical planning. Prerequisites: Graduate Standing. 3 hours.

648. Bioinformatics Seminar. Pass/Fail. Prerequisites: Permission of Instructor. 1 hour.

649. Bioinformatics Research Project. Can only be taken as part of a specialization in Bioinformatics. Pass/Fail. Prerequisites: Permission of Instructor. 1-3 hours.

650. Automata, Languages, and Computation. Formal grammars and automata, Turing machines, computability and decidability, computational complexity, intractability. Prerequisites: Graduate Standing. 3 hours.

651. Formal Language Theory. Parsing and translation theory, formal syntax, proof properties and complexity measures. Prerequisites: Graduate Standing. 3 hours.

652. Design and Analysis of Algorithms. Algorithms for bioinformatics applications, especially string matching algorithms. Also, traditional algorithmic techniques, such as greedy algorithms, dynamic programming, and branch and bound. Prerequisites: Graduate Standing. 3 hours.

653. Computational Geometry. Basic methods and data structures, geometric searching, convex hulls, proximity, intersections. Prerequisites: Graduate Standing. 3 hours.

658. Theoretical Foundations Seminar. Pass/Fail. Prerequisites: Permission of Instructor. 1 hour.

660. Principles of Artificial Intelligence. Programming methodologies, logic foundations, natural language applications, expert systems. Prerequisites: Graduate Standing. 3 hours.

661. Expert Systems. Concepts and architectures, tools, reasoning, evaluations, selected examples. Prerequisites: Graduate Standing. 3 hours.

662. Natural Language Processing. Syntax, semantics, ATNs, logic grammars, language and memory. Prerequisites: Graduate Standing. 3 hours.

663. Knowledge Discovery & 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. Prerequisites: Graduate Standing. 3 hours.

664. Knowledge Representation. Logic, production systems, semantic nets, frames, multiple representational systems. Prerequisites: Graduate Standing. 3 hours.

665. Neural Networks. Theoretical foundations, associative memory, pattern processing, biological neural nets. Prerequisites: Graduate Standing. 3 hours.

666. Games & Puzzles Seminar. Interfaces and Engines for games and puzzles such as Chess, Checkers, Othello, Rubik's Cube, Go, Sudoku, etc. Prerequisites: Graduate Standing. 1 hour.

668. Artificial Intelligence Seminar. Pass/Fail. Prerequisites: Permission of Instructor. 1 hour.

670. Computer Graphics. Graphics architectures, geometric transforms, 3-D, object models, shading, intensity, hidden elements, color, advanced topics. Prerequisites: Graduate Standing or Permission of Instructor. 3 hours.

671. Shape Design. This course covers various aspects of the design of shape models. These models are used in computer graphics, automobile and aircraft design, robotics, anatomical modeling, and many other disciplines. Point clouds, meshes, Bezier and B-spline curves and surfaces, implicits, subdivision surfaces, interpolation, intersection, building geometry from images.  Prerequisites: Graduate Standing. 3 hours.

672. Motion Design. The description of a motion is important in robotics, computer animation, game design, and many other disciplines. This course covers various aspects of motion design. Position control, orientation control, camera control, motion planning, collision detection, swept surfaces, visibility analysis. Prerequisites: Graduate Standing. 3 hours.

673. Computer Vision Systems. Image understanding feature extraction, domain-specific knowledge for high-level vision. Prerequisites: Graduate Standing. 3 hours.

675. Computer Visualization. Advanced Computer Graphics techniques aimed at "Scientific Visualization" applications. Prerequisites: Graduate Standing. 3 hours.

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. Prerequisites: Graduate Standing.  3 hours.

678. Graphics and Image Processing Seminar. Pass/Fail. Prerequisites: Permission of Instructor. 1 hour.

679. Computer Graphics Research Project. Can only be taken as part of a specialization in Computer Graphics. Pass/Fail. Prerequisites: Permission of Instructor. 3 hours.

680. Numerical Computing. Matrix computations and matrix analysis, including solution of linear systems, least squares, spectral analysis, and singular value decomposition.  Applications such as principal component analysis and PageRank. Prerequisites: CIS graduate standing and permission of instructor. 3 hours.

681. Simulation Models and 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. Prerequisites: Graduate Standing. 3 hours.

682. Simulation Methodology and Applications. Combined continuous and discrete simulation, simulation theory, modeling environments. Prerequisites: Graduate Standing. 3 hours.

688. Shape Modeling Seminar. Prerequisites: Permission of Instructor. 1 hour.

690. Special Topics. Prerequisites: Permission of Instructor. 1-3 hours.

691. Special Topics. Prerequisites: Permission of Instructor. 1-3 hours.

692. Special Topics. Prerequisites: Permission of Instructor. 1-3 hours.

693. Special Topics. Prerequisites: Permission of Instructor. 1-3 hours.

694. Special Topics. Prerequisites: Permission of Instructor. 1-3 hours.

697. Directed Readings. Prerequisites: Permission of Instructor and Graduate Program Director. 1-3, 6 hours.

698. Masters Plan II. (Plan II) Pass/Fail. Prerequisites: Permission of Graduate Program Director. 2, 3, 5, 6, 9 hours.

699. Masters Thesis Research. Pass/Fail. Prerequisite: Admission to candidacy. 1-6 hours.

700. Topics in Programming Language Semantics. Context-sensitive and semantic aspects of programming languages, denotational semantics, mathematical foundations.Prerequisites: Graduate Standing. 3 hours.

701. Topics in Program Verification. Proving properties of programs, termination and correctness, computability and decidability, role of formal methods in software design. Prerequisites: Graduate Standing. 3 hours.

702. Topics in Compiler Design I. Lexical and syntactical scan, semantics, code generation and optimization, dataflow analysis, parallelizing compilers, automatic compiler generation. Prerequisites: Graduate Standing. 3 hours.

703. Topics in Compiler Design II. Advanced topics in compiler design. Prerequisites: Graduate Standing. 3 hours.

708. Topics in Programming Languages Seminar. Lectures & discussion on advanced topics in Programming Languages. Prerequisites: Graduate Standing. 3 hours.

710. Topics in Database Systems. 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. Prerequisites: Graduate Standing . 3 hours.

711. Topics in Database Systems. Relational, hierarchical, and network models; object-oriented databases, knowledge-based systems; security issues, concurrency control and distributed databases, query optimization; advanced topics. Prerequisites: Graduate Standing. 3 hours.

712. Topics in Knowledge-Base Systems. Logic model for deductive databases, top-down and bottom-up evaluation, conjunctive and disjunctive queries, recursion, query optimization, universal relation model. Prerequisites: Graduate Standing. 3 hours.

713. Topics in Object-Oriented Database Systems. Object data model, object-oriented query languages and database architecture, schema evolution, integration with non-object-oriented models, query optimization. Prerequisites: Graduate Standing. 3 hours.

714. Topics in Distributed Database Systems. Distributed DBMS architecture, query decomposition and data localization, distributed query optimization, transaction management, concurrency control, multidatabase systems. Prerequisites: Graduate Standing. 3 hours.

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. Prerequisites: Graduate Standing. 3 hours.

718. Database Systems Seminar. Lectures and discussion on advanced topics in Database Systems. Prerequisites: Graduate Standing. 3 hours.

720. Topics in Advanced Software Engineering. Advanced topics in software design, including: Software modularization, design patterns, formal methods, and software testing. Prerequisites: Graduate Standing. 3 Hours.

722. Topics in Reflective and 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). Prerequisites: Graduate Standing. 3 Hours.

724. Topics in Formal Specification of Software Systems. Formal methods for software requirements specification, including VDM, Z, and object-oriented extensions; the relationship among formal requirements, design, and implementation. Prerequisites: Graduate Standing. 3 hours.

725. Topics in Computer System Performance Analysis. 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.  Prerequisites: Graduate Standing. 3 hours.

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. Prerequisites: Graduate Standing. 3 hours.

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. Prerequisites: Graduate Standing. 3 hours.

731. Topics in Distributed Computing. Object-oriented distributed systems design, distributed software architecture, data and resource access, communication, client-server computing, web technologies, enterprise technologies. Prerequisites: Graduate Standing. 3 hours.

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. Prerequisites: Graduate Standing. 3 hours.

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. Prerequisites: Graduate Standing. 3 hours.

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. Prerequisites: Graduate Standing. 3 hours.

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. Prerequisites: Graduate Standing. 3 hours.

738. Computer Systems Seminar. Prerequisites: Graduate Standing. 3 hours.

738A. Computer Systems Seminar. Prerequisites: Graduate Standing. 3 hours.

738B. Computer Systems Seminar. Prerequisites: Graduate Standing. 3 hours.

739. Topics in Distributed Computing Research. 3 hours.

740. Topics in Bioinformatics I. Introduction to computational methodologies in bioinformatics. Prerequisites: Graduate Standing. 3 hours.

741. Topics in Bioinformatics II. Introduction to computational methodologies in bioinformatics. Prerequisites: Graduate Standing. 3 hours.

747. Topics in Biomedical Modeling. Modeling from biomedical datasets. Construction and analysis of anatomical models; segmentation; morphometry; registration; medical illustration; surgical planning. Prerequisites: Graduate Standing. 3 hours.

748. Topics in Bioinformatics Seminar. Lectures & discussion on topics in Bioinformatics. Prerequisites: Graduate Standing. 3 hours.

750. Topics in Automata Theory. Formal grammars and automata, Turing machines, computability and decidability, computational complexity, intractability. Prerequisites: Graduate Standing. 3 hours.

751. Topics in Formal Language Theory. Parsing and translation theory, formal syntax, proof properties and complexity measures. Prerequisites: Graduate Standing. 3 hours.

752. Topics in Design and Analysis of Algorithms. Algorithms for bioinformatics applications, especially string matching algorithms. Also, traditional algorithmic techniques, such as greedy algorithms, dynamic programming, and branch and bound. Prerequisites: Graduate Standing. 3 hours.

753. Topics in Computational Geometry. Basic methods and data structures, geometric searching, convex hulls, proximity, intersections. Prerequisites: Graduate Standing. 3 hours.

758. Theoretical Foundations Seminar. Lectures & discussion on topics in Theoretical Foundations. Prerequisites: Graduate Standing. 3 hours.

760. Topics in Artificial Intelligence. Programming methodologies, logic foundations, natural language applications, expert systems. Prerequisites: Graduate Standing. 3 hours.

761. Topics in Expert Systems. Concepts and architectures, tools, reasoning, evaluations, selected examples. Prerequisites: Graduate Standing. 3 hours.

762. Topics in Natural Language Processing. Syntax, semantics, ATNs, logic grammars, language and memory. Prerequisites: Graduate Standing. 3 hours.

763. Topics in Knowledge Discovery & 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. Prerequisites: Graduate Standing. 3 hours.

764. Topics in Knowledge Representation. Logic, production systems, semantic nets, frames, multiple representational systems. Prerequisites: Graduate Standing. 3 hours.

765. Topics in Neural Networks. Theoretical fondations, associative memory, pattern processing, biological neural nets. Prerequisites: Graduate Standing. 3 hours.

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

768. Artificial Intelligence Seminar. Lectures & discussion on advanced topics in Artificial Intelligence.  Prerequisites: Graduate Standing. 3 hours.

770. Topics in Computer Graphics. Graphics architectures, geometric transforms, 3-D, object models, shading, intensity, hidden elements, color, advanced topics. Prerequisites: Graduate Standing. 3 hours.

771. Topics in Shape Design. This course covers various aspects of the design of shape models. These models are used in computer graphics, automobile and aircraft design, robotics, anatomical modeling, and many other disciplines. Point clouds, meshes, Bezier and B-spline curves and surfaces, implicits, subdivision surfaces, interpolation, intersection, building geometry from images. Prerequisites: Graduate Standing. 3 hours.

772. Topics in Motion Design. The description of a motion is important in robotics, computer animation, game design, and many other disciplines. This course covers various aspects of motion design. Position control, orientation control, camera control, motion planning, collision detection, swept surfaces, visibility analysis. Prerequisites: Graduate Standing. 3 hours.

773. Topics in Computer Vision. Image understanding feature extraction, domain-specific knowledge for high-level vision. Prerequisites: Graduate Standing. 3 hours.

775. Topics in Computer Visualization. Advanced Computer Graphics techniques aimed at "Scientific Visualization" applications. Prerequisites: Graduate Standing. 3 hours.

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. Prerequisites: Graduate Standing.  3 hours.

778. Graphics and Image Processing Seminar. Lectures & discussion on advanced topics in Graphics and Image Processing.  Prerequisites: Graduate Standing. 3 hours.

780. Topics in Numerical Computing Foundations. Matrix computations and matrix analysis, including solution of linear systems, solution of nonlinear systems, spectral analysis, quadrature, and least squares. Prerequisites: Graduate Standing. 3 hours.

781. Topics in Simulation Models and 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.Prerequisites: Graduate Standing. 3 hours.

782. Topics in Simulation, Methodology, and Application. Combined continuous and discrete simulation, simulation theory, modeling environments. Prerequisites: Graduate Standing. 3 hours.

788. Topics in Shape Modeling Seminar. Lectures & discussion on advanced topics in shape modeling. Prerequisites: Graduate Standing. 3 hours.

790. Special Topics. Selected Topics in Computer Science. Prerequisites: Graduate Standing. 3 hours.

791. Special Topics. Selected Topics in Computer Science. Prerequisites: Graduate Standing. 3 hours.

792. Special Topics. Selected Topics in Computer Science. Prerequisites: Graduate Standing. 3 hours.

793. Special Topics. Selected Topics in Computer Science. Prerequisites: Graduate Standing. 3 hours.

794. Special Topics. Selected Topics in Computer Science. Prerequisites: Graduate Standing. 3 hours.

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. Prerequisites: Permission of Instructor. 1-6 hours.

799. Dissertation Research. Pass/Fail. Prerequisite: Admission to candidacy. 1-6, 9 hours.