Computer Engineering (CPE)

This is an archived copy of the 2017-2018 catalog. To access the most recent version of the catalog, please visit

How to Read Course Descriptions

CPE 64.     Introduction to Logic Design. 4 Units

Prerequisite(s): CSC 15 or CSC 25.

Covers the following topics: logic gates, binary number system, conversion between number systems, Boolean algebra, Karnaugh maps, combinational logic, digital logic design, flip-flops, programmable logic devices (PLDs), counters, registers, memories, state machines, designing combinational logic and state machines into PLDs, and basic computer architecture. Lab emphasizes the use of software equation entry design tools, the use of a schematic entry, and the use of a logic simulation design tool. Lab assignments are design-oriented. Lecture three hours; laboratory three hours.

Cross Listed: EEE 64; only one may be counted for credit.

CPE 64W.     Introduction to Logic Design Workshop. 1 Unit

Corequisite(s): CPE 64.

Designated to assist students in developing a more thorough understanding of logic simulation and logic design. Focus is on problem solving and design. Activity two hours.

Cross Listed: EEE 64W; only one may be counted for credit.

Credit/No Credit

CPE 138.     Computer Networks and Internets. 3 Units

Prerequisite(s): CSC 35, CSC 60, CSC 130.

Overview of the fundamentals of computer networks and connections between networks, from the physical layer up through peer-to-peer communications at the application level. Lower layer characteristics including serial vs. parallel, capacity issues, high-speed connections, LAN framing and error handling. LAN vs. WAN characteristics, network architecture and the ISO network model. Internetworking components including LANs, repeaters, routers, bridges, and gateways. Internet addresses, TCP/IP, and the Domain Name System. Common Internet client/server application protocols including SMTP and FTP. Client/Server programming involving sockets. World Wide Web characteristics including CGI and HTTP protocol, Web pages, Web browsers, Web servers, and Applets. Introduction to advanced Web issues such as Web security, Search engine operations, and Web database operations.

Cross Listed: CSC 138; only one may be counted for credit.

CPE 142.     Advanced Computer Organization. 3 Units

Prerequisite(s): CSC 137 or CPE 166 and CPE 185.

Design and performance issues of computers. Instruction set architecture, computer arithmetic, processor design, survey of contemporary architectures, interfacing I/O devices, hierarchal memory design and analysis, parallelism and multiprocessing, distributed systems, techniques for enhancing performance, and an introduction to EDA tools for design and verification of computers. Design and simulation of a microcomputer in an HDL.

Note: Open to students with full CSC or CPE major standing only. Cross Listed: CPE 142; only one may be counted for credit.

CPE 144.     Dsp Architecture Design. 3 Units

Prerequisite(s): CPE 142.

Fundamental principles of Digital Signal Processing (DSP): sampling theory, aliasing effects, frequency response, Finite Impulse Response filters, Infinite Impulse Response filters, spectrum analysis, Z transforms, Discrete Fourier Transform, and Fast Fourier Transform. Emphasis on hardware design to achieve high-speed real and complex multiplications and additions. Pipelining, Harvard, and modified Harvard architectures are included. Concludes with architectural overviews of modern DSP applications: modems, speech processing, audio and video compression and expansion, and cellular.

CPE 151.     Cmos And Vlsi. 3 Units

Prerequisite(s): CPE 64 and EEE 108.

Begins with an introduction to CMOS gates and design of CMOS combinational and sequential functions at the gate level, including CMOS memory. The theory of MOS transistors is covered including: DC equations, threshold voltage, body effect, subthreshold region, channel length modulation, tunneling, punch through, basic CMOS invertor, and the CMOS transmission gate. A basic exposure to VLSI includes the following topics: CMOS processing technology, CMOS layout, CMOS circuit design and CMOS logic design. Simulations on SPICE and basic VLSI layouts using LEDIT will be included.

CPE 153.     Vlsi Design. 3 Units

Prerequisite(s): CPE 151.

