Description: Introduction to hardware
architectures for computer graphics and their programming
models. System-level view, including framebuffers, video
output devices, displays, 2D and 3D graphics acceleration,
and device interfacing. Architectural design of GPUs, from
2D and 3D sprite engines to 3D rendering pipelines to
unified shader architectures. Computing models for
graphics processors. GPGPU and GPU computing. Nonmajor
graduate credit.
Prerequisites: CprE 381 or ComS 321
CprE 185 - Introduction to Computer Engineering and Problem Solving I [WebCT]
Offerings: [Spring 2010]
Description: Introduction to Computer
Engineering. Individual interactive skills for small and
large groups. Computer-based projects. Solving engineering
problems and presenting solutions through technical
reports. Solution of engineering problems using the C
language.
Prerequisites: Credit or enrollment in Math 141
CprE 381 - Computer Organization and Assembly Level Programming [Blackboard]
Description: Introduction to reconfigurable computing,
FPGA technology and architectures, spatial computing
architectures, systolic and bit serial architectures,
adaptive network architectures, bus-based and static
dynamic rearrangeable interconnection structure
architectures, reconfigurable computing architectures for
processors.
Prerequisites: Background in computer architecture,
design, and organization.
Description: Design, implementation, and
testing of embedded computer systems. System-level
design. Co-design of hardware and software. Concurrency,
real-time control, hardware/software interfaces, and error
handling.
Prerequisites: CprE 308 - Operating Systems
CprE 594 - Embedded Systems Research Skills [old webpage]
Offerings: [Spring 2009]
Description: industry-standard tools and optimization strategies;
practical embedded platforms and technology (reconfigurable platforms, multi-core platforms,
low-power platforms); instruction augmentation, memory-mapped accelerator design,
embedded software optimization. Students will be encouraged to compete as teams in
an embedded system design competition.
Prerequisites: Background in embedded systems.
Courses Taught at Northwestern
ECE 510 - Computer Security and Information
Assurance [syllabus]
Offerings: [Spring 2005], [Spring 2004]
Description: Graduate survey course covering
topics including an introduction to cryptography and its
applications; classification of attacks on application
security, operating system security, network security;
authentication and authorization; state of the art
implementation attacks; secure systems; software
protection, digital rights management; privacy/trust
issues.
Description: A quarter long team project that
entails designing a processor for a complete Instruction
Set. Project involves ISA design, design of components,
datapath and control for a pipelined processor to
implement the ISA. The processor is implemented using
industry strength design tools with VHDL as the
specification language. The design is evaluated using
benchmark programs for correctness and performance.