CSCI 140
Assembler Programming and Computer Organization

Spring Semester 2009


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: Tuesday, Friday 1:25 p.m. - 2:40 p.m. - BP326

Lab: Wednesday,  9:30 - 11:00  BP310
Office Hours: Tuesday, Wednesday, Friday  10:00 - 12:00

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 13
Chapter 1:  Introduction
Lab 1: Intro to Assembler   .pdf
Bates & lots of references in lab
02 - Jan 16
Lab Jump Start
Lab 2: Writing Code            .pdf
PIC_ISA_Part1.ppt    PIC_ISA_Part2.ppt
       
03 - Jan 20
Chapter 2:  Data Representation
   N & L:  Chapter 2
04 - Jan 23
Chapter 2:  Data Representation
 
 
05 - Jan 27
Chapter 3:  Digital Logic
  N & L:  Chapter 3
06 - Jan 30
Chapter 3:  Digital Logic
Lab 3: Driving Hardware      .pdf  
07 - Feb 3
Chapter 4:  Instruction Set Architecture
  N & L:  Chapter 3                   Patterson & Hennessy -
08 - Feb 6
Chapter 4:  Instruction Set Architecture

 
09 - Feb 10
Midterm Exam
Chapter 4:  Instruction Set Architecture
   
10 - Feb 13
Chapter 4:  Instruction Set Architecture
Lab 4: Owning the PIC!     .pdf  
11 - Feb 17
Chapter 4:  Instruction Set Architecture
   
12 - Feb 20
Chapter 4:  Instruction Set Architecture

 
13 - Feb 24
Chapter 5:  More ISA - Pipelining
   
14 - Feb 27 Chapter 5:  More ISA - Pipelining    
X - Mar 3, 6
Spring Break
   
Date
Lecture
Lab
Reading
15 - Mar 10
Chapter 5:  More ISA - Pipelining
Lab 5: The Bomb                .pdf  
16 - Mar 13
Chapter 5:  More ISA - Pipelining

 
17 - Mar 17
Midterm Exam  
Chapter 5:  More ISA - Pipelining
   
18 - Mar 20
Chapter 5:  More ISA - Pipelining
Lab 6: Processors                .pdf  
19 - Mar 24
Chapter 6:  Memory
   
20 - Mar 27
Chapter 6:  Memory

 
21 - Mar 31
Chapter 6:  Memory
Lab 7: Memory & cache    .pdf  
22 - Apr 3
Chapter 6:  Memory
   
23 - Apr 7
Chapter 7:  IO & Storage
   
24 - Apr 10
Midterm Exam  
 

 
25 - Apr 14
Chapter 7:  IO & Storage
Lab 8: Disks                         .pdf  
26 - Apr 17
Chapter 7:  IO & Storage
   
27 - Apr 21
Chapter 7:  IO & Storage
   
28 - Apr 24
Chapter 7:  IO & Storage
 
 
29 - Apr 28 Chapter 7:  IO & Storage    
EXAM
May 5, 
1:30 - 3:30 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.