557. Computer-Aided Geometric Design. (3) Prerequisite: CS 240, Math 343; or equivalents. Free-form curves and surfaces: mathematical theory and algorithms. Bezier and B-spline curves and surfaces, subdivision surfaces, T-splines, free-form deformation, and intersection algorithms. Several programming projects.
579. Natural Language Processing. (3) Prerequisite: instructor's consent. Machine translation, human-computer dialog, question answering, parsing, and generating from an artificial intelligence and machine learning perspective.
586. Multiprocessor programming and verification. (3) Prerequisite: CS 312 Concurrency theory and practical application of concurrent programming for shared memory systems including coarse grain locking, fine grain locking, optimistic locking, lock-free constructs, and wait-free constructs.
598R. Special Projects. (1-3) Prerequisite: instructor's consent.
601R. Special Topics in Computer Science. (1-3) Prerequisite: instructor's consent. Subjects as announced before each semester.
611. Theoretical Foundations of Computing. (3) Prerequisite: CS 252 or equivalent; CS 312 or instructor's consent. Proofs (deductive and inductive reasoning), computability (models of computability and computability issues), and complexity (time and space bounds, nondeterminism, and complexity classification).
621. Pattern Recognition. (3) Prerequisite: CS 450 or equivalent. Design and use of pattern classifiers for recognition and classification of one- and two-dimensional signals such as voice, images, and handwriting. Emphasis on images.
650. Computer Vision 1. (3) Prerequisite: CS 450 or equivalent. Machine vision, image segmentation, mathematical morphology, image enhancement and filtering, edge detection, feature extraction, neighborhood operators, region growing, boundary detection, scene segmentation, and matching.
651. Theoretical Foundations of Object-Oriented Data Engineering. (3) Prerequisite: CS 452 or instructor's consent. Applying model and proof theory to object-oriented database development and data engineering; construction of theory-based tools; conceptual model formalization; topics of current interest.
652. Information Extraction and Integration. (3) Prerequisite: CS 452 (or equivalent) and/or 553. Information extraction from structured, semi-structured, and unstructured documents, including Web documents; integrating heterogeneous source information; theoretical foundations of information modeling; topics of current interest.
653. Information Retrieval. (3) Prerequisite: CS 236 or equivalent. IR modeling, IR query languages, text indexing and searching, retrieval evaluation, query and text operations, parallel and distributed IR, Web searching.
655. Advanced Computer Graphics. (3) Prerequisite: CS 455 or instructor's consent. Advanced computer graphics systems programming and architecture, including ray tracing, radiosity, animation, and physically based modeling.
656. Interactive Software Systems. (3) Prerequisite: CS 330, 456; or instructor's consent. Advanced techniques for interacting with humans using pen-based, speech-based, hand-held, wall-sized, and room-sized devices. Embedding computing in everyday objects.
660. Computer Networks. (3) Prerequisite: CS 460, Stat. 321; or equivalents. Computer networking, software architecture, organization protocols, routing, global networks, local networks, internetworking, standards, and applications.
665. Advanced Computer Security. (3) Prerequisite: CS 465 or instructor's consent. Authentication and authorization using digital credentials.
670. Multi-Agent Systems. (3) Prerequisite: CS 470 or equivalent; CS 478 or instructor's consent. Introduction to fundamental concepts emphasizing current literature. Topics include: game theory, repeated play games, Arrow's impossibility theorem, negotiation, search, and learning.
673. Computational Creativity. (3) Prerequisite: CS 478 or CS 470 or instructor's consent. Introduction to the foundational literature in computational creativity; inter-disciplinary and synergistic, with a heavy emphasis on a course project whose goal is to produce a computational system to which creativity (in some form) can be attributed.
677. Bayesian Methods in Computer Science. (3) Prerequisite: CS 470 or instructor's consent. Applying Bayesian methods useful for incorporating confidence or belief into problems in computer science, allowing computers to better handle uncertainty.
678. Neural Networks and Machine Learning. (3) Prerequisite: CS 478 or equivalent. Advanced models, algorithms, and approaches in neural networks and machine learning.
680. High Performance Computer Architecture. (3) Prerequisite: CS/EcEn 324 or equivalent. Advanced topics in computer architecture, including pipelining, super pipelining, VLIW, superscalar, branch prediction, and speculative execution.
684. Parallel Processing. (3) Prerequisite: CS 324, 345, CS 380; or equivalent. Theoretical and practical study of parallel processing including a discussion of parallel architectures, parallel programming languages, and parallel algorithms.