2002-2003 Edition
Texas A&M University Graduate CatalogTexas A&M University Graduate Catalog
Catalog Contents
Academic Calendar
Board of Regents and System Administrative Officers
Texas A&M University Administrative Officers
Office of Graduate Studies
General Information
Degree Information
Admission
Registration and Academic Status
Tuition, Fees and Other Financial Information
Housing
Orientation
Resources for Students
Texas A&M University at Galveston
Course Descriptions
Faculty
Appendices
Section ContentsPrevious PageNext Page
 

 

Department of Computer Science

N. M. Amato, R. Bettati, J. Chen, S. B. Childs, Y. Choe, C. K. T. Chui, D. K. Friesen, R.Furuta, R. Gutierrez-Osuna, H. In, T. R. Ioerger, J. Järvi, A. Kerne, J. Keyser, E. J. Kim, A. Klappenecker, J. J. Leggett, D. Li, J. C. Liu, W. M. Lively, D. Loguinov, R. Mahapatra, B. H.McCormick, P. Nelson, Jr., S. M. Pike, M. S. Pilant, U. W.Pooch, L. Rauchwerger, W. Rundell, V. Sarin, F. M. Shipman, D. B.Simmons, D. Song, P. F. Stiller, B. Stroustrup, S. Sze, V. E. Taylor (Head), R. A. Volz, D.H.M.Walker, J. L. Welch, G. N. Williams, W. Zhao

The Department of Computer Science offers graduate studies leading to the degrees of Master of Computer Science, Master of Science in computer science and Doctor of Philosophy. In computer engineering, the Departments of Computer Science and Electrical Engineering offer a joint program leading to the degrees of Master of Engineering, Master of Science and Doctor of Philosophy.

Advanced study in computer science is designed to provide the skills to design and utilize modern computer systems. The field of computer science is rapidly changing and expanding, generating a need for computer scientists in the burgeoning industry. The Department of Computer Science is meeting these needs with advanced study in computer science.

Areas of study in computer science include seven core areas and five multi-disciplinary areas. The seven core areas include foundations of computing, human-centered systems, information, intelligent systems and robotics, software, software engineering and systems. The five multi-disciplinary areas include bioinformatics, brain networks, computational sciences, humanities informatics, and security.

Special laboratory facilities are available to graduate students in artificial intelligence, software engineering, graphics, robotics, distributed systems, real time computing, software, multimedia, computer architecture, and hypertext. The department houses several super minicomputers and a network of microcomputer systems and workstations for individual student use.

There is no foreign language requirement for the PhD program in computer science.

(CPSC)
601. Programming with C and Java. (3-0). Credit 3.

Survey of the C and Java programming languages, including principles of procedural and object-oriented languages; multi-disciplinary applications including business, Internet and engineering problems. Prerequisite: Graduate classification.

602. Object-Oriented Programming, Development and Software Engineering. (3-0). Credit 3.

Teaches students Object-Oriented Programming in C++; software engineering techniques presented to teach how to build high quality software; semester project gives quasi-real-world experience with issues such as requirements capture and object-orient development. Prerequisites: CPSC 601 or approval of instructor; graduate classification.

603. Database Systems and Applications. (3-0). Credit 3.

Introduction to the concepts and design methodologies of database systems for non-computer science majors; emphasis on E. F. Codd's relational model with hands-on design application. Prerequisites: CPSC 601; graduate classification. Credit will not be given for both CPSC 310 and 603.

605. Compiler Design. (3-0). Credit 3.

Advanced topics in compiler writing; parser generators and compiler-compilers; dynamic storage and scope resolution; data flow analysis and code optimization. Prerequisite: CPSC 434.

606. Software Engineering. (3-0). Credit 3.

Development of advanced concepts in software engineering; software development environments as a mechanism for enhancing productivity and software quality; the classification, evaluation and selection of methodologies for environments; rapid prototyping and reusability concepts; artificial intelligence techniques applied to software engineering. Prerequisite: CPSC 431 or approval of instructor.

607. Software Models and Metrics. (3-0). Credit 3.

Software models and metrics; productivity predicting techniques; complexity measures; software reliability models; cost estimation models. Prerequisite: CPSC 431.

608. Database Systems. (3-0). Credit 3.

Database modeling techniques; expressiveness in query languages including knowledge representation; manipulation languages data models; physical data organization; relational database design theory; query processing; transaction management and recovery; distributed data management. Prerequisite: CPSC 310 or 603.

