|
Computer systems is a highly interdisciplinary area, with relevant courses spanning at least two departments at Cornell: the School of Electrical and Computer Engineering, and the Department of Computer Science. The following are courses that undergraduate and graduate students interested in computer systems tend to take.
Architecture 
ENGRD
230 - Introduction to Digital Logic Design. First course in digital logic.
Topics covered include transistor network design and analysis, boolean
logic, combinational and sequential circuits, and state machine design.
Course includes a weekly lab to apply concepts taught in the classroom.
ECE 314 / CS
316 - Computer Organization. Basic computer organization. Students learn assembly
language programming and design a simple pipelined processor.
ECE
475 / CS 416 - Computer Architecture. Topics in modern microprocessor architecture,
with design and implementation of a superscalar architecture at the RTL-level
using Verilog.
ECE
572 - Parallel Computer Architecture. Principles and tradeoffs in parallel
architectures. Focus is on multiprocessor architecture, though there are
parallel programming assignments.
ECE
575 - High-Performance Microprocessor Architecture. In-depth coverage of advanced
architectural features of current and next-generation high-end microprocessors.
ECE
697 - Topics in Computer Systems. Topic varies each semester. Students present
papers from relevant forums.
ECE
699 - Memory Systems Technologies and Systems. Topic varies each semester.
Students present papers from relevant forums and perform significant projectS.
|
|
VLSI 
ECE
474 - Digital VLSI Design. Introduction to digital VLSI design. Students
tape out a small project that is tested in the following semester.
ECE
574 - Advanced Digital VLSI Design. Asynchronous VLSI and other advanced
digital design topics.
Compilers and Systems Software 
CS
412+413 - Introduction to Compilers and Translators. Overview of the internal structure
of modern compilers, with emphasis on implementation techniques.
CS
414/415 - Systems Programming and Operating Systems. An introduction to the logical
design of systems programs, with emphasis on multiprogrammed operating
systems.
CS
514 - Intermediate Computer Systems. Practical issues in designing and implementing
distributed software. Topics include distributed computing, fault-tolerant
systems, and network operating systems.

|