Skip to main content
College of Engineering »

Computer Engineering and Computer Science

Information » Programs » CECS Courses »

Courses - CECS Upper Division

300. Design of Dynamic Web Sites (3)

Prerequisite: CECS 200 with a grade of "C" or better.
Dynamic Web design using modern tools. Creation of domains, using hosting services and content management systems. Website portability, usability and accessibility.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

301. Computer Logic Design II (3)

Prerequisites: CECS 174, CECS 201 all with a grade of "C" or better.
Sequential logic emphasizing Finite State Machine design & analysis, timing analysis of sequential logic, Introduction to Data Path, Control and Memory. Use of Electronic Design Automation (EDA) tools for design, simulation, verification. Laboratory projects with Field Programmable Gate Arrays (FPGA's).
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F). Same course as CECS 301H. Not open for credit to students with credit in CECS 301H.

301H. Computer Logic Design II (3)

Prerequisites: CECS 174, CECS 201 all with a grade of "C" or better.
Sequential logic emphasizing Finite State Machine design & analysis, timing analysis of sequential logic, Introduction to Data Path, Control and Memory. Use of Electronic Design Automation (EDA) tools for design, simulation, verification. Laboratory projects with Field Programmable Gate Arrays (FPGA's). (Lecture 2 hours, laboratory 3 hours)
Letter grade only (A-F). CECS 301H is open only to students in the Engineering Honors Program. Additional assignments/projects adding depth to the course materials required for Engineering Honors students. Not open for credit to students with credit in CECS 301. (Lecture 2 hours, laboratory 3 hours)

302. Introduction to Computer Forensics (3)

Prerequisite: CECS 100
Introduction to principles of digital forensics, evidence collection, preservation and analysis. Topics include investigation principles, data acquisition, OS and memory recovery/analysis, computer network forensics, mobile forensics, legal consideration, ethics, digital evidence control and documentation.
Letter grade only (A-F). (Lecture 2 hours, Laboratory 3 hours).

303. Networks and Network Security (3)

Prerequisite: CECS 278
An examination of common computer security threats; fundamental techniques for implementing secure software systems and networks; practical experience in attacking and defending networked systems.
Letter grade only (A-F). (Lecture 2 hours, Laboratory 3 hours).

311. Principles of Computer Engineering II (3)

Prerequisites: CECS 201 and CECS 211 all with a grade of "C" or better.
Embedded system components. Bipolar and MOS devices and switching circuits. Embedded systems signal processing with operational amplifiers. Digital/analog interfacing including A/D and D/A converters. Schematic capture, analysis and implementation of embedded signal processing algorithms. Fundamentals of digital communication.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

323. Database Fundamentals (3)

Prerequisites: CECS 228 and (CECS 277 or CECS 282) all with a grade of C or better.
Fundamental topics on database management. Topics include entity-relationship models, database design, data definition language, the relational model, data manipulation language, database application programming and normalization.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

326. Operating Systems (3)

Prerequisites: CECS 275 or CECS 282 and CECS 341 or CECS 346 all with a grade of "C" or better.
The structure and functions of operating systems. Interrupt handling, processes and interprocess communication, memory management, resource scheduling, information sharing and protection. Project implementation in C/C++.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

327. Introduction to Networks and Distributed Computing (3)

Prerequisite: CECS 326 with a grade of "C" or better.
Introduction to Distributed Computing and Interprocess Communication. Networking Protocols. Client Server Paradigm. Peer to Peer Networking. Sockets and the Socket API. Distributed Objects. Coordination, Agreements and Distributed Transactions.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F). Same course as CECS 327H. Not open for credit to students with credit in CECS 327H.

327H. Introduction to Networks and Distributed Computing (3)

Prerequisite: CECS 326 with a grade of "C" or better.
Introduction to Distributed Computing and Interprocess Communication. Networking Protocols. Client Server Paradigm. Peer to Peer Networking. Sockets and the Socket API. Distributed Objects. Coordination, Agreements and Distributed Transactions.
Letter grade only (A-F). CECS 327H is open only to students in the Engineering Honors Program. Additional assignments/projects adding depth to the course materials required for Engineering Honors students. Not open for credit to students with credit in CECS 327. (Lecture 2 hours, laboratory 3 hours)

328. Data Structures and Algorithms (3)

