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).

310. Computer-Based Learning Resources (3)

Prerequisite: CECS 200 with a grade of "C" or better.
Explore and learn to use the many existing web-based education tools that focus on teaching technology. Evaluation of resources for age appropriateness and gender preferences. Students will develop a web-based tool to teach a technical subject of their choice. Field work required.
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 282 and either CECS 285 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. Net-centric Computing (3)

Prerequisite: CECS 326 with a grade of "C" or better.
Introduction to Distributed Computing and Interprocess Communication. Client Server Paradigm. Sockets and the Socket API. Unicasting and Multicasting. Distributed Objects. CORBA. Internet Applications.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

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.

341. Computer Architecture and Organization (3)

Prerequisites: 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 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).

347. Microprocessors and Controllers II (3)

Prerequisites: CECS 301, 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, CECS 346, MATH 123 or MATH 222 all 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).

401. Programming Robots – For Educators (3)

Prerequisite: Some programming experience.
Learn how to inspire interest in engineering and computer science among children ages 9 through 16. Using robotic kits, gain hands-on experience in problem solving and computer programming while constructing and programming unique robot inventions.
May not be used to satisfy any MSCS requirements. (Lecture 2 hours, laboratory 3 hours). Letter grade only (A-F).

405. Selected Topics in Computer Science (3)

Prerequisite: Senior standing in computer science major.
Selected topics from recent advances in computer science and technology.
Letter grade only (A-F). May be repeated to a maximum of 6 units with different topics. Topics announced in the Schedule of Classes. (Lecture-problems 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).

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 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).

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).

443. Software Engineering (3)

Prerequisite: CECS 326 with a grade of "C" or better.
Software life cycle. Functional decomposition, data flow and object-oriented development. Reusability and portability.
(Lecture 2 hours, laboratory 3 hours) Letter grade only (A-F).

444. Compiler Construction (3)

Prerequisites: CECS 285 and CECS 328 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 3 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: MATH 247, CECS 282 and CECS 328 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 277 and CECS 328 all 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).

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).

472. Computer Network Programming (3)

Prerequisites: CECS 326 all with a grade of "C" or better.
Fundamentals of computer network programming. Client-server programming. Concepts of computer network programming including the RPC Procedure Call, CORBA, multicasts, and broadcasts.
(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. Application Programming Using .NET (3)

Prerequisite: CECS 343 with a grade of "C" or better.
A rigorous introduction to enterprise application development utilizing the .NET environment. Topics include GUI interface concepts, multithreading, collections and web forms as well as application interfaces to database, web services and networks. Intensive individual projects as well as a team project.
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 323, CECS 328, and one course selected from CECS 472, CECS 474, CECS 476 all 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).

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: ENGR 350 and CECS 343 all with a grade "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: ENGR 350, CECS 327 and CECS 343 all with a grade "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 and CECS 343 all with a grade "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)

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
PDFPrint (PDF) Versions of the Catalog