Review basic CMOS VLSI technology, circuit characterization and performance estimation, and provides detailed information on synthesis, placing and routing, clocking strategies, quality and reliability, and I/O structures. Design examples, design techniques, and testing techniques will be presented via current EDA design tools. Students assigned one project from concept design through validation.

CPE 159.     Operating System Pragmatics. 3 Units

Prerequisite(s): CSC 139.

Application of operating system principles to the design and implementation of a multi-tasking operating system. Students will write an operating system for a computer system. Topics include scheduling of processes, control and allocation of computer resources and user interfacing.

Cross Listed: CSC 159; only one may be counted for credit.

CPE 166.     Advanced Logic Design. 4 Units

Prerequisite(s): CPE 64, ENGR 17.

VHDL and Verilog Hardware Description Languages are studied and used on the following advanced level logic design topics: synchronous state machines, asynchronous state machines, metastability, hazards, races, testability, boundary scan, scan chains, and built-in self-tests. Commercial Electronic Design Automation (EDA) toolsets are used to synthesize lab projects containing a hierarchy of modules into Field Programmable Gate Arrays (FPGAs). Post synthesis simulations by these same tools verify the design before implementation on rapid prototyping boards in the lab.

CPE 185.     Computer Interfacing. 4 Units

Prerequisite(s): CPE 64, CSC 35 and CSC 60.

Design of microcomputer systems including memory systems, parallel and serial input/output, timer modules, and interrupt structures; designing "C" language code, in laboratory, to exercise interface modules of parallel and serial input/output, timer modules, and interrupts; extensive study of interrupt handlers, assemblers, linkers, and loaders. Practical features of interfaces, handshaking techniques, displays, keypads, and trackballs are included.

CPE 186.     Computer Hardware System Design. 3 Units

Prerequisite(s): CPE 185 or EEE 174.

Study of Intel and Motorola architectures, bus structures, interrupts, memory interface and controllers, bus arbitration, DMA controllers, I/O interface, bridges and microcontroller. Electromagnetic compatibility and regulations, cabling and shielding, grounding, digital circuit noise and layout.

CPE 187.     Embedded Processor System Design. 2 Units

Prerequisite(s): CPE 166, CPE 185, EEE 102, and (GWAR Certification before Fall 09, or WPJ score of 70+, or at least a C- in ENGL 109M or ENGL 109W).

Students will design, construct and test an embedded processor system project. All address decoding, control functions, input and output ports, handshaking signals and interrupt control will be implemented in an FPGA. The system will interface to a microcontroller system. Students will use an assembler, a C compiler and either VHDL or Verilog to fully test their project. Laboratory techniques include oscilloscopes, logic analyzers, protocol analyzers and programmers for EPROMs, FLASH and microcontrollers. One lecture per week and one three-hour laboratory per week.

CPE 190.     Senior Design Project I. 2 Units

Prerequisite(s): CPE 142, CPE 166, CPE 186, CPE 187, EEE 108

Centers on developing hardware and software project planning and engineering design skills. Emphasis is placed on design philosophies, problem definition, project planning and budgeting, written and oral communication skills, working with others in a team arrangement, development of specifications and effective utilization of available resources. Lecture one hour per week, laboratory three hours per week.

CPE 191.     Senior Design Project II. 2 Units

Prerequisite(s): CPE 190, and (GWAR Certification before Fall 09, or WPJ score of 70+, or at least a C- in ENGL 109M or ENGL 109W).

Continuation of CPE 190. Students are expected to continue the project started by design teams in CPE 190. The hardware will be completed, tested and redesigned if necessary. At the same time, software for the project will be finished and debugged. The final results of the team project will be presented to the CPE faculty and students at a prearranged seminar. Lecture one hour, laboratory three hours.

CPE 195.     Fieldwork in Computer Engineering. 1 - 15 Units

Prerequisite(s): Petition approval by Program Coordinator.

Directed observations and work experience in computer engineering with firms in the industry or public agencies. Supervision is provided by the instructional staff and the cooperating agencies. Faculty approval required.

