 |
 |
|
 |
|
|
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.
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.
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
Relational model of databases, structured query language, normalized structure of database management systems based on relational model, and security and integrity of databases.
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.
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
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.
Project oriented hands-on approach.
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.
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.
Project oriented hands-on approach.
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.
Finite-state automata and regular expressions, context-free grammars and pushdown automata, turing machines, computability and decidability, and complexity classes.
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.
Selected Topics in Computer Science.
Selected Topics in Computer Science.
Selected Topics in Computer Science.
Selected Topics in Computer Science.
No description available.
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.
Credit for working in the Computer Science field. Does not count toward M.S. degree.
Context-sensitive and semantic aspects of programming languages, denotational semantics, mathematical foundations.
Proving properties of programs, termination and correctness, computability and decidability, role of formal methods in software design.
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
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
Seminar on Programming Languages.
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 level CS 510 Minimum Grade of B
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
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
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
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
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
Seminar on Database Systems.
Advanced topics in software design, including: Software modularization, design patterns, formal methods, and software testing.
Prerequisites:
Graduate level CS 520 Minimum Grade of B
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).
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
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.
This is a special topics class that meets once a week to study new research ideas emerging in the area of software engineering.
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.
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.
Object-oriented distributed systems design, distributed software architecture, data and resource access, communication, client-server computing, web technologies, enterprise technologies.
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.
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.
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.
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.
Lectures & discussion on advanced topics in Computer Systems.
Lectures & discussion on advanced topics in Computer Systems.
Lectures & discussion on advanced topics in Computer Systems.
Project based course using distributed parallel computing techniques. Can only be taken as part of a specialization in Distributed Computing.
Introduction to computational methodologies in bioinformatics.
Introduction to computational methodologies in bioinformatics.
Prerequisites:
Graduate level CS 640 Minimum Grade of B
No description available.
Lectures & discussion on topics in Bioinformatics.
Can only be taken as part of a specialization in Bioinformatics.
Formal grammars and automata, Turing machines, computability and decidability, computational complexity, intractability.
Prerequisites:
Graduate level CS 550 Minimum Grade of B
Parsing and translation theory, formal syntax, proof properties and complexity measures.
Algorithms for bioinformatics applications, especially string matching algorithms. Also, traditional algorithmic techniques, such as greedy algorithms, dynamic programming, and branch and bound.
Basic methods and data structures, geometric searching, convex hulls, proximity, intersections.
Lectures & discussion on topics in Theoretical Foundations.
Programming methodologies, logic foundations, natural language applications, expert systems.
Concepts and architectures, tools, reasoning, evaluations, selected examples.
Syntax, semantics, ATNs, logic grammars, language and memory.
Techniques used in data mining (such as frequent sets and association rules, decision trees, Bayesian networks, classification, clustering), algorithms underlying these techniques, and applications.
Logic, production systems, semantic nets, frames, multiple representational systems.
Theoretical foundations, associative memory, pattern processing, biological neural nets.
Interfaces and Engines for games and puzzles such as Chess, Checkers, Othello, Rubik's Cube, Go, Sudoku, etc.
Lectures & discussion on advanced topics in Artificial Intelligence.
Graphics architectures, geometric transforms, 3-D, object models, shading, intensity, hidden elements, color, advanced topics.
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.
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.
Image understanding feature extraction, domain-specific knowledge for high-level vision.
Advanced Computer Graphics techniques aimed at "Scientific Visualization" applications.
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.
Lectures & discussion on advanced topics in Graphics and Image Processing.
Can only be taken as part of a specialization in Computer Graphics.
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.
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.
Combined continuous and discrete simulation, simulation theory, modeling environments.
Lectures & discussion on advanced topics in Geometric Modeling.
Selected topics in Computer Science.
Selected topics in Computer Science.
Selected topics in Computer Science.
Selected topics in Computer Science.
Selected topics in Computer Science.
Selected readings, research and project development under direction of a faculty member. Must have permission of instructor and graduate program director.
Masters student registration.
Research for M.S. candidates writing a thesis.
Prerequisites:
Grad Admit Candidacy Plan I M
Context-sensitive and semantic aspects of programming languages, denotational semantics, mathematical foundations.
Proving properties of programs, termination and correctness, computability and decidability, role of formal methods in software design.
Lexical and syntactical scan, semantics, code generation and optimization, dataflow analysis, parallelizing compilers, automatic compiler generation.
Advanced topics in compiler design.
Lectures & discussion on advanced topics in Programming Languages.
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.
Relational, hierarchical, and network models; object-oriented databases, knowledge-based systems; security issues, concurrency control and distributed databases, query optimization; advanced topics.
Logic model for deductive databases, top-down and bottom-up evaluation, conjunctive and disjunctive queries, recursion, query optimization, universal relation model.
Object data model, object-oriented query languages and database architecture, schema evolution, integration with non-object-oriented models, query optimization.
Distributed DBMS architecture, query decomposition and data localization, distributed query optimization, transaction management, concurrency control, multidatabase systems.
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.
Lectures and discussion on advanced topics in Database Systems.
Advanced topics in software design, including: Software modularization, design patterns, formal methods, and software testing.
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).
Formal methods for software requirements specification, including VDM, Z, and object-oriented extensions; the relationship among formal requirements, design, and implementation.
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.
This is a special topics class that meets once a week to study new research ideas emerging in the area of software engineering.
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.
Object-oriented distributed systems design, distributed software architecture, data and resource access, communication, client-server computing, web technologies, enterprise technologies.
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.
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.
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.
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.
Lectures & discussion on advanced topics in Computer Systems.
Lectures & discussion on advanced topics in Computer Systems.
Lectures & discussion on advanced topics in Computer Science.
No description available.
Introduction to computational methodologies in bioinformatics.
Introduction to computational methodologies in bioinformatics.
No description available.
Lectures & discussion on topics in Bioinformatics.
Formal grammars and automata, Turing machines, computability and decidability, computational complexity, intractability.
Parsing and translation theory, formal syntax, proof properties and complexity measures.
Algorithms for bioinformatics applications, especially string matching algorithms. Also, traditional algorithmic techniques, such as greedy algorithms, dynamic programming, and branch and bound.
Basic methods and data structures, geometric searching, convex hulls, proximity, intersections.
Lectures & discussion on topics in Theoretical Foundations.
Programming methodologies, logic foundations, natural language applications, expert systems.
Concepts and architectures, tools, reasoning, evaluations, selected examples.
Syntax, semantics, ATNs, logic grammars, language and memory.
Techniques used in data mining (such as frequent sets and association rules, decision trees, Bayesian networks, classification, clustering), algorithms underlying these techniques, and applications.
Logic, production systems, semantic nets, frames, multiple representational systems.
Theoretical fondations, associative memory, pattern processing, biological neural nets.
Interfaces and Engines for games and puzzles such as Chess, Checkers, Othello, Rubik's Cube, Go, Sudoku, etc.
Lectures & discussion on advanced topics in Artificial Intelligence.
Graphics architectures, geometric transforms, 3-D, object models, shading, intensity, hidden elements, color, advanced topics.
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.
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.
Image understanding feature extraction, domain-specific knowledge for high-level vision.
Advanced Computer Graphics techniques aimed at "Scientific Visualization" applications.
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.
Lectures & discussion on advanced topics in Graphics and Image Processing.
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.
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.
Combined continuous and discrete simulation, simulation theory, modeling environments.
Lectures & discussion on advanced topics in Geometric Modeling.
Selected Topics in Computer Science.
Selected Topics in Computer Science.
Selected Topics in Computer Science.
Selected Topics in Computer Science.
Selected Topics in Computer Science.
Selected readings, research and project development under direction of a faculty member. Must have permission of instructor and graduate program director.
Prerequisite: Admission to candidacy.
Prerequisites:
Grad Admit Candidacy Plan I D
|
|
 |