Computer Sciences Dept.

CS/ECE 252 Introduction to Computer Engineering

Spring 2013 Section 1
Instructor Guri Sohi
TAs Preeti Agarwal, Mona Jalal, Rebecca Lam, Pradip Vallathol


Home Page for Section 1.

Arthur C. Clarke wrote, Any sufficiently advanced technology is indistinguishable from magic.

Do computers seem like magic to you? Would you like to understand how they really work?

Introduction to Computer Engineering (CS/ECE 252) is a two-credit course that surveys the basics of computer hardware and low-level software. You will learn, for example:

  • How the marvel of electronics--the transistor--gets used and interconnected to form computer hardware.
  • How a microprocessor does little more than simple commands (e.g., add two numbers), but does them rapidly -- more than a billion times per second.
  • How treating computer programs like data enables the rich computer systems that we all use.

CS/ECE 252 is available to all students at UW and is especially encouraged for freshman considering majors in computer sciences or engineering. Nevertheless, some computer programming experience (in any language) is helpful. Thus, students without programming experience may wish to first take CS 302 (Introduction to Programming).

Prof. Guri Sohi will teach CS/ECE 252 Section 1 with approximately thirty lectures scheduled Monday, Wednesday, and Friday 9:55-10:45 AM in 1221 Computer Sciences. Prof. Mark Hill with teach CS/ECE 252 Section 2.

The required text is:

Yale N. Patt and Sanjay J. Patel,
Introduction to Computing Systems: from bits and gates to C and beyond
McGraw-Hill Publishers, SECOND Edition, 2004. ISBN: 0-07-246750-9---ISBN 0-07-121503-4 (ISE)

Section 3 will be modeled after Prof. Guri Sohi's Fall 2012 offering and Fall 2011 offering and Spring 2010 offering and Fall 2010 offering, Prof. Mark Hill's Fall 2009 offering and Prof. David Wood's Spring 2009 offering.

Catalog Description 2 cr. Logic components built with transistors, rudimentary Boolean algebra, basic combinational logic design, basic synchronous sequential logic design, basic computer organization and design, introductory machine-and assembly-language programming.

CS/ECE 252 is required for majors in Computer Engineering and Computer Sciences and is a prerequisite to both CS/ECE 352 (Digital System Fundamentals and CS/ECE 354 (Machine Organization and Programming).

Computer Sciences | UW Home