Courses


"Teaching is more than imparting knowledge, it is inspiring change. Learning is more than absorbing facts,
it is acquiring understanding."

William Arthur Ward
(1921 1994)

CS 231 Computer Organization

This undergraduate course presents the entire hierarchical structure of computer architecture, beginning at the lowest level with a simple machine model (e.g., a simple von Neumann machine). Topics include: (1) microprocessors, (2) memory hierarchy, (3) process and thread management, (4) I/O handling, and (5) assembler concepts. Students gain an understanding of the interactions of hardware and software in a general-purpose computer system.

EECE 116 Digital Logic

This undergraduate course presents the fundamental concepts for constructing digital systems. Topics include: (1) numbering systems, (2) Boolean algebra, (3) combinational logic, (4) graphical simplification, (5) sequential logic, (6) registers, and (7) state machines. Students are also introduced to the basics of hardware description languages.

EECE 277 FPGA Design

This undergraduate course presents both the design and the applications of field-programmable gate arrays (FPGAs). Topics include: (1) Electronic Design Automation (EDA) tools for design, placement, and routing, (2) Hardware Description Languages (HDL) for simulation and synthesis, and (3) state machine specification, design, and simulation. Students work in teams on laboratory assignments and a cumulative design project using FPGA hardware design kits. Skills developed include designing embedded systems, as well as developing test benches for design verification.

EECE 343 Digital Systems Architecture

This graduate course presents advanced concepts that improve the performance of computing systems. Topics include: (1) modern microarchitectures, (2) memory systems, (3) storage systems, and (4) parallel computing. Students also examine case studies of microprocessors, and work in teams to evaluate system performance on benchmark suites. This course also serves as a gateway course in the computers domain of the electrical engineering graduate program.

EECE 396 Computer Architecture Reliability

This graduate course presents techniques in computer architecture design that can mitigate the effects of soft errors in microprocessors. Reliability is examined from both a hardware perspective and a software perspective. Topics include: (1) architectural vulnerability factors, (2) fault injection, (3) error detection and correction (EDAC), and (4) redundant multi-threading.

For more information, please contact Dr. William H. Robinson