People Research Teaching ‹ News

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.


webmaster at csl.cornell.edu | ECE | CS | Ithaca