CSCI 140
Assembler Programming and Computer Organization

Spring Semester 2008


Welcome to CSCI 140. For this course, we will centralize the distribution of information on this course web page. This page can be found on the Clark web server  HERE.


* Basic Information
* Course Description
* Textbook
* Lectures
* Your Evaluation
* Weekly Events
* The Projects

Basic Information

Professor: Dr. Jerry Breecher, jbreecher at clarku dot edu

BioPhysics Room 343, (508)793-7396
Meeting Time: Lecture: Monday, Thursday 1:25 p.m. - 2:40 p.m. - BP326

Lab: Monday,  4:15 - 5:30  BP310
Office Hours: Monday, Thursday 12:00 - 1:15

By appointment; 24 hour response by email

Course Description

This is what the catalog says:

140 Assembly Language And Computer Organization/ Lecture, Laboratory

Covers fundamentals of assembly language programming such as data representation, the instruction set, addressing mode, macros, procedures, input and output facilities, assembler and linker, introduction to logic circuits, and the basic machine organization of conventional computers. The goal is to understand how a computer performs various tasks that are completely hidden from the user in a high-level language. For the laboratory component, students will write several programs in assembly language.

Textbook

REQUIRED

Bates, Martin, PIC Microcontrollers: An Introduction To Microelectronics. Second Edition, 2004 Elsevier ISBN 0-7506-6267-0.
Null, Linda & Lobur, Julia, Essentials of Computer Organization and Architecture, Second Edition, 2006 Jones and Bartlett, ISBN: 0763737690

Lectures

In the Table below are pointers to the notes for the course.  The formats available can be read by Microsoft PowerPoint (.ppt), or read by Apache (.pdf). Lectures generally will be from these notes. Feel free to print them out and use them during class to avoid extensive note-taking. You can simply annotate these notes rather than writing everything. But warning, don't be lulled into a false sense of security. What's talked about in the class will be in MUCH MORE DETAIL than is present on these slides. In the past students have been lulled into thinking they know what happens in class because of these notes - they were surprised!!

An added advantage of written out notes is that you know what to read in the text. In general, I follow the book fairly closely so you should have no trouble figuring out where to find material to amplify these course notes.

Date
Lecture
Lab
Reading
01 - Jan 14
Chapter 1:  Introduction
Lab 1: Intro to Assembler   .pdf
Bates & lots of references in lab
02 - Jan 17
Lab Jump Start
Lab 2: Writing Code            .pdf
PIC_ISA_Part1.ppt    PIC_ISA_Part2.ppt
X - Jan 21
MLK - No Class
   
03 - Jan 24
Chapter 2:  Data Representation
   N & L:  Chapter 2
04 - Jan 28
Chapter 2:  Data Representation
Lab 2 due
Lab 3: Driving Hardware      .pdf
 
05 - Jan 31
Chapter 3:  Digital Logic
  N & L:  Chapter 3
06 - Feb 4
Chapter 3:  Digital Logic
   
07 - Feb 7
Chapter 4:  Instruction Set Architecture
  N & L:  Chapter 3                   Patterson & Hennessy -
08 - Feb 11
Chapter 4:  Instruction Set Architecture
Lab 3 due
Lab 4: Owning the PIC!     .pdf
 
09 - Feb 14
Midterm Exam
Chapter 4:  Instruction Set Architecture
   
10 - Feb 18
Chapter 4:  Instruction Set Architecture
   
11 - Feb 21
Chapter 4:  Instruction Set Architecture
   
12 - Feb 25
Chapter 4:  Instruction Set Architecture
Lab 4 Due
Lab 5: Processors                .pdf
 
13 - Feb 28
Chapter 5:  More ISA - Pipelining
   
X - Mar 3, 6
Spring Break
   
Date
Lecture
Lab
Reading
14 - Mar 10
Chapter 5:  More ISA - Pipelining
   
15 - Mar 13
Chapter 5:  More ISA - Pipelining
   
16 - Mar 17
Chapter 5:  More ISA - Pipelining
Lab 5 Due
Lab 7: The Bomb                .pdf
 
17 - Mar 20
Midterm Exam  
Chapter 5:  More ISA - Pipelining
   
18 - Mar 24
Chapter 5:  More ISA - Pipelining
   
19 - Mar 27
Chapter 6:  Memory
   
20 - Mar 31
Chapter 6:  Memory
Lab 6 Due
Lab 6: Memory & cache    .pdf
 
21 - Apr 3
Chapter 6:  Memory
   
22 - Apr 7
Chapter 6:  Memory
   
23 - Apr 10
Chapter 7:  IO & Storage
   
24 - Apr 14
Midterm Exam  
 
Lab 7 Due
Lab 8: Disks                         .pdf
 
25 - Apr 17
Chapter 7:  IO & Storage
   
26 - Apr 21
Chapter 7:  IO & Storage
   
27 - Apr 24
Chapter 7:  IO & Storage
   
28 - Apr 28
Chapter 7:  IO & Storage
Lab 8 due
 
EXAM
May 1, 
4:00 - 6:00 PM
 

Your Evaluation

Your evaluation in this course is determined by:

50% Projects - NOTE - this is a hands on course which is why your programming/lab work is evaluated so highly.

30% 3 Midterm Exams - The lowest of the 3 midterm exams will be dropped.

20% Final Exam

In addition, you will be expected to complete the Learning To Love Linux sequence.