Computer Engineering (CPEN)

CPEN 101  Tools for Computer Engineering  (3 Units)  
Pre/Corequisite: MATH 221 or MATH 149. Orientation to degree programs and design practice in electrical and computer engineering. Introduction to computer applications and resources for engineering studies. (Formerly 4450:101)
  
CPEN 208  Programming for Engineers  (3 Units)  
Prerequisite: ELEN 101 or permission. Introduction to programming. Environment and tools. C programming language. Machine level data forms and organization. (Formerly 4450:208)
  
CPEN 210  Computational Problem Solving  (3 Units)  
Pre/Corequisites: [CPEN 208 or CPSC 209] and MATH 335. Elements of computation required for modeling and analysis of engineering systems. Complex algebra, linear systems of equations, numerical calculus, difference and differential equations, solution of nonlinear equations. (Formerly 4450:210)
  
CPEN 221  Digital Logic Design  (3 Units)  
Pre/Corequisites: ELEN 101 or CPEN 101 or BMEN 101. Boolean algebra and simplification of logic functions. Combinational and sequential circuits. Finite-state machine descriptions. (Formerly 4450:221)
  
CPEN 222  Digital Logic Design Laboratory  (1 Unit)  
Pre/Corequisite: CPEN 221. Design of digital systems with hardware description language and simulation. (Formerly 4450:222)
  
CPEN 301  Undergraduate Research I: Computer Engineering  (1 Unit)  

Prerequisites: [ELEN 101 or CPEN 101], [ELEN 230, ELEN 231, ELEN 330, ELEN 332, CPEN 221, and CPEN 222 each with a grade of B or better], admission to an engineering major within the College of Engineering and Polymer Science, and permission. Research project, supervised by faculty member of the department; requires oral research presentation and written report. (Formerly 4450:301)

  
CPEN 302  Undergraduate Research II: Computer Engineering  (2 Units)  
Prerequisites: [ELEN 301 or CPEN 301], admission to an engineering major within the College of Engineering and Polymer Science, and permission. Research project, supervised by faculty member of the department; requires oral research presentation and written report. (Formerly 4450:302)
  
CPEN 309  Design Project Seminar - Computer Engineering  (1 Unit)  

Prerequisites: Junior or higher standing and admission to an engineering major within the College of Engineering and Polymer Science. Pre/Corequisites: CPEN 420, CPEN 422, [CPSC 426 or CPEN 325], ELEN 340, and ELEN 360. Engineering capstone project selection and proposal, including preliminary technical specifications. Professional ethics. Intellectual property. Societal impact issues in engineering design. (Formerly 4450:309)

  
CPEN 320  Computer Systems  (3 Units)  
Prerequisites: [CPSC 209 or CPEN 208] and [CPEN 220 or CPEN 221 or MATH 208]. Introduces the design and architecture of modern computer systems. Data and instruction representation. Conventional computer organization. Hardware and software design processes. The hardware/software interface. (Formerly 4450:320)
  
CPEN 325  Operating Systems Concepts  (3 Units)  
Prerequisites: CPEN 320, CPSC 210. Processes and threads. Process communication and resource sharing. Deadlock resolution. Memory management. File systems. Introduction to network operating systems. (Formerly 4450:325)
  
CPEN 401  Senior Design Project I - Computer Engineering  (2 Units)  

Prerequisites: CPEN 309, senior standing, admission to an engineering major within the College of Engineering and Polymer Science, and [CPEN 420, CPEN 422, [CPEN 325 or CPSC 426], ELEN 340, and ELEN 360 with a grade of C or better in each]. Design and preparation phase of an engineering team project. System specification, design, and simulations; ordering of components; subsystem implementations. Requires project presentations and report. (Formerly 4450:401)

Gen Ed: Capstone  
CPEN 402  Senior Design Project II - Computer Engineering  (3 Units)  
Prerequisites: CPEN 401 and admission to an engineering major within the College of Engineering and Polymer Science. Implementation and evaluation phases of an engineering design project. Requires a project presentation and report. (Formerly 4450:402)
  