609. Artificial Intelligence Approaches to Software Engineering. (3-0). Credit 3.

Artificial Intelligence techniques and approaches to software engineering; revolutionary paradigms and automatic programming; the knowledge-based assistant in management, specification capture, prototyping and maintenance; transformational systems and reusable library systems; AI tools for software development; graphical approaches to software engineering. Prerequisites: CPSC 606 and 625.

610. Hypertext/Hypermedia Systems. (3-0). Credit 3.

Comprehensive coverage of Hypertext/Hypermedia; basic concepts and definitions; fundamental components, architectures and models; problems and current solutions; design and implementation issues; and research issues. Prerequisites: CPSC 310 and 410.

611. Operating Systems and Applications. (3-0). Credit 3.

Review of computer architecture hardware/software evolution leading to contemporary operating systems; basic operating systems concepts; methods of operating systems design and construction; algorithms for CPU scheduling memory and general resource allocation; process coordination and management; case studies of several operating systems; quality-of-services of operating systems and their impact on applications. Prerequisites: CPSC 311; graduate classification. Credit will not be given for both CPSC 410 and 611.

612. Applied Networks and Distributed Processing. (3-0). Credit 3.

Fundamentals, including network design and protocol analysis, in the context of computer communications; the course mixes fundamentals with both programming and pragmatic views of engineering issues; it includes network architecture as well as principles of network engineering; focus is on applying principles of layered architecture to analyzing real networks; lab exercises focus on protocol understanding and programming; knowledge of UNIX and C programming helpful, but not required. Prerequisite: Graduate classification. Credit will not be given for both CPSC 463 and 612.

613. Operating Systems. (3-0). Credit 3.

Analysis of algorithms in computer operating systems; sequencing and control algorithms supporting concurrent processes; scheduling algorithms to minimize execution times and mean flow times; algorithms for allocating tasks to processors; allocation of memory (virtual and real); direct access device schedules; auxiliary and buffer storage models. Prerequisite: CPSC 410.

614. Computer Architecture. (3-0). Credit 3.

Reviews of von Neumann architecture and its limitations; parallel computer structures and concurrent computation; pipeline computers and vectorization methods; array processors, multiprocessor architectures and programming; dataflow computers. Prerequisite: CPSC 321.

615. Distributed Component Architecture. (3-0). Credit 3.

Introduce general techniques and approaches of software architecture (e.g., architecture style, ADL, ADME, UML, DSSA, distributed component and middleware); software life cycles; investigate distributed component architecture (COBRA, COM/DOM, JavaBeans) as specific examples of architecture for in-depth knowledge. Prerequisites: Knowledge of at least one object-oriented language (e.g., C++, Java); graduate classification.

617. Co-Design of Embedded Systems (CODES). (3-0). Credit 3.

Co-design methodologies of hardware-software systems; models of computation (MOC), system specification, co-simulation, synthesis, and verification; hardware-software implementation; core-based systems and interfaces, performance analysis and optimization; system on chip, power aware design. Prerequisites: CPSC 462 or equivalent (CPSC 410) and graduate classification.

618. Resilient Computer Systems. (3-0). Credit 3.

Impact of reliability on computer and network system design; stochastic models of reliability and availability in fault-tolerant systems; hardware, software and system interaction, system design for testability, isolation and recovery. Prerequisite: CPSC 321 or410. Cross-listed with ELEN 618.

619. Networks and Distributed Computing. (3-0). Credit 3.

Computer network concepts including network architecture, layering, protocols, packet switching and virtual circuits; performance evaluation and design considerations for local area networks; packet distributed networks; satellite networks. Prerequisite: CPSC 463.

620. Computational Geometry. (3-0). Credit 3.

Design and analysis of algorithms for solving geometrical problems; includes convex hull problems, Voronoi diagrams, range searching and proximity problems. Prerequisite: CPSC 311. Cross-listed with VIZA 670.

623. Parallel Geometric Computing. (3-0). Credit 3.

Parallel computer architectures and algorithms for solving geometric problems raised in VLSI design, pattern recognition and graphics; advanced research results in computational geometry including convexity, proximity, intersection, geometric searching and optimization problems. Prerequisite: CPSC 311 or ELEN 350. Cross-listed with ELEN 623.

625. Artificial Intelligence. (3-0). Credit 3.