Note: May be repeated for credit.

Credit/No Credit

CPE 195A.     Professional Practice. 1 - 12 Units

Prerequisite(s): Instructor permission.

Supervised employment in a professional engineering or computer science environment. Placement arranged through the College of Engineering and Computer Science. Requires satisfactory completion of the work assignment and a written report.

Credit/No Credit

CPE 195B.     Professional Practice. 1 - 12 Units

Prerequisite(s): Instructor permission.

Supervised employment in a professional engineering or computer science environment. Placement arranged through the College of Engineering and Computer Science. Requires satisfactory completion of the work assignment and a written report.

Credit/No Credit

CPE 195C.     Professional Practice. 1 - 12 Units

Prerequisite(s): Instructor permission.

Supervised employment in a professional engineering or computer science environment. Placement arranged through the College of Engineering and Computer Science. Requires satisfactory completion of the work assignment and a written report.

Credit/No Credit

CPE 199.     Special Problems. 1 - 3 Units

Prerequisite(s): Instructor permission.

Individual projects or directed reading.

Note: Open only to those students who appear competent to carry on individual work. Admission to this course requires approval of the faculty member under whom the individual work is to be conducted, in addition to the approval of the advisor. May be repeated for credit.

CPE 201.     Research Methodology. 1 Unit

Prerequisite(s): Fully classified graduate status.

Research methodology, problem formulation and problem solving. Collective and individual study of selective issues and problems relating to fields of study in the Computer Engineering Graduate Program. Orientation to the requirements for Master's Thesis or Project in Computer Engineering.

Credit/No Credit

CPE 273.     Hierarchical Digital Design Methodology. 3 Units

Prerequisite(s): CSC 205, EEE 285 or their equivalents.

Advanced logic modeling, simulation, and synthesis techniques. Topics include modeling, simulation, and synthesis techniques, using Hardware Description Language (HDL's), Register Transfer Level (RTL) representation, high level functional partitioning, functional verification and testing, computer-aided logic synthesis, logical verification and testing, timing and delay analysis, automated place and route process', and design with Application Specific Integrated Circuits (ASICs) and programmable logic.

CPE 274.     Advanced Timing Analysis. 3 Units

Prerequisite(s): EEE 273, CSC 273, CPE 273 or instructor permission.

Timing analysis of Application Specific Integrated Circuit (ASIC) designs: Topics include ASIC design methodology, static timing analysis, timing design constraints, design reports, clock timing issues, timing exceptions, operating conditions, hierarchical analysis, analyzing designs with asynchronous logic, performance measurement and power issues.

Cross-listed: EEE 274; only one may be counted for credit.

CPE 280.     Advanced Computer Architecture. 3 Units

Prerequisite(s): CSC 205, fully classified graduate status.

Introduction to parallel architecture covering computer classification schemes, fine and course grain parallelism, processor interconnections, and performance issues of multiprocessor systems. Includes parallel and pipelined instruction execution, structure of multiprocessor systems, memory hierarchy and coherency in shared memory systems, programming issues of multiprocessor systems, arithmetic pipeline design, and design for testability.

CPE 296T.     Digital Speech Processing. 3 Units

Prerequisite(s): EEE 181 or instructor permission.

The objective of this course is to cover the digital processing of speech signals. Topics include speech production and perception, speech processing in the time frequency domains. Short-time energy and Short-time Fourier analysis, homomorphic and linear predictive coding methods. Also covered are speech coding, basic introduction of text-to-speech synthesis and speech recognition.

Cross listed: EEE 296T.

CPE 299.     Special Problems. 1 - 3 Units

Prerequisite(s): Instructor permission.

Open to qualified students who wish to pursue problems of their own choice. Projects must have approval and supervision of a faculty advisor.

CPE 500.     Culminating Experience. 1 - 3 Units

Prerequisite(s): Advanced to candidacy and graduate coordinator's permission.

Completion of a thesis or project approved for the master's degree.

Note: May be repeated for credit.