Prerequisite: CECS 228 with a grade of "C" or better.
Corequisite: CECS 277.
A broad view of data structures and the structure-preserving operations on them. Abstract data types, algorithms, complexity. Programming projects to exemplify these concepts.
(Lecture 2 hours, laboratory 3 hours.) Letter grade only (A-F). Same course as CECS 328H. Not open for credit to students with credit in CECS 328H.

328H. Data Structures and Algorithms (3)

Prerequisite: CECS 228 with a grade of "C" or better.
Corequisite: CECS 277.
A broad view of data structures and the structure-preserving operations on them. Abstract data types, algorithms, complexity. Programming projects to exemplify these concepts.
Letter grade only (A-F). CECS 328H is open only to students in the Engineering Honors Program. Additional assignments/projects adding depth to the course materials required for Engineering Honors students. Not open for credit to students with credit in CECS 328. (Lecture 2 hours, laboratory 3 hours)

341. Computer Architecture and Organization (3)

Prerequisites: CECS 225 or CECS 285 with a grade of "C" or better.
Review of logic design. Instruction set architecture. Arithmetic logic units. Data path and control. Pipelining and performance. Memory system organization and design. Virtual memory and paging. I/O interfacing. Vector and array processing. Distributed computing and supercomputing. Contemporary computer designs.
(Lecture 2 hours, laboratory, 3 hours) Letter grade only (A-F).

343. Introduction to Software Engineering (3)

Prerequisites: CECS 277 or CECS 282 or CECS 275 all with a grade of "C" or better.
Principles of software engineering, UML, modeling large software systems, requirements elicitation, object oriented analysis and design using UML, introduction to design patterns, implementation of large systems, software testing, project management, the software lifecycle. Semester long programming project.
Letter grade only (A-F). (Lecture 2 hours, lab 3 hours)

346. Microprocessors and Controllers I (3)

Prerequisites: CECS 211 and CECS 262 all with a grade of "C" or better.
Intro microprocessor/controller, embedded programming and design. Basic computer organization, representation of information and instruction, addressing techniques, input/output, assembly language programming. Introduction to assemblers, linkage editors and loaders. Study of the 8051. Design of microprocessor-based systems.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F). Same course as CECS 346H. Not open for credit to students with credit in CECS 346H.

346H. Microprocessors and Controllers II (3)

Prerequisites: CECS 211 and CECS 262 all with a grade of "C" or better.
Intro microprocessor/controller, embedded programming and design. Basic computer organization, representation of information and instruction, addressing techniques, input/output, assembly language programming. Introduction to assemblers, linkage editors and loaders. Study of the 8051. Design of microprocessor-based systems.
Letter grade only (A-F). CECS 346H is open only to students in the Engineering Honors Program. Additional assignments/projects adding depth to the course materials required for Engineering Honors students. Not open for credit to students with credit in CECS 346. (Lecture 2 hours, laboratory 3 hours)

347. Microprocessors and Controllers II (3)

Prerequisites: CECS 311, and CECS 346 all with a grade of "C" or better.
Study of embedded processor applications and interfacing. Embedded systems design, control of external devices, embedded programming in C and assembly. A/D and D/A converters, digital signal processing, motor and LCD controllers. Laboratory implementation of embedded designs and hardware-assisted debugging.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

360. Integrated Circuit Design Software (3)

Prerequisites: CECS 301 and CECS 311 both with a grade of "C" or better.
Introduction to Computer Aided Design tools used in the design and fabrication of integrated circuits. Discussion of the IC fabrication process, the layout and routing of basic gates, transistor level design of gates, synthesis and RTL level design, floor planning, and IC development costs.
(Lecture 2 hours, lab 3 hours) Letter grade only (A-F).

378. Introduction to Computer Security Principles (3)

Prerequisites: CECS 229 and CECS 274 or CECS 275 all with a grade of “C” or better.
An introduction to the fundamentals of cryptography and information and computer security. Basic concepts, theories and protocols in computer security. Basic cryptography, software security, operating system security, database security, network security, human factors, social engineering, digital forensics, privacy and anonymity.
Letter grade only (A-F). (Lecture 2 hours, Laboratory 3 hours)

406. Selected Topics in Computer Science (3)

Prerequisite: Senior standing in the computer science major.
Each offering is based upon an area of 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 different topics in different semesters. Topics announced in the Schedule of Classes. (Lecture 2 hours, laboratory 3 hours)