CPEN 410  Embedded Scientific Computing  (3 Units)  
Prerequisites: [CPEN 208 or CPSC 209] and ELEN 340. Fixed point, floating point representation and coding. Processor/DSP implementations. Assemblers, C language semantics. Adapting scientific library routines for embedded use. Minimizing complexity. Ill-conditioned problems. (Formerly 4450:410)
  
CPEN 415  System Simulation  (3 Units)  
Prerequisite: ELEN 371 or CPEN 440. Computer simulation of dynamic systems. Discrete system stability, linear multistep and Runge-Kutta methods, nonlinear systems, stiff systems, distributed systems and real-time computing. (Formerly 4450:415)
  
CPEN 420  Computer Systems Design  (3 Units)  
Prerequisite: CPEN 320. Design of advanced processors at the microarchitecture level. Pipelining. Superscalar, vector and VLIW architectures. Instruction-level parallelism. Compiler support. Multiprocessor architectures. (Formerly 4450:420)
  
CPEN 422  Embedded Systems Interfacing  (3 Units)  
Prerequisites: [CPSC 209 or CPEN 208], [CPEN 221 or CPEN 220], ELEN 332 and admission to an engineering major within the College of Engineering and Polymer Science. Microcontroller structures and embedded peripherals. Interfaces to physical environments. Software access to peripherals including timers, ADCs and DACs. Synchronous and asynchronous communications. Interrupts. Real-time operating systems. (Formerly 4450:422)
  
CPEN 427  Computer Networks  (3 Units)  
Prerequisite: CPEN 320; CPEN 325 or CPSC 426. Network architecture and protocol layering. Network design principles, communication protocols, and performance measures. Socket programming, routing, error detection and correction, access control, multimedia networking. (Formerly 4450:427)
  
CPEN 440  Digital Signal Processing  (3 Units)  
Prerequisites: ELEN 340 and admission to an engineering major within the College of Engineering and Polymer Science. Signal sampling and reconstruction; data-converter models. Unilateral and bilateral z transforms. Discrete Fourier Transform (DFT); Fast Fourier Transform (FFT). Digital filter structures and design methods. (Formerly 4450:440)
  
CPEN 450  Hardware Security and Trust  (3 Units)  

Prerequisite: CPEN 221 or EEET 237. Design, implementation, and deployment of secure and trustworthy hardware platforms, including chips, boards, and systems. Adversarial attack mechanisms and system vulnerabilities. Countermeasures to mitigate attacks. Hands-on experiments.

  
CPEN 462  Analog Integrated Circuit Design  (3 Units)  
Prerequisite: ELEN 360. CMOS processes and layout; amplifiers, current mirrors, and comparators; current, voltage, and bandgap references; switched capacitor circuits. Frequency and noise analysis techniques. (Formerly 4450:462)
  
CPEN 465  Programmable Logic  (3 Units)  
Prerequisites: [CPEN 220 or {CPEN 221 and CPEN 222}], and [CPSC 209 or CPEN 208]. Digital design with programmable devices. PLD and FPGA architectures. Logic design and technology mapping tools. (Formerly 4450:465)
  
CPEN 466  VLSI Design  (3 Units)  
Prerequisites: ELEN 360 and admission to an engineering major within the College of Engineering and Polymer Science. Digital logic circuits. Very large scale integration (VLSI) fabrication processes and layout design. Delay and power of digital circuits. Latches and flip-flops in VLSI. Memory design. System-level design issues. Design project. (Formerly 4450:367)
  
CPEN 467  VLSI Circuits & Systems  (3 Units)  
Prerequisite: CPEN 367. High performance adders and multipliers for very large scale integration (VLSI) systems. Architectural synthesis. Design for high performance, low power, and testability. (Formerly 4450:467)
  
CPEN 498  Special Topics: Computer Engineering  (1-3 Units)  
(May be taken more than once) Prerequisite: Permission of department chair. Special topics in computer engineering. (Formerly 4450:498)