Skip to main content
College of Engineering »

Computer Engineering and Computer Science

Information » Programs » CECS Courses »

Courses - CECS Graduate Level

519./419. Theory of Computation (3)

Prerequisite: CECS 328 with a grade of "C" or better.
Finite Automata and regular expressions. Pushdown automata and context-free languages. Turing machines and computability. Computational complexity.
Additional projects required for CECS 519. (Lecture-problems 3 hours) Letter grade only (A-F).

521./621. Database Architecture (3)

Prerequisites: CECS 328 and CECS 323 or CECS 421 all with a grade of "C" or better.
Relational database design theory-a rigorous approach. Security, recovery, transaction management, distributed databases and query optimization.
Master's students register in CECS 521 or CECS 621; Ph.D. students register in CECS 621. Additional projects required for CECS 621. (Lecture-problems 3 hours) Letter grade only (A-F).

524./624. Advanced Topics in Programming Languages (3)

Prerequisite: CECS 424 with a grade of "C" or better.
Intensive study of languages of current interest which support object-oriented, client-server, and multimedia applications (e.g. JAVA).
Master's students register in CECS 524 or CECS 624; Ph.D. students register in CECS 624. Additional projects required for CECS 624. (Lecture-problems 3 hours) Letter grade only (A-F).

526./626. Advanced Operating Systems (3)

Prerequisites: CECS 228 and CECS 326 all with a grade of "C" or better.
Theoretical foundations of concepts applied in the design of operating systems. Control of concurrent processes, deadlocks, mutual exclusion, virtual memory, resource management and scheduling.
Master's students register in CECS 526 or CECS 626; Ph.D. students register in CECS 626. Additional projects required for CECS 626. (Lecture–problems 3 hours) Letter grade only (A-F).

528./628. Advanced Analysis of Algorithms (3)

Prerequisites: CECS 328, MATH 380 or EE 380 all with a grade of "C" or better.
Theoretical analysis of algorithms. Divide and conquer, dynamic programming and greedy algorithms; basic search and traversal techniques including search trees; sorting; matrix manipulations; NP–completeness.
Master's students register in CECS 528 or CECS 628; Ph.D. students register in CECS 628. Additional projects required for CECS 628. (Lecture–problems 3 hours) Letter grade only (A-F).

529./429. Search Engine Technology (3)