410. Computers and Networks (3)

Prerequisite: Course design assumes familiarity with computers.
Gain practical, hands-on experience in installing hardware and software on a PC. Learn what a computer network is and how it is similar to the telephone network. Learn the parts that make up a computer and a network.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

412. Introduction to Computer Network Architectures (3)

Prerequisite: Familiarity with computers
Beginning course in computer networking designed to provide a grasp of network architectures through lecture/hands-on laboratory assignments. Overview of networking concepts and design essentials. Networking media and NICs. Network communications/protocols focusing on TCP/IP. Local area networks. Networking administration. Networking problems.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

419./519. 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.
Letter grade only (A-F). Additional projects required for CECS 519. (Lecture-problems 3 hours)

424. Organization of Programming Languages (3)

Prerequisites: CECS 326 and CECS 328 all with a grade of "C" or better.
Understanding the variety of programming languages and the design trade-offs between current programming language paradigms. Comparison of programming languages in their design, implementation, and run-time supports. Includes programming projects.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F). Same course as CECS 424H. Not open for credit to students with credit in CECS 424H.

424H. Organization of Programming Languages (3)

Prerequisites: CECS 326 and CECS 328 all with a grade of "C" or better.
Understanding the variety of programming languages and the design trade-offs between current programming language paradigms. Comparison of programming languages in their design, implementation, and run-time supports. Includes programming projects.
Letter grade only (A-F). CECS 424H is open only to students in the Engineering Honors Program. Additional assignments/projects adding depth to the course materials required for Engineering Honors students. Not open for credit to students with credit in CECS 424. (Lecture 2 hours, laboratory 3 hours)

428. Analysis of Algorithms (3)

Prerequisite: CECS 328 with a grade of "C" or better.
Applications of standard combinatorial techniques to applied programming problems. Rigorous analysis of correctness/complexity of algorithms. Advanced graph algorithms are emphasized. Topics include shortest paths on graphs, sorting, string matching, union find problem, divide-and-conquer technique, and weighted-edge problem.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

429./529. Search Engine Technology (3)

Prerequisites: CECS 323 and CECS 328, MATH 380 or EE 381 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).

440. Computer Architecture (3)

Prerequisites: CECS 346 with a grade of "C" or better.
Review of logic design. Register transfer and micro-operations. Basic computer organization. Central processor organization. Microprogram control organization. Arithmetic processor design. Arithmetic algorithms. Input-output organization. Memory organization.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F). Same course as CECS 440H. Not open for credit to students with credit in CECS 440H.

440H. Computer Architecture (3)

Prerequisites: CECS 346 with a grade of "C" or better.
Review of logic design. Register transfer and micro-operations. Basic computer organization. Central processor organization. Microprogram control organization. Arithmetic processor design. Arithmetic algorithms. Input-output organization. Memory organization.
Letter grade only (A-F). CECS 440H is open only to students in the Engineering Honors Program. Additional assignments/projects adding depth to the course materials required for Engineering Honors students. Not open for credit to students with credit in CECS 440. (Lecture 2 hours, laboratory 3 hours)

444. Compiler Construction (3)

Prerequisites: CECS 328 and CECS 341, all with a grade of “C” or better.
Syntax directed compiler study. Organization of a compiler and overall design: parsing, semantic analysis, optimization and code generation.
(Lecture 2 hours, laboratory 3 hours). Letter grade only (A-F).

445. Software Design and Architecture (3)

Prerequisites: CECS 343 with a grade of "C" or better and senior standing .
In-depth look at software design, design patterns, frameworks, architectures and middleware architectures. Component based design including COM, Corba, and .Net. Fundamentals of software metrics, measuring software qualities. Basics of software evolution, reengineering, and reverse engineering. A semester long team project.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

447. Microprocessors and Controllers III (3)

Prerequisite: CECS 347 with a grade of "C" or better.
Embedded system applications and techniques. Real-time multi-tasking systems, schedulers, kernels, and operating systems for embedded processors. Advanced I/O technologies - CAN, I2C, Ethernet. Embedded Internet applications. Polling vs. interrupt handling. Lab implementation of embedded designs and hardware-assisted debugging.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

448. User Interface Design (3)

Prerequisite: CECS 343 with a grade of "C" or better or consent of instructor.
Evaluation, design and programming of user interface systems. Fundamentals of human cognition, system characteristics, and the interaction between humans and systems. Usability methods and user/task-centered design. Tools for designing and building user interfaces, with emphasis on rapid applications development.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

