May 11, 2024  
2021-2022 Undergraduate and Graduate Catalog 
    
2021-2022 Undergraduate and Graduate Catalog [ARCHIVED CATALOG]

Courses


 

Computer Engineering and Computer Science

  
  • CECS 571 - Fundamentals of Semantic Web technologies


    (3 units)

    Prerequisite: Open to Computer Engineering MS, Computer Science MS and Engineering MS students only.
    Introduction to key Semantic Web technologies that extend the current Web. Semantic-driven applications, structured data, ontologies, knowledge modeling and engineering, linked data, logic and inference, XML, XML Schema, RDF, RDFS, OWL (Full, DL, Lite).

    Letter grade only (A-F). (Lecture-problems 3 hours)
  
  • CECS 572 - Advanced Computer Networking


    (3 units)

    Prerequisite: Open to Computer Engineering MS, Computer Science MS and Engineering MS students only.
    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 .

    Letter grade only (A-F). (Lecture-problems 3 hours). Double Numbered with: CECS 672 
  
  • CECS 574 - Distributed Computing


    (3 units)

    Prerequisite: Open to Computer Science MS, Computer Engineering MS, or Engineering MS students only
    Theoretical foundations, Models, Distributed Graph Algorithms, Local Algorithms, Leader Election, Consensus, Agreement Protocols, Peer-To-Peer Overlays, Evolving Networks, Mobile Agents. Master’s students register in CECS 574; Ph.D. students register in CECS 674 . Additional projects required for CECS 674 .

    Letter grade only (A-F). (Lecture-problems 3 hours) Not open for credit to students with credit in CECS 673 or CECS 773. Double Numbered with: CECS 674
  
  • CECS 575 - Object-Oriented Analysis and Design


    (3 units)

    Prerequisites: Open to Computer Science MS, Computer Engineering MS, or Engineering MS students only.
    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 .

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 675
  
  • CECS 579 - Information Security


    (3 units)

    Prerequisite: Open to Computer Engineering MS, Computer ScienceMS, and Engineering MS students only.
    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)
  
  • CECS 590 - Selected Topics in Computer Science


    (3 units)

    Prerequisites: Open to Computer Engineering MS, Computer Science MS and Engineering MS students only.
    Each offering is based on an area in computer science and technology in which recent advances have been made. Additional projects required for CECS 690 .

    Letter grade only (A-F). (Lecture-problems 3 hours). 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 . Double Numbered with: CECS 690  
  
  • CECS 621 - Database Architecture


    (3 units)

    Prerequisites: Open to Computer Science MS, Computer Engineering MS, or Engineering MS students only.
    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.

    Letter grade only (A-F). (Lecture-problems 3 hours). Double Numbered with: CECS 521  
  
  • CECS 624 - Advanced Topics in Programming Languages


    (3 units)

    Prerequisite: Open to Computer Science MS, Computer Engineering MS, or Engineering MS students only.
    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.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 524
  
  • CECS 626 - Advanced Operating Systems


    (3 units)

    Prerequisites: Open to Computer Science MS, Computer Engineering MS, or Engineering MS students only
    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.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 526
  
  • CECS 628 - Advanced Analysis of Algorithms


    (3 units)

    Prerequisites: Open to Computer Science MS, Computer Engineering MS, or Engineering MS students only.
    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.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 528
  
  • CECS 630 - Advanced Computer Architecture I


    (3 units)

    Prerequisite: Open to Computer Science MS, Computer Engineering MS, or Engineering MS students only.
    Fundamentals of computer architecture. Parallelism, Instruction Level Parallelism, Pipelining. Hazards and their management, Branch Prediction, Dynamic Scheduling, Multiple Instructions, Multithreading, Data Level Parallelism, SIMD, Graphic Processing Units, Memory Hierarchy, Cache, Virtual Memory, Protection. Master’s students register in CECS 530  or CECS 630; Ph.D. students register in CECS 630. Additional projects required for CECS 630.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 530
  
  • CECS 631 - Advanced Computer Architecture II


    (3 units)

    Prerequisite: Open to Computer Engineering MS, Computer Science MS and Engineering MS students only; CECS 530  with a grade of “C” or better.
    Processor Level Parallelism, Interconnection of Processors, Shared and Distributed Memory, Cache Coherence Protocols and Synchronization, Multicomputers, Network Topologies, Shared Media versus Switched Media, Routing, Arbitration and Switching, Clusters, Warehouse Scale Computers, Cloud Computing, Memory Hierarchy, Improving Cache Performance. Master’s students register in CECS 531  or CECS 531 ; Ph.D. students register in CECS 631. Additional projects required for CECS 631.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 531
  
  • CECS 643 - Advanced Software Engineering


    (3 units)

    Prerequisite: Open to Computer Science MS, Computer Engineering MS, or Engineering MS students only.
    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.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 543
  
  • CECS 644 - Software Testing and Verification


    (3 units)

    Prerequisite: Open to Computer Engineering MS, Computer Science MS and Engineering MS students only; 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.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 544
  
  • CECS 645 - Software Architecture


    (3 units)

    Prerequisite: Open to Computer Engineering MS, Computer Science MS and Engineering MS students only; 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.

    Letter grade only (A-F). (Lecture-problems 3 hours). Double Numbered with: CECS 545 
  
  • CECS 646 - Fault Tolerant Computing Systems


    (3 units)

    Prerequisite: Open to Computer Science MS, Computer Engineering MS, or Engineering MS students only.
    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.

    Letter grade only (A-F). 3 units @ C-4 (Lecture-problems 3 hours) Double Numbered with: CECS 546
  
  • CECS 647 - Software Maintenance, Reengineering and Reuse


    (3 units)

    Prerequisites: Open to Computer Engineering MS, Computer Science MS and Engineering MS students only.
    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.

    Letter grade only (A-F). (Lecture-problems 3 hours). Double Numbered with: CECS 547 
  
  • CECS 650 - Pattern Recognition


    (3 units)

    Prerequisite: Open to Computer Engineering MS, Computer Science MS and Engineering MS students only.
    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.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 550
  
  • CECS 651 - Advanced Artificial Intelligence


    (3 units)

    Prerequisite: Open to Computer Engineering MS, Computer Science MS and Engineering MS students only.
    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.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 551
  
  • CECS 653 - Machine Vision


    (3 units)

    Prerequisite: Open to Computer Engineering MS, Computer Science MS and Engineering MS students only.
    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.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 553
  
  • CECS 670 - Concurrent Parallel Programming


    (3 units)

    Prerequisite: Open to Computer Science MS, Computer Engineering MS, or Engineering MS students only.
    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.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 570
  
  • CECS 672 - Advanced Computer Networking


    (3 units)

    Prerequisite: Open to Computer Engineering MS, Computer Science MS, and Engineering MS students only.
    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.

    Letter grade only (A-F). (Lecture-problems 3 hours) Double Numbered with: CECS 572  
  
  • CECS 674 - Distributed Computing


    (3 units)

    Prerequisite: CECS 528  with a grade of “C” or better. Computer Engineering MS, Computer Science MS, and Engineering MS students only.
    Theoretical foundations, Models, Distributed Graph Algorithms, Local Algorithms, Leader Election, Consensus, Agreement Protocols, Peer-To-Peer Overlays, Evolving Networks, Mobile Agents. Master’s students register in CECS 574 ; Ph.D. students register in CECS 674. Additional projects required for CECS 674.

    Letter grade only (A-F). (Lecture-problems 3 hours) Not open for credit to students with credit in CECS 773. Double Numbered with: CECS 574
  
  • CECS 675 - Object-Oriented Analysis and Design


    (3 units)

    Prerequisites: Open to Computer Science MS, Computer Engineering MS,  or Engineering MS students only.
    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 343 ; Ph.D. students register in CECS 675. Additional projects required for CECS 675.

    Letter grade only (A-F). Lecture-problems 3 hours May be repeated to a maximum of 6 units in the same semester. Double Numbered with: CECS 575
  
  • CECS 690 - Selected Topics in Computer Science


    (3 units)

    Prerequisites: Open to Computer Engineering MS, Computer Science MS, and Engineering MS students only and consent of instructor.
    Each offering is based on an area in computer science and technology in which recent advances have been made. Additional projects required for CECS 690.

    Letter grade only (A-F). (Lecture-problems 3 hours) 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. Double Numbered with: CECS 590  
  
  • CECS 697 - Directed Research


    (1-3 units)

    Prerequisite: Open to Computer Engineering MS, Computer Science MS, or Engineering MS students only.
    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.

    Credit/No Credit grading only.
  
  • CECS 698 - Thesis or Industrial Project


    (3-6 units)

    Prerequisite: Advancement to Candidacy. Computer Engineering MS, Computer Science MS, and Engineering MS students only.
    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.

    Both grading options. May be repeated to a maximum of 6 units in the same semester.
 

Page: 1 | 2