title-ucsb.gif (5420 bytes)

Department of Electrical and Computer Engineering
ECE 15B - Computer Organization, Spring 2006


Course Description:   Basic memory and processor organization, instruction set architecture, assembly language programming, number systems, arithmetic, data transfer and control flow instructions, procedures, memory management and program execution.


News: See the bulletin board for class announcements.  Please ask any non-personal messages here, i.e. do not email the TAs or professor general questions about the class (this includes homework, projects, etc).  Everyone monitors board, which will result in a faster response to your question.

Instructor:

Prof. Ryan Kastner (kastner@ece)

TAs:

Frank Dai

frankdai@umail

Anup Hosangadi

anup@ece

Chin-Han Lin

chinhan@umail

Jimmy Lin

jhlin@ece

Rami Yassine

rami@ece

Lecture Schedule:

Tuesday/Thursday 5-6:15pm Buchanan 1940

Discussion:

Monday 7:00- 7:50 Phelps 1444 - Anup

Monday 6:00- 6:50 Buchanan 1934 - Rami
Wednesday 6:00- 6:50 HSSB 3201 - Jimmy
Friday 9:00- 9:50 Girvetz 1116 - Chin-Han
Friday 10:00-10:50 Eng. 1 2162 - Frank

Office hours:

Instructor's Office Hours:

Tuesday 6:30-7:30pm, Thursday 2-3pm or by appointment, @ Engr. I, Room 4123

TA's Office Hours:

Rami - Tuesday 1-2PM Phelps 1435
Jimmy - Wednesday 4:45-5:45PM Phelps 1435
Frank - Friday 11-12AM – Phelps 1435
Chin-Han - Thursday 11-noon Phelps 1435
Anup - Monday 1-2PM Phelps 1435


Course Information

Grading:

Homework Assignments: 10%

Projects 20%
Quiz 1: 15%
Quiz 2: 15%
Final: 40%
Class Participation 5%

Text Book:

Computer Organization and Design: The Hardware/Software Interface, Third Edition ("P+H") by David A. Patterson and John L. Hennessy

MIPS Assembly Language Programming by Robert L. Britton

References:
The Art of Assembly Language Programming (AoA) by Randall Hyde
Essential C - Stanford CS Education Library 

Calendar:

Week

Date

Topic

Assignments

Reading

1

April 4

Lecture 1 - Introduction

Homework #0 assigned

Gordon Moore's original article

April 6

Lecture 2 - Overview of Computer Organization

Homework #1 assigned

 

2

April 11

Lecture 3 - Arithmetic Instructions

Homework #0 due

P+H 2.1-2.3

April 13

Lecture 4 - Data Transfer Instructions

Homework #1 due
Homework #2 assigned

P+H 2.3

3

April 18

Lecture 5 - Control Flow Instructions

 

P+H 2.6, 2.9

April 20

Lecture 6 - Logic and Shift Instructions, Bytes and Overflow

Homework #2 due
Project #1  assigned

P+H 2.5

4

April 25

Lecture 7 - Procedures

 

P+H 2.7, A.6

April 27

Lecture 8 - Procedures

 

 

5

May 2

Lecture 9 - Instruction Representation

 

P+H 2.4, 2.9

May 4

Quiz 1


Homework #3 assigned

 

6

May 9

Lecture 10 – Instruction Representation

 

 

May 11

Lecture 11 - Floating Point

Project #1 due

Project #2 assigned

P+H 3.2, 3.3, 3.6

7

May 16

Lecture 12 - Pointers & Arrays

 

Essential C - Pointers and Memory (Section 1), Section 3, Section 6 (pg 33-36)

May 18

Lecture 13 - Strings, Lists and Stacks

Homework #3 due

Homework #4 assigned

Essential C - Linked List Problems Section 1

8

May 23

Lecture 14 - Memory Management

 

P+H A.5, Essential C - Section 6 (pg 38-40)

May 25

Quiz 2

Project #2 due

Project #3 assigned

 

9

May 30

Lecture 15 - Memory Management

 

Essential C - Pointers and Memory (Section 4)

June 1

Lecture 16 - Executing Programs: Compiling, Assembling, Linking and Loading

Homework #4 due

P+H 2.10, A.1 - A.4

10

June 6

Lecture 17 - History of the Computing World: Part I

 

 

June 8

Lecture 18 - Final Review

Project #3 due

 


The slides are provided for your convenience.  I adapted these from lectures taught by Patterson.  I will use these as a basis for the lectures; however I may also discuss some topics not in these slides.  Anything covered in lecture is fair game for homeworks & tests.  The slides for future lectures are taken from last year's class.  The newest slides are posted the day of the lecture.

Homework:

Homework #0
Homework #1 - Solutions
Homework #2 - Solutions
Homework #3 - Solutions
Homework #4 - Solutions

Projects:

Project #1
Project #2
Project #3

SPIM

Download SPIM

http://www.cs.wisc.edu/~larus/spim.html

SPIM Documentation

P+H Appendix A, SPIM documentation

Quizzes:

Approx. April 27, in class
Approx. May 25, in class

Final:

7:30-10:30pm - Wednesday June 14, 2006, Buchanan 1940

Confidentiality:

Sample classwork will be used for accreditation purposes. Student work is considered confidential information according to university rules.  Legally speaking, "Confidential information may be released within the university, such as to a faculty or staff member acting in the student’s educational interests and the information is needed in the course of performing advisory, instructional, supervisory, or administrative duties for the university;".  What this means is that we will collect several examples from each homework, project, quiz and final to evaluate how well we are teaching you.  Please let the professor know if you have any problems with this.

Useful Web Links

Morgan Kaufmann's page about the text book


Electrical and Computer Engineering || College of Engineering || UCSB Web Site Directory

logo-ucsb-small-28.jpg (2642 bytes)
 Last Updated: Spring 2006
All rights reserved, All wrongs reversed