449. Computer Graphics (3)

Prerequisites: CECS 328 and CECS 229 or MATH 247 all with a grade of "C" or better.
Introduction to the theory and practice of computer graphics, Graphics systems, 2-D and 3-D modeling, transformations, viewing transformations, projections, rendering techniques.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

451. Artificial Intelligence (3)

Prerequisites: CECS 328 with a grade of “C” or better.
Introduction to the history and implementation of artificial intelligence agents. Topics include search, constraint satisfaction, game-playing, logical agents, belief networks, optimal sequential decision systems. Project implementation.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

453. Mobile Application Development (3)

Prerequisite: CECS 328 with a grade of "C" or better or consent of the instructor.
Languages and application programming interfaces for mobile device platforms. Development of thick and thin client applications for mobile devices.
Letter grade only (A-F). (Lecture 2 hours, Laboratory 3 hours)

455. Introduction to Game Programming (3)

Prerequisite: CECS 328 with a grade of "C" or better or consent of instructor.
Introduction to game programming and graphics. "Slow" games. Real-time games with no adversary. Adversarial real-time games in 2-D.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

460. System on Chip Design (3)

Prerequisite: CECS 360 with a grade of "C" or better.
Complete System on Chip (SOC) design flow from design specification to working SOC. Creation of RTL level modules designed for reuse, integration of Intellectual Property (IP) for RTL and physical level IP, IC verification, creation of self-checking test benches for designs.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F). Same course as CECS 460H. Not open for credit to students with credit in CECS 460H.

460H. System on Chip Design (3)

Prerequisite: CECS 360 with a grade of "C" or better.
Complete System on Chip (SOC) design flow from design specification to working SOC. Creation of RTL level modules designed for reuse, integration of Intellectual Property (IP) for RTL and physical level IP, IC verification, creation of self-checking test benches for designs.
Letter grade only (A-F). CECS 460H is open only to students in the Engineering Honors Program. Additional assignments/projects adding depth to the course materials required for Engineering Honors students. Not open for credit to students with credit in CECS 460. (Lecture 2 hours, laboratory 3 hours)

461./561. 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).

463. System on Chip (SOC) Applications (3)

Prerequisite: CECS 360 with a grade of "C" or better.
System on Chip (SOC) design applications. Study of a variety of signal processing SOC designs and ASIC algorithms. Class projects emphasizing hardware/software integration with use of FPGA/CPLD devices. Design reviews, specification, team design implementation with project planning and tracking for system level design applications.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

470. Web Programming and Accessibility (3)

Prerequisites: CECS 323 and CECS 343 all with a grade of "C" or better.
Introduction to World-Wide Web development. Accessibility issues. Web architecture, standards, and programming, emphasizing XML technologies and cascading style sheets. Visual design principles and information architecture. Client-side and server-side programming and protocols. Development for adaptive technologies and mobile devices.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

474. Computer Network Interoperability (3)

Prerequisite: CECS 326 with a grade of "C" or better.
Overview of computer network theory and practice from a systems perspective. Topics include network infrastructure, local area network (LAN) protocols, wide area network (WAN) protocols, switching technologies, Internet Protocol (IP), Transmission Control Protocol (TCP), network security, and network configuration, design, and performance.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

475. Software Development with Frameworks (3)

Prerequisite: CECS 343 with a grade of "C" or better.
Introduction to enterprise application development utilizing a modern software framework. Topics include large-scale software design, framework components, data management, events, extensibility, user interfaces, web services, and web applications. Includes programming projects.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

476. System and Network Administration (3)

Prerequisites: CECS 326 with a grade of "C" or better.
Introduction to the management and administration of Unix systems and TCP/IP networks. Managing users, local and network file systems, electronic mail, print queues. Establishing and managing a network.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

478. Introduction to Computer Security (3)

Prerequisite: CECS 328 or CECS 346 with a grade of "C" or better.
Controlling the risk of computer security. Security threats and vulnerabilities in the development and use of computer systems. Tools and controls that can reduce or block these threats. Law, privacy and ethics.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F). Same course as CECS 478H. Not open for credit to students with credit in CECS 478H.

478H. Introduction to Computer Security (3)

