339
mobile cloud computing, recent advances, and hands-on experimenta-
tion. No credit for students who have earned credit for 4287. [3]
CS 5288. Web-based System Architecture. (Also listed as CS 4288)
Core concepts necessary to architect, build, test, and deploy complex
web-based systems; analysis of key domain requirements in security,
robustness, performance, and scalability. No credit for students who
have earned credit for 4288. FALL. [3]
CS 5891. Special Topics. (Also listed as CS 3891) [v ariable credit: 1-3
each semester] No credit for students who have earned credit for 3891.
CS 5892. Special Topics. (Also listed as CS 3892) [v ariable credit: 1-3
each semester] No credit for students who have earned credit for 3892.
CS 6310. Design and Analysis of Algorithms. [Formerly CS 310] Set
manipulation techniques, divide-and-conquer methods, the greedy
method, dynamic programming, algorithms on graphs, backtracking,
branch-and-bound, lower bound theory, NP-hard and NP-complete
problems, approximation algorithms. Prerequisite: CS 3250. SPRING. [3]
CS 6311. Graph Algorithms. [Formerly CS 311] Algorithms for dealing
with special classes of graphs. Particular emphasis is given to subclasses
of perfect graphs and graphs that can be stored in a small amount of
space. Interval, chordal, permutation, comparability, and circular-arc
graphs; graph decomposition. Prerequisite: CS 6310 or MATH 4710. [3]
CS 6315. Automated Verification. [Formerly CS 315] Systems verifi-
cation and validation, industrial case studies, propositional and predi-
cate logic, syntax and semantics of computational tree and linear time
logics, binary decision diagrams, timed automata model and real-time
verification, hands on experience with model checking using the SMv,
SPIN and u PPAAL tools, and state reduction techniques. [3]
CS 6320. Algorithms for Parallel Computing. [Formerly CS 320]
Design and analysis of parallel algorithms for sorting, searching,
matrix processing, FFT, optimization, and other problems. Existing
and proposed parallel architectures, including SIMD machines, MIMD
machines, and vLSI systolic arrays. Prerequisite: CS 6310. [3]
CS 6350. Artificial Neural Networks. [Formerly CS 350] Theory and
practice of parallel distributed processing methods using networks
of neuron-like computational devices. Neurobiological inspirations,
attractor networks, correlational and error-correction learning, regular-
ization, unsupervised learning, reinforcement learning, Bayesian and
information theoretic approaches, hardware support, and engineering
applications. SPRING. [3]
CS 6351. Advanced Animation. [Formerly CS 351] Current research
issues and problems in computer animation, with special focus on
motion capture, dynamic simulation, and key-framing. Cloth, deform-
able bodies, natural phenomena, geometric algorithms, procedural tech-
niques, facial animation, hair, autonomous characters, flocking, empirical
evaluation, and interfaces for animation. Prerequisite: CS 3259. FALL. [3]
CS 6352. Human-Computer Interaction. [Formerly CS 352] An over-
view of human computer interaction and problems of current interest.
Topics include: Human factors, GOMS, user interface design and eval-
uation, interaction modalities, distributed cognition, ubiquitous com-
puting. A project involving design and evaluation will be performed. [3]
CS 6358. Computer Vision. [Formerly CS 358] The fundamentals of
computer vision and techniques for image understanding and high-level
image processing. Includes image segmentation, geometric structures,
relational structures, motion, matching, inference, and vision systems.
Prerequisite: EECE 6357. SPRING. [3]
CS 6359. Medical Image Registration. [Formerly CS 359] Foundations
of medical image registration. Mathematical methods and practical appli-
cations. Image-to-image registration, image-to-physical registration,
applications to image-guided procedures and the most commonly used
imaging modalities with an emphasis on tomographic images. FALL. [3]
CS 6360. Advanced Artificial Intelligence. [Formerly CS 360] Discus-
sion of state-of-the-art and current research issues in heuristic search,
knowledge representation, deduction, and reasoning. Related applica-
tion areas include: planning systems, qualitative reasoning, cognitive
models of human memory, user modeling in ICAI, reasoning with uncer-
tainty, knowledge-based system design, and language comprehension.
Prerequisite: CS 4260 or equivalent. [3]
CS 6362. Machine Learning. [Formerly CS 362] An introduction to
machine learning principles of artificial intelligence, stressing learn-
ing's role in constraining search by augmenting and/or reorganizing
memory. Topics include connectionist systems; concept learning from
examples; operator, episode, and plan learning; problem-solving archi-
tectures that support learning; conceptual clustering; computer models
of scientific discovery; explanation-based learning; and analogical rea-
soning. Psychological as well as computational interests in learning are
encouraged. Prerequisite: CS 4260, CS 6360, or equivalent. SPRING. [3]
CS 6364. Intelligent Learning Environments. [Formerly CS 364]
Theories and concepts from computer science, artificial intelligence,
cognitive science, and education that facilitate designing, building,
and evaluating computer-based instructional systems. Development
and substantiation of the concept, architecture, and implementation of
intelligent learning environments. Multimedia and web-based technol-
ogy in teaching, learning, collaboration, and assessment. Prerequisite:
CS 4260, CS 6360, or equivalent. [3]
CS 6366. Distributed Artificial Intelligence. [Formerly CS 366] Prin-
ciples and practice of multiple agent systems for distributed artificial
intelligence. Game theory, distributed negotiation and decision making,
distributed problem solving, cooperation, coalition formation and dis-
tributed learning. Prerequisite: CS 4260. [3]
CS 6368. Computational Economics. Models and methods in computa-
tional economics, such as linear and non-linear optimization, decision the-
ory, game theory, mechanism design, and computational tools. Applica-
tions in areas such as auctions, economics of security and privacy, market
design, and algorithmic trading. Prereq: CS 4260 or CS 5260. SPRING. [3]
CS 6375. Discrete-Event Systems: Supervisory Control and Diag-
nosis. [Formerly CS 375] Algebraic structures, automata and formal
language theory, process modeling with finite-state automata, supervi-
sory control theory, controllability and supervision, supervisory control
under partial observation, modular and hierarchical supervisory control,
supervisory control of real-time systems, fault diagnosis of discrete-
event systems, and modular diagnosis approaches. SPRING. [3]
CS 6376. Foundations of Hybrid and Embedded Systems. [For-
merly CS 376] Modeling, analysis, and design of hybrid and embedded
systems. Heterogeneous modeling and design of embedded systems
using formal models of computation, modeling and simulation of hybrid
systems, properties of hybrid systems, analysis methods based on
abstractions, reachability, and verification of hybrid systems. FALL. [3]
CS 6377. Topics in Embedded Software and Systems. [Formerly CS
377] Specification and composition of domain-specific modeling lan-
guages. Design methodologies for embedded systems. Platforms for
embedded system design and implementation. Analysis of embedded
systems. SPRING. [3]
CS 6381. Distributed Systems Principles. [Formerly CS 381] Techniques
and mechanisms in distributed system design, such as logical clocks,
distributed consensus, distributed mutual exclusion, consistency models,
fault tolerance and paradigms of communication. Contemporary distrib-
uted system case studies and open challenges. Prerequisite: CS 3281. [3]
CS 6384. Performance Evaluation of Computer Systems. [Formerly
CS 384] Techniques for computer systems modeling and analysis.
Topics covered include analytical modeling with emphasis on queu-
ing network models, efficient computational algorithms for exact and
approximate solutions, parameter estimation and prediction, valida-
tion techniques, workload characterization, performance optimization,
communication and distributed system modeling. Prerequisite: CS
3281 or CS 6381. SPRING. [3]
CS 6385. Advanced Software Engineering. [Formerly CS 385] An
intensive study of selected areas of software engineering. Topics may
include CASE tools, formal methods, generative techniques, aspect-
oriented programming, metrics, modeling, reuse, software architecture,
testing, and open-source software. Prerequisite: CS 4278. FALL. [3]
School of Engineering / Courses