Prerequisites: CECS 323 and CECS 328, MATH 380 or EE 380 all with a grade of "C" or better.
Models, algorithms, and evaluation of the retrieval of information from a collection of documents. Document preprocessing. Indexing and searching. Retrieval evaluation. Search engines.
Additional projects required for CECS 529. (Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

530./630. Advanced Computer Architecture I (3)

Prerequisite: CECS 341 or CECS 440 all with a grade of "C" or better.
Fundamentals of computer architecture. Description of architecture and description languages. Basic computer design and central processor implementation. Memory hierarchy and input/output. Pipelining. Vector processor, multiprocessor systems and dataflow machines.
Master's students register in CECS 530 or CECS 630; Ph.D. students register in CECS 630. Additional projects required for CECS 630. (Lecture-problems 3 hours) Letter grade only (A-F).

531./631. Advanced Computer Architecture II (3)

Prerequisite: CECS 530 with a grade of "C" or better.
Advanced computer architecture with emphasis on parallel processing. Vector processors and multiprocessor systems. Dataflow computation. RISC/CISC. Hypercube. Parallel software. Applications in artificial intelligence, signal/image processing, neural network and optical computing.
Master's students register in CECS 531 or CECS 631; Ph.D. students register in CECS 631. Additional projects required for CECS 631. (Lecture–problems 3 hours) Letter grade only (A-F).

532. Memory Design and Implementation (3)

Prerequisite: CECS 341 or CECS 440 all with a grade of "C" or better.
Logic design and operation, physical design and operation, performance characteristics, design trade-offs, energy consumption of modern memory hierarchies, memory errors and error correction.
Letter grade only (A-F). (Lecture-problems 3 hours)

543./643. Advanced Software Engineering (3)

Prerequisite: CECS 343 or CECS 443 all with a grade of "C" or better.
Study of software engineering as a broad, problem–solving discipline. Includes structured programming and software project management.
Master's students register in CECS 543 or CECS 643; Ph.D. students register in CECS 643. Additional projects required for CECS 643. (Lecture-problems 3 hours) Letter grade only (A-F).

544./644. Software Testing and Verification (3)

Prerequisite: CECS 543 with a grade of "C" or better.
Testing/verification techniques for software development including black box, white box, incremental, top-down and bottom-up, static and dynamic, performance, regression, thread, and stress testing. Object-oriented software testing with a hierarchical approach. Metrics for test, and verification will be introduced.
Master's students register in CECS 544 or CECS 644; Ph.D. students register in CECS 644. Additional projects required for CECS 644. (Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

545./645. Software Architecture (3)

Prerequisite: CECS 543 with a grade of "C" or better.
Includes architectural styles, pipes and filters, data abstraction and object-oriented organization, event-based, implicit invocation, layered systems, repositories, interpreters, process control, distributed processes, domain-specific software & heterogeneous architectures. Component-based design patterns & case studies.
Master's students register in CECS 545 or CECS 645; Ph.D. students register in CECS 645. Additional projects required for CECS 645. (Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

546./646. Fault Tolerant Computing Systems (3)

Prerequisite: CECS 341 or CECS 440 with a grade of "C" or better.
Fault tolerant techniques are studied as tools to assure the reliability and continuous availability of computing systems. Case studies of modern fault tolerant systems reviewed. Software fault tolerant systems studied as alternatives to verification and validation approaches to software reliability.
Master's students register in CECS 546 or CECS 646; Ph.D. students register in CECS 646. Additional projects required for CECS 646. (Lecture–problems 3 hours) Letter grade only (A-F).

547./647. Software Maintenance, Reengineering and Reuse (3)

Prerequisite: CECS 343 or equivalent with a grade of "C" or better.
Introduction to software maintenance, defect management, corrective, adaptive and perfective maintenance. Evolution of legacy software systems. Program comprehension techniques, reverse engineering, restructuring, refactoring of software systems. Software re-engineering, data reverse engineering. Software reuse. Impact analysis, regression testing.
Master's students register in CECS 547 or CECS 647; Ph.D. students register in CECS 647. Additional projects required for CECS 647. (Lecture-problems 3 hours) Letter grade only (A-F).

549./649. Advanced Computer Graphics (3)

Prerequisite: CECS 449 with a grade of "C" or better.
Three-dimensional representations, transformations and viewing. Color models and modeling methods. Hidden-line and hidden-surface removal. Lighting and shading. Visual realism. Topics of current interest.
Master's students register in CECS 549 or CECS 649; Ph.D. students register in CECS 649. Additional projects required for CECS 649. (Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

550./650. Pattern Recognition Using Artificial Intelligence (3)

Prerequisite: CECS 451 with a grade of "C" or better or consent of instructor.
General concepts of pattern recognition and trainable classifiers, decision theory, supervised learning, non-parametric techniques, rule-based systems and neural networks.
Master's students register in CECS 550; Ph.D. students register in CECS 650. Additional projects required for CECS 650. (Lecture-problems 2 hours, laboratory 3 hours) Not open for credit to students with credit in CECS 750. Letter grade only (A-F).

551./651. Advanced Artificial Intelligence (3)

Prerequisite: CECS 451 with a grade of "C" or better.
Advanced concepts in artificial intelligence. Topics include knowledge acquisition and representation, fuzzy logic, logical reasoning, multi-sensor integration, Dempster-Shafer's theory of evidential reasoning, real-time expert systems and neural networks.
Master's students register in CECS 551 or CECS 651; Ph.D. students register in CECS 651.Additional projects required for CECS 651. (Lecture-problems 3 hours) Letter grade only (A-F).

552./652. Computer Simulation and Modeling (3)

Prerequisites: EE 380 (or MATH 380) and CECS 326 all with a grade of "C" or better.
Studies of general purpose and special simulation software. Model verification including graphical models Applications in various areas.
Master's students register in CECS 552 or CECS 652; Ph.D. students register in CECS 652. Additional projects required for CECS 652. (Lecture-problems 3 hours) Letter grade only (A-F).

553./653. Machine Vision (3)

Prerequisite: Graduate standing in engineering or computer science.
Discussion and laboratory implementation of current research in vision and image understanding. Topics include image formation, early processing, segmentation, relational structures in 2-D and 3-D, motion, stereo, 3-D reconstruction, morphological methods and computer architecture for machine vision.
Master's students register in CECS 553 or CECS 653; Ph.D. students register in CECS 653. Additional projects required for CECS 653. (Lecture-problems 2 hours, laboratory 3 hours) Letter grade only (A-F).

561./461. Hardware/Software Co-design (3)

Prerequisite: CECS 341 or CECS 440 all with a grade of "C" or better.
Introduction to top-down methods for hardware/software system-on-chip co-design. Design flow – system specification, software implementation, hardware synthesis, system design, and verification. Process optimization with various design decisions emphasized. Projects/case studies using system-level design methods and tools.
Additional projects required for CECS 561. (Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

570./670. Concurrent Parallel Programming (3)

Prerequisite: CECS 328, or CECS 341, or CECS 440 all with a grade of "C" or better.
Introduction to concurrent and parallel programming for multiprocessing and distributed systems. Computational models and paradigms. Parallel programming languages and programming tools. Portable parallel programming and mapping techniques. Heterogeneous concurrent programming. Concurrent programming on local networks on workstations and personal computers.
Master's students register in CECS 570 or CECS 670; Ph.D. students register in CECS 670. Additional projects required for CECS 670. (Lecture-problems 2 hours, laboratory 3 hours) Letter grade only (A-F).

572./672. Advanced Computer Networking (3)

Prerequisite: CECS 474 with a grade of "C" or better
Advanced concepts in computer network theory and practice. Computer network design and standards for local area networks (LANs) and wide area networks (WANs). Computer network configuration and performance issues.
Master's students register in CECS 572 or CECS 672; Ph.D. students register in CECS 672. Additional projects required for CECS 672. (Lecture-problems 3 hours) Letter grade only (A-F).

574./674. Topics in Distributed Computer Systems (3)

Prerequisite: CECS 526 or CECS 572 or CECS 626 or CECS 672 all with a grade of "C" or better.
Network operating systems vs distributed operating systems, research and design issues of distributed operating systems, resources and resource management in distributed systems, communication security and user authentication.
Master's students register in CECS 574; Ph.D. students register in CECS 674. Additional projects required for CECS 674. (Lecture–problems 3 hours) Letter grade only (A-F). Not open for credit to students with credit in CECS 673 or CECS 773.

575./675. Object–Oriented Analysis and Design (3)

Prerequisites: CECS 475 and CECS 343 or CECS 443 or CECS 543 all with a grade of "C" or better.
An object–oriented approach to software development based on modeling objects from the real world. Object–oriented methodology from problem statement through analysis, system design, and object design. Implementation of object–oriented designs in various target environments. Case studies.
Master's students register in CECS 575 or CECS 675; Ph.D. students register in CECS 675. Additional projects required for CECS 675.
(Lecture-problems 3 hours) Letter grade only (A-F).

579. Applied Cryptography (3)

Prerequisite: CECS 478.
Course Description: Symmetric cryptosystems, stream ciphers, pseudorandom functions, message authentication codes (MACs), collision resistant hash functions, number theory and cryptographic hardness assumptions, public-key encryption (El-Gamaland RSA), digital signature schemes
Letter grade only (A-F). (Lecture-problems 3 hours)

590./690. Selected Topics in Computer Science (3)

Prerequisites: Graduate standing and consent of instructor.
Each offering is based on an area in computer science and technology in which recent advances have been made.
Letter grade only (A-F). May be repeated to a maximum of 6 units with consent of department. Topics announced in the Schedule of Classes. Master's students register in CECS 590 or CECS 690; Ph.D. students register in CECS 690. Additional projects required for CECS 690. (Lecture-problems 3 hours)

621./521. Database Architecture (3)

Prerequisites: CECS 328 and CECS 323 (or CECS 421) all with a grade of "C" or better.
Relational database design theory-a rigorous approach. Security, recovery, transaction management, distributed databases and query optimization.
Master's students register in CECS 521 or CECS 621; Ph.D. students register in CECS 621. Additional projects required for CECS 621. (Lecture-problems 3 hours) Letter grade only (A-F).

624./524. Advanced Topics in Programming Languages (3)

Prerequisite: CECS 424 with a grade of "C" or better.
Intensive study of languages of current interest which support object-oriented, client-server, and multimedia applications (e.g. JAVA).
Master's students register in CECS 524 or CECS 624; Ph.D. students register in CECS 624. Additional projects required for CECS 624. (Lecture-problems 3 hours) Letter grade only (A-F).

626./526. Advanced Operating Systems (3)

Prerequisites: CECS 228 and CECS 326 all with a grade of "C" or better.
Theoretical foundations of concepts applied in the design of operating systems. Control of concurrent processes, deadlocks, mutual exclusion, virtual memory, resource management and scheduling.
Master's students register in CECS 526 or CECS 626; Ph.D. students register in CECS 626. Additional projects required for CECS 626. (Lecture–problems 3 hours) Letter grade only (A-F).

628./528. Advanced Analysis of Algorithms (3)

Prerequisites: CECS 328, MATH 380 or EE 380 all with a grade of "C" or better.
Theoretical analysis of algorithms. Divide and conquer, dynamic programming and greedy algorithms; basic search and traversal techniques including search trees; sorting; matrix manipulations; NP–completeness.
Master's students register in CECS 528 or CECS 628; Ph.D. students register in CECS 628. Additional projects required for CECS 628. (Lecture–problems 3 hours) Letter grade only (A-F).

630./530. Advanced Computer Architecture I (3)

Prerequisite: CECS 341 or CECS 440 all with a grade of "C" or better.
Fundamentals of computer architecture. Description of architecture and description languages. Basic computer design and central processor implementation. Memory hierarchy and input/output. Pipelining. Vector processor, multiprocessor systems and dataflow machines.
Master's students register in CECS 530 or CECS 630; Ph.D. students register in CECS 630. Additional projects required for CECS 630. (Lecture-problems 3 hours) Letter grade only (A-F).

631./531. Advanced Computer Architecture II (3)

Prerequisite: CECS 530 with a grade of "C" or better.
Advanced computer architecture with emphasis on parallel processing. Vector processors and multiprocessor systems. Dataflow computation. RISC/CISC. Hypercube. Parallel software. Applications in artificial intelligence, signal/image processing, neural network and optical computing.
Master's students register in CECS 531 or CECS 631; Ph.D. students register in CECS 631. Additional projects required for CECS 631. (Lecture–problems 3 hours) Letter grade only (A-F).

643./543. Advanced Software Engineering (3)

Prerequisite: CECS 343 or CECS 443 all with a grade of "C" or better.
Study of software engineering as a broad, problem–solving discipline. Includes structured programming and software project management.
Master's students register in CECS 543 or CECS 643; Ph.D. students register in CECS 643. Additional projects required for CECS 643.
(Lecture-problems 3 hours) Letter grade only (A-F).

644./544. Software Testing and Verification (3)

Prerequisite: CECS 543 with a grade of "C" or better.
Various types of software testing and verification techniques for software development including black box, white box, incremental, top-down and bottom-up, static and dynamic, performance, regression, thread, and stress testing. Discussion of object-oriented software testing with a hierarchical approach. Metrics in complexity for testing, test, and verification plan will be introduced. Automatic software testing and some case studies.
Master's students register in CECS 544 or CECS 644; Ph.D. students register in CECS 644. Additional projects required for CECS 644. (Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

645./545. Software Architecture (3)

Prerequisite: CECS 543 with a grade of "C" or better.
Includes architectural styles, pipes and filters, data abstraction and object-oriented organization, event-based, implicit invocation, layered systems, repositories, interpreters, process control, distributed processes, domain-specific software & heterogeneous architectures. Component-based design patterns & case studies.
Master's students register in CECS 545 or CECS 645; Ph.D. students register in CECS 645. Additional projects required for CECS 645. (Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

646./546. Fault Tolerant Computing Systems (3)

Prerequisite: CECS 341 or CECS 440 with a grade of "C" or better.
Fault tolerant techniques are studied as tools to assure the reliability and continuous availability of computing systems. Case studies of modern fault tolerant systems reviewed. Software fault tolerant systems studied as alternatives to verification and validation approaches to software reliability.
Master's students register in CECS 546 or CECS 646; Ph.D. students register in CECS 646. Additional projects required for CECS 646. (Lecture–problems 3 hours) Letter grade only (A-F).

647./547. Software Maintenance, Reengineering and Reuse (3)

Prerequisites: CECS 343 or equivalent all with a grade of "C" or better.
Introduction to software maintenance, defect management, corrective, adaptive and perfective maintenance. Evolution of legacy software systems. Program comprehension techniques, reverse engineering, restructuring, refactoring of software systems. Software re-engineering, data reverse engineering.
Master's students register in CECS 547 or CECS 647; Ph.D. students register in CECS 647. Additional projects required for CECS 647. (Lecture-problems 3 hours) Letter grade only (A-F).

649./549. Advanced Computer Graphics (3)

Prerequisite: CECS 449 with a grade of "C" or better.
Three-dimensional representations, transformations and viewing. Color models and modeling methods. Hidden-line and hidden-surface removal. Lighting and shading. Visual realism. Topics of current interest.
Master's students register in CECS 549 or CECS 649; Ph.D. students register in CECS 649. Additional projects required for CECS 649. (Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

650./550. Pattern Recognition Using Artificial Intelligence (3)

Prerequisite: CECS 451 with a grade of "C" or better or consent of instructor.
General concepts of pattern recognition and trainable classifiers, decision theory, supervised learning, non-parametric techniques, rule-based systems and neural networks.
Master's students register in CECS 550; Ph.D. students register in CECS 650. Additional projects required for Ph.D. students. (Lecture-problems 2 hours, laboratory 3 hours) Letter grade only (A-F).

651./551. Advanced Artificial Intelligence (3)

Prerequisite: CECS 451 with a grade of "C" or better.
Advanced concepts in artificial intelligence. Topics include knowledge acquisition and representation, fuzzy logic, logical reasoning, multi-sensor integration, Dempster-Shafer's theory of evidential reasoning, real-time expert systems and neural networks.
Master's students register in CECS 551 or CECS 651; Ph.D. students register in CECS 651. Additional projects required for CECS 651. (Lecture-problems 3 hours) Letter grade only (A-F).

652./552. Computer Simulation and Modeling (3)

Prerequisites: EE 380 or MATH 380 and CECS 326 all with a grade of "C" or better.
Studies of general purpose and special simulation software. Model verification including graphical models Applications in various areas.
Master's students register in CECS 552 or CECS 652; Ph.D. students register in CECS 652. Additional projects required for CECS 652. (Lecture-problems 3 hours) Letter grade only (A-F).

653./553. Machine Vision (3)

Prerequisite: Graduate standing in engineering or computer science.
Discussion and laboratory implementation of current research in vision and image understanding. Topics include image formation, early processing, segmentation, relational structures in 2-D and 3-D, motion, stereo, 3-D reconstruction, morphological methods and computer architecture for machine vision.
Master's students register in CECS 553 or CECS 653; Ph.D. students register in CECS 653. Additional projects required for CECS 653. (Lecture-problems 2 hours, laboratory 3 hours) Letter grade only (A-F).

670./570. Concurrent Parallel Programming (3)

Prerequisite: CECS 328, or CECS 341, or CECS 440 all with a grade of "C" or better.
Introduction to concurrent and parallel programming for multiprocessing and distributed systems. Computational models and paradigms. Parallel programming languages and programming tools. Portable parallel programming and mapping techniques. Heterogeneous concurrent programming. Concurrent programming on local networks on workstations and personal computers.
Master's students register in CECS 570 or CECS 670; Ph.D. students register in CECS 670. Additional projects required for CECS 670. (Lecture-problems 2 hours, laboratory 3 hours) Letter grade only (A-F).

672./572. Advanced Computer Networking (3)

Prerequisite: CECS 474 with a grade of "C" or better
Advanced concepts in computer network theory and practice. Computer network design and standards for local area networks (LANs) and wide area networks (WANs). Computer network configuration and performance issues.
Master's students register in CECS 572 or CECS 672; Ph.D. students register in CECS 672. Additional projects required for CECS 672.
(Lecture-problems 3 hours) Letter grade only (A-F).

674./574. Topics in Distributed Computer Systems (3)

Prerequisite: CECS 526 or CECS 572 or CECS 626 or CECS 672 all with a grade of "C" or better.
Network operating systems vs distributed operating systems, research and design issues of distributed operating systems, resources and resource management in distributed systems, communication security and user authentication.
Master's students register in CECS 574; Ph.D. students register in CECS 674. Additional projects required for CECS 674. (Lecture–problems 3 hours) Letter grade only (A-F). Not open for credit to students with credit in CECS 773.

675./575. Object–Oriented Analysis and Design (3)

Prerequisites: CECS 475 and CECS 343 or CECS 443 or CECS 543 all with a grade of "C" or better.
An object–oriented approach to software development based on modeling objects from the real world. Object–oriented methodology from problem statement through analysis, system design, and object design. Implementation of object–oriented designs in various target environments. Case studies.
Master's students register in CECS 575 or CECS 675; Ph.D. students register in CECS 675. Additional projects required for CECS 675.
(Lecture-problems 3 hours) Letter grade only (A-F).

690./590. Selected Topics in Computer Science (3)

Prerequisites: Graduate standing and consent of instructor.
Each offering is based on an area in computer science and technology in which recent advances have been made.
Letter grade only (A-F). May be repeated to a maximum of 6 units with consent of department. Topics announced in the Schedule of Classes. Master's students register in CECS 590 or CECS 690; Ph.D. students register in CECS 690. Additional projects required for CECS 690. (Lecture-problems 3 hours)

694. Seminar in Computer Science (3)

Prerequisite: 6 units of 500- or 600-level CECS courses.
Intensive study of a broad selection of conceptual and theoretical problems in computer science. A written student research project and an oral presentation are required.
Letter grade only (A-F).

697. Directed Research (1-3)

Prerequisite: Classified Graduate standing.
Theoretical and experimental problems in computer science and engineering requiring extensive research. Advancement to candidacy and program GPA of at least 3.0 are required. Graduate advisor and project supervisor must be consulted prior to registration.
Independent Study. Letter grade only (A-F).

698. Thesis or Industrial Project (3-6)

Prerequisite: Advancement to Candidacy.
Planning, preparation, completion of thesis or equivalent industrial project report on a suitable topic in computer engineering and computer science following the library's prescribed format. Requires consultation with Graduate Advisor and submission of Agreement for Independent Study form each semester.
May be repeated to a maximum of 6 units in the same semester.


College of Engineering
University Course Listings
PDFPrint (PDF) Versions of the Catalog