Prerequisite: CECS 328 or CECS 346 with a grade of "C" or better.
Controlling the risk of computer security. Security threats and vulnerabilities in the development and use of computer systems. Tools and controls that can reduce or block these threats. Law, privacy and ethics.
Letter grade only (A-F). CECS 478H is open only to students in the Engineering Honors Program. Additional assignments/projects adding depth to the course materials required for Engineering Honors students. Not open for credit to students with credit in CECS 478. (Lecture 2 hours, laboratory 3 hours)

490A. Computer Engineering Senior Project I (3)

Prerequisites: CECS 347 with a grade of "C" or better, senior standing.
The first in a two-course capstone senior project in computer engineering that fulfills GE integrative learning. Students work in teams to define a problem, complete a design and provide both a written report and a multimedia presentation at the end of the semester.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

490B. Computer Engineering Senior Project II (3)

Prerequisites: CECS 490A, with a grade of "C" or better and consent of instructor.
Second of a two-semester capstone senior project in computer engineering that fulfills GE integrative learning. Student teams will build, program and verify operation of project started in prior design course. Student teams must submit a written report, give an oral multimedia presentation and provide a working demonstration.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

491A. Software Engineering Project I (3)

Prerequisites: CECS 323, CECS 343 and ENGR 350, all with a grade of "C" or better.
First course in a two-course capstone design sequence that fulfills integrative learning. Design of a commercial grade software application including requirements analysis, functional, architectural and detailed design, emphasizing written communication, teamwork and the Object-Oriented Methodology.
Letter grade only (A-F), (Lecture 2 hours, laboratory 3 hours)

491B. Software Engineering Project II (3)

Prerequisite: CECS 491A with a grade "C" or better.
Second course in a two-course capstone design sequence that fulfills integrative learning. Implementation, testing, packaging and deployment of the system designed in CECS 491A emphasizing written communication, teamwork and the Object-Oriented Methodology.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

492A. Distributed and Cloud Computing Project I (3)

Prerequisites: CECS 326, CECS 343 and ENGR 350, all with a grade of "C" or better.
First course in a two-course capstone design sequence. Design of a distributed or cloud computing application. Design experience, including detailed requirement analysis, design decisions, teamwork, written reports and oral presentation.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

492B. Distributed and Cloud Computing Project II (3)

Prerequisite: CECS 492A with a grade "C" or better.
Second course in a two-course capstone design sequence. Implementation of a distributed or cloud computing application. Implementation experience, including detailed documentation, testing and evaluation of the implementation, teamwork, written reports and oral presentation.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

493A. Database Web Application Project I (3)

Prerequisites: CECS 323, CECS 343 and ENGR 350, all with a grade of "C" or better.
Corequisite: ENGR 350.
First of a two-course capstone senior project in computer science that fulfills GE integrative learning. Propose, design, and prototype a data-intensive web application. Object-oriented modeling, analysis and software engineering. Teamwork, written report and oral presentation required.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

493B. Database Web Application Project II (3)

Prerequisite: CECS 493A with a grade "C" or better .
Second of a two-course capstone senior project in computer science that fulfills GE integrative learning. Design, implement, test and deploy a data-intensive web application. Requires object oriented and test-driven development. Teamwork, written report and oral presentation required.
Letter grade only (A-F). (Lecture 2 hours, laboratory 3 hours)

495. Computational Physiology (3)

Prerequisite: EE 381 with a grade of "C" or better.
This course will introduce students to cardiovascular (heart) and cerebrovascular (brain) systems and signals, and the computational methods to analyze related signals, and detect/predict a physiological event of interest.
Same course as: EE 495. Not open for credit to students with credit in EE 495.
Letter Grade only (A-F). (Lecture 2 hours, Laboratory 3 hours).

496. Computer Science Problem Solving (1)

Prerequisites: CECS 274 with a grade of "C" or better and consent of instructor.
Problem solving in Computer Science. Theory necessary to solve computer science problems and the solutions to the problems. Problems studied will involve applications of graph theory, data structures, recursion, and algorithms.
(Lecture 1 hour) May be repeated to a maximum of 6 units in different semesters. Letter grade only (A-F).

497. Directed Studies (1–3)

Prerequisite: Consent of instructor.
Assigned study in topics in current computer literature or computer-related projects with a final report.
May be repeated to a maximum of 6 units with written consent of the Department Chair.


College of Engineering

University Course Listings