Basic concepts and methods of artificial intelligence; Heuristic search procedures for general graphs; game playing strategies; resolution and rule based deduction systems; knowledge representation; reasoning with uncertainty. Prerequisite: CPSC 311.

626. Parallel Algorithm Design and Analysis. (3-0). Credit 3.

Design of algorithms for use on highly parallel machines; area-time complexity of problems and general lower bound theory; application (of these concepts) to artificial intelligence, computer vision and VLSI design automation. Prerequisite: CPSC 629.

627. Theory of Computability. (3-0). Credit 3.

Formal models of computation such as pushdown automata; Turing machines and recursive functions; unsolvability results; complexity of solvable results. Prerequisite: CPSC 433.

629. Analysis of Algorithms. (3-0). Credit 3.

Concrete algorithm design and analysis; abstract models to analyze the complexity of problems; NP-Completeness; approximation and probabilistic algorithms. Prerequisite: CPSC 311.

631. Programming Environments for Artificial Intelligence. (3-0). Credit 3.

Languages used in artificial intelligence with emphasis on LISP and PROLOG; environments for programming in these languages; practice using these environments in the solution of artificial intelligence problems. Prerequisite: CPSC 320 or 625.

632. Expert Systems. (3-0). Credit 3.

Basic concepts for building expert systems; inference strategies; applications and case studies; techniques for knowledge acquisition; use of existing tools for building expert systems. Prerequisite: CPSC 320 or 625.

633. Machine Learning. (3-0). Credit 3.

Machine learning is the study of self-modifying computer systems that can acquire new knowledge and improve their own performance; survey machine learning techniques, which include induction from examples, conceptual clustering, explanation-based learning, exemplar learning and analogy, discovery and genetic algorithms. Prerequisite: CPSC 320 or 625.

634. Intelligent User Interfaces. (3-0). Credit 3.

Intersection of artificial intelligence and computer-human interaction: emphasis on designing and evaluating systems that learn about and adapt to their users, tasks, and environments. Prerequisites: Graduate classification and approval of instructor.

636. Neural Networks. (3-0). Credit 3.

Basic concepts in neural computing; functional equivalence and convergence properties of neural network models; associative memory models; associative, competitive and adaptive resonance models of adaptation and learning; selective applications of neural networks to vision, speech, motor control and planning; neural network modeling environments. Prerequisites: MATH 304 and 308 or approval of instructor.

637. Complexity Theory. (3-0). Credit 3.

Deterministic, non-deterministic, alternating and probabilistic computations; reducibilities; P, NP and other complexity classes; abstract complexity; time, space and parallel complexity; and relativized computation. Prerequisite: CPSC 627 or approval of instructor.

639. Fuzzy Logic and Intelligent Systems. (3-0). Credit 3.

Introduces the basics of fuzzy logic and its role in developing intelligent systems; topics include fuzzy set theory, fuzzy rule inference, fuzzy logic in control, fuzzy pattern recognition, neural fuzzy systems and fuzzy model identification using genetic algorithms. Prerequisite: CPSC 625 or approval of instructor. Cross-listed with MEEN 676.

640. Quantum Algorithms. (3-0). Credit 3.

Introduction to the design and analysis of quantum algorithms; basic principles of the quantum circuit model; gives a gentle introduction to basic quantum algorithms; reviews recent results in quantum information processing. Prerequisite: CPSC 629 or approval of instructor.

641. Computer Graphics. (3-0). Credit 3.

Representations of 3-dimensional objects, including polyhedral objects, curved surfaces, volumetric representations and CSG models; techniques for hidden surface/edge removal and volume rendering; illumination and shading; anti-aliasing; ray tracing; radiosity; animation; practical experience with state-of-the-art graphics hardware and software. Prerequisite: CPSC 441. Cross-listed with VIZA 671.

644. Cortical Networks. (3-0). Credit 3.

The architecture of the mammalian cerebral cortex; its modular organization and its network for distributed and parallel processing; cortical networks in perception and memory; neuronal microstructure and dynamical simulation of cortical networks; the cortical network as a proven paradigm for the design of cognitive machines. Prerequisites: CPSC 420 or CPSC 625 and 636 and graduate classification

645. Geometric Modeling. (3-0). Credit 3.

Geometric and solid modeling concepts. Freeform curves and surfaces (splines and Bezier) with their relational, intersectional and global mathematical properties. Parametric representation of solids, topology of closed curved surfaces, boundary concepts and Boolean/Euler operators. Construction and display of curves and surfaces, and solid models. Prerequisites: CPSC 441 and 442 or equivalent. Cross-listed with VIZA 675.

