CS 200 - Computer Organization and Assembly Language
CRN: 10701
MW 18:40-20:30
CH 371

Fall - 2001

Course Description

This course is designed to introduce computer science students to the basics of computer hardware and lower level programming. i.e. assembly code and hardware manipulation. CS 200 will focus on 80x86 assembly language, boolean algebra and the building blocks of digital logic.

Instructor

Bjorn Chambless, office: FAB 115-07, phone: 725-4138, email bjorn@cs.pdx.edu
office hours: After class or by appointment

Online information for this class, including: homework assignments, some materials presented in class and the current course outline is available from: http://www.cs.pdx.edu/~bjorn/CS200

There is also a mailing list for this class. To join send email to:

majordomo@cs.pdx.edu

The text of the message should include only the words:
subscribe cs200

You will then be asked to confirm with an authorization code.

The mailing list will be used to discuss class topics. Occasionally I will answer email questions sent to my email address to the list.

The mailing list can be a valuable forum for the entire class. If you have a question, please at least CC the class mailing list as it is very likely that you are not the only student curious or confused about a given topic.
Also, if you believe you know the answer to a question do not hesitate to answer another student's question.

Texts

Fundamentals of Digital Logic and Microcomputer Design by M. Rafiquzzaman
Linux Assembly Language Programming by Bob Neveln

Grading

There will be one midterm and a final in addition to lab assignments and homework. The grade breakdown will be as follows:

%30-midterm exam

%30-labs and homework

%40-final exam

Exams will cover material from the texts and material presented in class.
The final will be cumulative but will focus on material presented after the midterm.

Lab Assignments and Homework

Programming assignments are to be done under x86 Linux using NASM or GNU AS using machines in the Intel Linux Lab (FAB 145) or any other suitable Linux. NO, YOU CAN'T USE MS WIN-BLA-WHATEVER.

The machines in FAB 145 may be accessed remotely using secure shell(ssh).

Assignments are to show the work of an individual not a group or another student. ie. Discuss problems with other students but do your own work. Copying work or handing in work done by another is considered cheating by myself and the department.

Much of the material is subtle, tricky and esoteric and can only be adequately learned by "doing". The exam questions will be similar to those on the home-works, so if you copy assignment answers you will be ensuring your doom (note that exam grades are 70% of your final grade).

Assignments and labs are due at the beginning of class.

All late assignments an labs will have a one letter grade penalty applied per class period late.

Some lab assignments(later in the course) may require you to experiment with simple digital logic circuits. For these you will need a small electronics prototype board, wiring, ICs, LEDs etc.. I will give you more information about this when the need arises.

Procedure for getting a Linux account

Students will need to go the the CAT(Computer Action Team) office or FAB(room 60-02). You will need to bring picture ID.

Course Outline (tentative)

9/24

Class Overview
Material from Chapters 1-2 of Rafiquzzaman and Chapters 1-2 of Neveln
- codes, bases, hexadecimal, 2's complement, binary arithmetic,
Assignment 1 handed out: due 10/1

9/26

More from Chapters 1-2 of Rafiquzzaman and 1-2 of Neveln

10/1

Chapter 3 of Rafiquzzaman, Sections 9.1-9.8 of Rafiquzzaman
Assignment 1 DUE
Assignment 2 handed out: due 10/8,

10/3

Chapter 3 of Neveln and Chapter 3 of Rafiquzzaman, Sections 9.1-9.8 of Rafiquzzaman
Lab #1 handed out: due 10/15

10/8

Material from Chapter 4 of Neveln and Chapter 4 of Rafiquzzaman
Assignment 2 DUE
Assignment 3 handed out: due 10/15

10/10

Material from Chapter 4 of Neveln and Chapter 4 of Rafiquzzaman

10/15

Material from Chapter 5 of Neveln and Chapter 5 of Rafiquzzaman
Lab #1 DUE
Lab #2 handed out: due 10/29
Assignment 3 DUE
Assignment 4 handed out: due 10/22

10/17

Material from Chapter 5 of Neveln and Chapter 5 of Rafiquzzaman

10/22

Midterm Review
Assignment 4 DUE
Assignment 5 handed out: due 10/29

10/25

MIDTERM EXAM

10/29

Material from Chapter 6 of Neveln and Chapter 6 of Rafiquzzaman
Lab #2 DUE
Lab #3 handed out: due 11/14
Assignment 5 DUE
Assignment 6 handed out: due 11/5

10/31

Material from Chapter 6 of Neveln and Chapter 6 of Rafiquzzaman

11/5

Material from Chapter 6 of Neveln and Chapter 6 of Rafiquzzaman
Assignment 6 DUE
Assignment 7 handed out: due 11/14

11/7

Material from Chapter 7 of Neveln and Chapter 7 of Rafiquzzaman

11/12

UNIVERSITY CLOSED

11/14

Material from Chapter 7 of Neveln and Chapter 7 of Rafiquzzaman
Lab #3 DUE
Lab #4 handed out: due 11/28
Assignment 7 DUE
Assignment 8 handed out: due 11/21

11/19

Material from Chapter 7 of Neveln and Chapter 7 of Rafiquzzaman

11/21

Material from Chapter 7 of Neveln and Chapter 7 of Rafiquzzaman
Assignment 8 DUE

11/26

Material from Chapter 7 of Neveln and Chapter 7 of Rafiquzzaman

11/28

Review
lab #4 DUE

12/3

Final Exam, CH 371 7:30pm