Course Overview
This is an introduction course to computer architecture and assembly language programming. It covers a wide range of  introductory topics on computer organizations. At the end of the course, you should understand  how computers really work and how to program them at the lowest level. Main topics include:  data representation and conversion; assembly language programming; digital logic design; basic processor architecture. The class itself has two main components, a design side that will be emphasized in lectures and an implementation side that will be explored through several assembly programming projects and digital design projects.

Lecture Time/Location
: T R 11am--12:15pm SH 1430
Professor: Heather Zheng, htzheng at cs dot ucsb dot edu
Office Hours: W 3:30-4:30pm, HFH 1121

Discussion Session Time/Location: F 12-12:50 (SH1609 --> Moved to Phelps 1401), F 1-1:50 (LSB 1101)
TA: Gang Wang & Wendy Chun
TA Office Hours: Wang (Th 3-4, Phelps 1413), Chun (T 2-3pm, Phelps 1413)

Textbooks
-
FLD: Charles H. Roth, Jr. and Larry Kinney, Fundamentals of Logic Design, 6th Edition
-
MALP: Robert L. Britton, MIPS Assembly Language Programming (Pearson Prentice Hall)

Prerequisites
- Engineering 3 or CS 5AA-ZZ or 16; and, Mathematics 3C
- Not open if you have received credit for ECE 15 or 15B
- For computer science pre-majors only or consent of department
- Please note that it is essential that you have programmed in at least one procedural language like Java or C++. The course is intended for computer science pre-majors and will concentrate on computer construction and programming at the lowest or most basic level.