646. The Digital Image. (3-2). Credit 4.

Tools and techniques for generation, handling and analysis of two dimensional digital images; image representation and storage; display, media conversion, painting and drawing; warping; color space operations, enhancement, filtering and manipulation. Prerequisite: VIZA 653 or approval of instructor. Cross-listed with VIZA 654.

647. Image Synthesis. (3-2). Credit 4.

Principles of image synthesis from 3-D scene descriptions; includes local and global illumination, shading, shadow determination, hidden surface elimination, texturing, raster graphics algorithms, transformations and projects. Prerequisite: VIZA 653 or approval of instructor. Cross-listed with VIZA 656.

648. Computer Aided Sculpting. (3-2). Credit 3.

Mathematical and artistic principles of 3-D modeling and sculpting; includes proportions, skeletal foundation, expression and posture, line of action; curves, surfaces and volumes, interpolation and approximation, parametric and rational parametric polynomials, constructive solid geometry, and implicit representations. Prerequisite: Approval of instructor. Cross-listed with VIZA 657.

649. Physically-Based Modeling. (2-2). Credit 3.

Physical simulation as used in choreography, geometric modeling, and the creation of special effects in computer graphics: a variety of problems and techniques explored which may include particle-methods, modeling and simulation of flexible materials, kinematics and constraint systems. Prerequisite: Approval of instructor. Cross-listed with VIZA 659.

651. Simulation I. (3-0). Credit 3.

Introduction to simulation and comparison with other problem-solving techniques; simulation methodology including generation of random numbers and variates, time flow mechanisms, sampling considerations, and validation and analysis of simulation models and results; survey of discrete simulation languages; applications of simulation, including operating systems and networks. Prerequisites: Graduate classification and knowledge of a minimum of three programming languages.

653. Computer Methods in Applied Sciences. (3-0). Credit 3.

Classical and modern techniques for the computational solution of problems of the type that traditionally arise in the natural sciences and engineering; introductions to number representation and errors, locating roots of equations, interpolation, numerical integration, linear algebraic systems, spline approximations, initial-value problems for ordinary differential equations and finite-difference methods for partial differential equations. Prerequisite: CPSC 442 or MATH 417.

654. Supercomputing. (3-0). Credit 3.

Principles of high-performance scientific computing systems, vectorization, advanced FORTRAN programming on supercomputers, numerical methods for supercomputers, performance measuring of supercomputers, multitasking. Prerequisites: Knowledge of FORTRAN; CPSC 442 or MATH 417 or equivalent.

659. Parallel/Distributed Numerical Algorithms and Applications. (3-0). Credit 3.

A unified treatment of parallel and distributed numerical algorithms; parallel and distributed computation models, parallel computation of arithmetic expressions; fast algorithms for numerical linear algebra, partial differential equations and nonlinear optimization. Prerequisites: CPSC 653; MATH 304. Cross-listed with ELEN 659.

660. Computational Linear Algebra. (3-0). Credit 3.

Techniques in matrix computation: elimination methods, matrix decomposition, generalized inverses, orthogonalization and least-squares, eigenvalue problems and singular value decomposition, iterative methods and error analysis. Prerequisite: CPSC 442 or equivalent or MATH 417 or equivalent. Cross-listed with MATH 660.

661. Integrated Systems Design Automation. (3-0). Credit 3.

VLSI design systems and their levels of abstracting; algorithms for general VLSI design and implementation; computer aided design tools and principles; physical and logical models. Prerequisite: Graduate classification.

662. Distributed Processing Systems. (3-0). Credit 3.

Principles and practices of distributed processing; protocols, remote procedure calls; file sharing; reliable system design; load balancing; distributed database systems; protection and security; implementation. Prerequisite: CPSC 410 or 463.

663. Real-Time Systems. (3-0). Credit 3.

Taxonomy of real-time computer systems; scheduling algorithms for static and dynamic real-time tasks; hard real-time communications protocols; programming languages and environments for real-time systems; case studies of real-time operating systems. Prerequisites: CPSC 410 and 456 or approval of instructor.

665. Advanced Networking and Security. (3-0). Credit 3.

Security aspects of various network protocols including investigation and tool development using "live" machines and networks. Prerequisites: Graduate classification and approval of instructor.

