CS225, Computer Organization and Assembly Language Programming, Fall 2006

INFO:        aurora.wells.edu/~srs/CS225-Fall06 The website is the first place to go for information, for daily HW assignments, extra notes, changes, updates.

PROFESSOR: Ms. Sally Sievers.     Email: sievers@wells.edu Website: aurora.wells.edu/~srs
         Office: Macmillan 102. Phone: 364-3210 (office), 607-257-7641 (home).
I am on campus MWF from about 9:20 to 4:00. Find me, I'm yours, usually. I teach 9:30 and 11:30 MWF.   If not in my office, I am usually in one of the computer labs or math prof’s offices, or will leave a note on my door. After class is a great time to meet if you're free, and I don't have a meeting (occasional). Best is to let me know you want to see me and when (i.e. make an appointment, by phone, email, or at class time).

REQUIRED TEXT & MATERIALS:
Computer Systems, 3rd ed., J. Stanley Warford   We'll cover most of Chapters 1-6, and parts of 8 and 9, probably.

Pep8 simulator. 
As I write, it's still struggling to reach first post-beta semi-bugless version.  Link off of main page; when it's ready I'll put it in Mac 110, in Class Material/CS225 folder.
Other readings:
Supplementary reading will be assigned from time to time, from books or articles in the "Sievers library"  in the box outside my door, on reserve, or on the Web. 

GOAL OF THE COURSE:   To gain an understanding of computer operation at the most fundamental software level:

1) To understand the basic structure of a CPU.  Every computer uses a Central Processing Unit  (the CPU) which can manipulate information in small chunks called bits,  bytes, words (depending on their size).  The set of manipulations the CPU can perform is called the CPU’s instruction set.    All running programs, such as a C++ or Java program that you write, or for that matter the C++ programming environment itself, are composed of a series of such instructions. 

2) To understand and be able to use the more common data representations which are used to store and manipulate numbers and letters in a computer.

3) To learn to write programs in  assembly language.  We will learn about the instruction set of a simulated CPU, the PEP8.  Although different computers use different CPU’s,  all instruction sets share similarities, especially in underlying structural concepts.  Assembly language is a set of human-understandable commands which are in an almost 1-to-1 relationship with the set of machine instructions.  We will learn how your standard C++ constructs can be implemented in assembler/machine instructions.

4) To gain an understanding of what an operating system is and what functions it performs, and some idea of memory management strategies.

We use a simulator because actual commercially used  CPU architectures tend to contain a myriad of special features that are better studied after basic concepts are in place.  If time allows, we will then examine other possible architectures, and look to understand  rationales behind decisions made in designing an architecture with specific features.

"Deliverables"  will consist of
--homework problems
--closed (usually) book quizzes (announced)
--programs
--a project? (more on this later)
--One midterm and a final exam, open book.

Class attendance and participation are assumed.

Grading: 
        Homework, quizzes and class participation    20-25%
        Programs and Project             35-40%
        Exams ( 1 Midterm and Final)            40%            


To Sievers Home Page
CS225-Fall06/SY225F06.htm  8/22/06
This page belongs to Sally Sievers who is solely responsible for its content. Please see our statement of responsibility.