667. Collaborative Systems and Models. (3-0). Credit 3.

Collaborative systems support group activities over computer networks; emphasis on human factors, system design is different from traditional systems; overviews existing research efforts to address various design issues; state-of-the-art knowledge and how to implement collaborative applications. Prerequisites: CPSC 310, 410, a program language (C++/JAVA) and CPSC 436 or 671 or 672 or approval of instructor and graduate classification.

668. Distributed Algorithms and Systems. (3-0). Credit 3.

Introduction to fundamental algorithmic results in distributed computing systems; leader election, mutual exclusion, consensus, logical time and causality, distributed snapshots, algorithmic fault tolerance, shared memory, clock synchronization. Prerequisites: CPSC 629 or equivalent; approval of instructor.

669. Computational Optimization. (3-0). Credit 3.

Combinatorial theory of polytopes as a tool for the solution of combinatorial optimization problems; applications to max flow, matching and matroids; geometric interpretation of the results indicating the profound role that polyhedral combinatorics play in the design and complexity of approximation algorithms. Prerequisite: CPSC 629.

670. Information Storage and Retrieval. (3-0). Credit 3.

Representation, storage, and access to very large multimedia document collections; fundamental data structures and algorithms of information storage and retrieval systems; techniques to design and evaluate complete retrieval systems, including cover of algorithms for indexing, compressing, and querying very large collections. Prerequisites: CPSC 310 or approval of instructor; graduate classification.

671. Computer-Human Interaction. (3-0). Credit 3.

Comprehensive coverage of Computer-human Interaction (CHI) including history, importance, design theories and future direction; modeling computer users and interfaces, empirical techniques for task analysis and interface design, and styles of interaction. Prerequisite: Graduate classification.

672. Computer Supported Collaborative Work. (3-0). Credit 3.

Covers design, implementation and use of technical systems that support people working cooperatively; draws from the research area of Computer Supported Cooperative Work (CSCW) and includes current theoretical, practical, technical and social issues in CSCW and future directions of the field. Prerequisite: CPSC 671 or 610 or approval of instructor.

673. Information, Secrecy and Authentication I. (3-0) Credit 3.

Preliminaries; probability, information, entropy, signals, channels; group-theoretic view of messages; contemporary secrecy and digital signature systems; one-time pads, DES, RSA, DSS, wheels, LFSR-based systems; analog scramblers; key exchange, key management, secret sharing, access structures; measures of security. Prerequisites: Graduate classification and approval of instructor. Cross-listed with MATH 673.

674. Information, Secrecy and Authentication II. (3-0). Credit 3.

Classical and recent attacks; login, compression, error control and genetic codes; finite and infinite codes; matrices, graphs, duals, groups, morphisms, composites, products, rates and classification of codes; the confusion/diffusion/arithmetic/calculus extension of Shannon's two design primitives. Prerequisites: MATH 673; graduate classification or approval of instructor. Cross-listed with MATH 674.

675. Digital Libraries. (3-0). Credit 3.

Surveys current research and practice in Digital Libraries, which seek to provide intellectual access to large-scale, distributed digital information repositories; current readings from the research literature which covers the breadth of this interdisciplinary area of study. Prerequisite: Graduate classification in computer science.

677. Switching Theory. (3-0). Credit 3.

Digital systems design; introduction to switching algebras, overview of integrated circuit technologies, analysis and synthesis of combinational circuits, special properties of selected switching functions, sequential circuits, fundamental mode analysis, pulse mode analysis, and sequential circuit synthesis. Prerequisite: Graduate classification. Cross-listed with ELEN 652.

680. Testing and Diagnosis of Digital Systems. (3-0). Credit 3.

The theory and techniques of testing VLSI-based circuits and systems, and design for testability. Prerequisites: CPSC 321 or ELEN 350 or equivalent; ELEN 220 or 248 or equivalent. Cross-listed with ELEN 680.

681. Seminar. (1-0). Credit 1.

Reports and discussion of current research and of selected published technical articles. May not be taken for credit more than once in master's degree program nor twice in PhD program.

685. Directed Studies. Credit 1 to 12.

Research problems of limited scope designed primarily to develop research technique.

689. Special Topics in... Credit 1 to 4.

Selected topics in an identified area of computer science. May be repeated for credit. Prerequisite: Approval of instructor.

691. Research. Credit 1 or more.

Research for thesis or dissertation.