CSC 1200 Computer Organization

Syllabus

Professor: 

               Dr. Lillian N. Cassel 
               162A Mendel Hall 
               +1 610 519 - 7341
cassel@acm.org

Assistant:

Lev Shalevich
Office: 234 Mendel
Hours: Wednesday: 2-6pm
            Friday: 11am - 2pm
Office hours : 
Tuesday and Thursday 10 - 11:30
Wednesday 1-3 pm
Other hours by appointment 
or drop in if the door is open
         Villanova University Academic Integrity Policy and Procedures
Textbook  Schedule Submit reading summary Course goals,  requirements,
and  Grading

Course Goals and Requirements

 

Introduction 

and

Course Goals:

Welcome to CSC 1200.  This is the course where majors in computing sciences are introduced to the actual machine that runs the applications we develop.  The machine and its organization are critical to many of the decisions we make in selecting methods for solving problems.  The machine gives us opportunities, but also imposes limitations.  The design of the machine determines how values are stored and manipulated, how fast various activities are completed, what are our options for storage, transfer, and manipulation of information. 
What follows is the official statement of course goals for CSC 1200.  This defines, at a high level, what we are setting out to accomplish this semester.  We have some room for flexibility and lots of opportunities to go about it in different ways; this says what we are expected to accomplish:

Computing sciences majors learn about the machine that implements their applications and problem solutions. They learn the characteristics that distinguish various kinds of architecture and the direction architecture advances are following. They learn the way information is represented and transferred within the components of a computing system. They learn the relationship between the components: the CPU, Memory, Storage, Input, Output. They learn about caches and their role in system performance. They learn how operations such as addition are implemented in the machine design. They learn why there are levels of storage resources with different access rates and volatility and cost.

Prerequisites by Topic:

 
 

 

  1. Basic structure of digital computers
  2. Concepts of programming: variables, simple data types (particularly integer, real, character), compound data types (arrays, lists, structures), data structures (linked lists)
  3. Basic logic concepts

Major Topics Covered in the Course:

  1. Digital computer components and organization  (6 hours)
  2. Representation of information in computers (6 hours)
  3. Computer arithmetic  (9 hours)
  4. Logic and Digital circuits (9 hours)
  5. Machine and assembly level computer languages (6 hours)
  6. Selected topics at the hardware level (3 hours)
  7. Tests (3 hours)

Assumed abilities: 

Programming and problem solving as obtained in CSC1051/1052 or equivalent courses
Basic digital logic as obtained in CSC 1300 or the equivlent

Preparation for class

Assigned reading must be done before class
After reading the assigned material, each student will fill in a READING SUMMARY FORM
That form asks you to list the two or three key points of the assigned reading and a few questions that arose as a result of your reading.
You must submit the READING SUMMARY FORM no later than 8 am of class day.
You should also think about examples for the points you note and the questions you raise so you can discuss them with others in the class

Normal class routine

On Tuesday, we will review the material read for that week.  The lecture will review what you have read.  If you have not done the reading, you will be at a serious disadvantage.  Questions raised by students during their reading will be featured in the lecture. 
By the time we have finished class on Tuesday, you should feel well prepared to do the homework problems.  Read the homework problems before the Tuesday class so you can ask for any clarification that you may need.
On Thursday, we will review the homework problems.  You may keep your papers and make notes about what you did well and what you did not do well, but only if you bring a pen or pencil that does not write in blue or black. (All homework must be done in blue or black ink.)  If you do not have a colored pen or pencil for notes on your homework, you will have to hand in the homework before we start the review.  (I will bring a few for the occasional emergency but will not be able to provide them for everyone or for anyone on a regular basis.)
After we review homework and deal with any lingering questions, I will give a preview of the coming material.  Some people like to have an idea of what they are reading about before they begin with the text, so this is to address that need. 

Textbook:

Structured Computer Organization by Andrew S. Tanenbaum, Fourth Edition
Prentice Hall Publisher  1999

Grading

 
Requirement Number Points Each Total Points
Summary of assigned reading 
and class participation
about 20 10 200
Homework exercises about 12 varies 200
Examinations 3 100 300
Final Examination 1 200 200
Article summaries or 
one article summary and 
one Logic Works Exercise
2 50 100
TOTAL possible     1000

Homework

There will be homework every week.   The purpose of the homework is to give you a chance to exercise the knowledge gained from the recent class material. Some exam questions will closely resemble homework problems. Most homework problems will come from the main text book. Each homework question will be worth up to three points.  One point for a modest, but reasonable attempt to answer the question, one more point for a good attempt that gets close to the solution, and one more point if the answer is correct.  Programming problems will be worth more points than standard homework problems.

In class exams

There will be three exams. The dates in the class schedule are tentative and we can change them if it appears in the best interest of the class.  Material on the tests will come from the text book and from supplementary materials and from class notes.

Article summaries (See also format information<----very important information)

In order to see what is current in the area of computer architecture, you will read and summarize two articles from recent literature. These may be articles in technical magazines or journals. They may be from Web sites. The articles must be at least three full pages long, not counting figures. In case of web pages, the amount of text must be equivalent to three magazine pages (three pages of very large font is not enough). The articles must be recent - not more than one year old. The articles must be relevant to the course. In particular, look for updates on the architecture information in the text book. Information on the newest Intel or Motorola chips is a good subject. Articles about pipelining, RISC architecture, parallel machines,  memories, etc. are all appropriate. If you have any doubt about the suitablility of an article, let me look at it before you use it.

  Tentative Schedule

to be revised as needed during the semester
 
Week
number
Date Topic Reading due before class Homework due 
1 29-31 Aug Goals & Objectives
Learning styles
Levels of Learning (Bloom's Taxonomy) Course expectations 
What is this course about?
Tanenbaum's layered view of computer organization
Starting Points: What do we know already
Look ahead: storing numeric values in computers
Thursday, 8/31Chapter 1

Student points and questions

By Thursday:  Find a good web site that has information about the history of computing hardware.
2 5-7 Sept Binary numbers
Floating point numbers
Note:  This is one of the topics that we need to do to a high level of learning (Synthesis in Bloom's Taxonomy).  Some will take to it easily; others will need a lot of practice.  To get as much practice as you need, use this practice quiz.
Binary aritmetic
Look ahead:  Processors and Primary Memory
Appendix A
Appendix B
Student points and questions

Class notes

NOTE:  Thursday, September 7 is St. Thomas of Villanova day.
The 2:15 class will meet at 12:15. The 3:45 class is cancelled on the University schedule.  Students from the 3:45 class may come to the other class at 12:15 if it suits your schedule.  Otherwise, make an appointment with me to come and review your homework in my office.  I will be available all of Thursday morning.
*****************************
Schedule Change:  Because we still do not have all the books and this is a very important topic, I am not comfortable squeezing it into the reduced schedule on StV day.  This homework is now due on Tuesday, September 12.  On St.V day, I will be available from approximately 8:30 until 1 to help with any problems with homework.  Our class assistant will be available on Friday from 11 - 2 for homework help also.  We will review the homework on Tuesday, September 12 and then begin work on Chapter 2.  Some of you have read that already.  We will discuss the first two sections of Chapter 2 on Thursday, September 14 (reading summary must be done by that morning at 8).  I am reducing the number of questions for the chapter 2 homework and we will combine it all for one due date: Thursday, September 21.  We will then be back on schedule.
 
3 12-14 Sept Tuesday: Homework review from the appendices.  Thursday, discussion of Chapter 2 sections 1 and 2:
Processors and Primary Memory
Look ahead:  Secondary memory and I/O
Chapter 2.1 and 2.2

Class notes

Student points and questions
A.4, 5, 6, 7, 10, 11, 13, 14
B1,.2,.4, 7
(This is the largest number of problems you will have in any one homework set.  It is necessary because we need to be very sure of the way numbers are represented and manipulated in computers.)
4 19- 21 Sept Secondary memory and I/O
Look ahead:  Preparing for the exam.
Rest of Chapter 2

Class notes


Student points and questions
 

Chapter 2: 1, 6, 12, 13, 14, 15,  16
Pink = optional. 
Chapter 2:  18, 20, 26, 31, 34
Pink = optional
 (Program) #35;  due October 5; design due September 28. Change the problem from "Write a procedure" to "Write a program..."  The program should be interactive: ask for a binary ascii code and return the hamming code.  Repeat indefinitely.  Quit when the user enters a non {0,1} for the first bit.
5 26-28 Sept Exam 1 on Chapters 1 and 2 and Appendix A
Laboratory session:  Inside the box
(There probably will not be time for a look ahead.)
  Exam on Tuesday (Ask about extra office hours on Monday)
Thursday: Special Laboratory day
3-5 Oct Review of Basic Digital Logic
Arithmetic and clock circuits
In class discovery: Exercise 3.8
Class notes
Look ahead: Sequential logic and Memory
Chapter 3.1-3.2

Class notes

Chapter 3: 1, 2, 4, 5, 6, 
7 10-12 Oct Sequential logic, finite state machines, Memory
Laboratory session:  Logic Works
(Probably no time for look ahead)
Chapter 3.3

Class notes

Chapter 3: 12, 16, 18, 22
Optional bonus: 3.14
(Program) #43; due November 16; design due October 26.  Test your program with values of the compile time parameters as follows:
m=8, n=5, j = 10,  k= 12.  (Note that some of the output lines come from "internal" gates -- those not in the last column of gates in the array)
Also test with at least two other sets of compile time parameters of your choosing.
Break 17-19 Oct Semester Break    
8 24-26 Oct CPU chips, buses, examples, interfacing Rest of Chapter 3

Class notes

Chapter 3:  Use Logic Works for {7, 9}, 
35, 37
9 31 Oct - 
2 Nov 
Exam 2  Chapter 3 plus supplements on finite state machines and digital logic
Thursday session: Laboratory to be announced
(There probably will not be time for a look ahead.)
  Exam on Tuesday; Extra office hours on Monday
10 7-9 Nov Microarchitecture
Extra details for understanding Figures 4-14 and  4-17 
Look ahead: Microarchitecture Design
4.1- 4.3 
Student Points and Questions

Class notes

Chapter 4: 3, 6, 8, 11, 17
11 14-16 Nov Microarchitecture Design
Look ahead:  Getting closer to the operating system: instruction sets and instruction types
4.4 - 4.7
Student Points and Questions
 

Class notes

Chapter 4: 19, 21, 26, 31
12 21 Nov Instruction Set Architecture; Instruction formats, addressing
(Thanksgiving break begins after classes today)
5.1 - 5.4
Student Points and Questions

Class notes

Second article summary (or Logic Works project) due
Chapter 5: 2, 6, 9, 13,14
13 28-30 Nov  ISA - Instruction Types  5.5 - 5.9 

Class notes

Questions submitted by students. Use them to prepare for the last inclass exam.

Chapter 5:  23, 25, 26, 33 
14 5-7 Dec Exam 3  Chapters 4 and 5
Exam on Thursday
 
 Tuesday -- review and prepare for the exam
15 12-"Friday"
14  Dec
General review for the final on Dec 14    
   2:15 class: 
Thu, Dec 21 
10:45 - 1:15
...................

 3:45 class:
Wed, Dec 20
4:15 - 6:45.

Final Exam

Cumulative over all material in the text and in supplements

 

Logic Works

If you wish to substitute a Logic Works exercise for one or the other of the article summaries, here is a sample problem.  If you wish to do a different problem, talk to me about it.  We can be flexible.
Design and construct a circuit that will input two numbers from  keypads (look for an appropriate device in Logic Works), add those two numbers and display the result (again look for an appropriate display device).  You only need to deal with one digit of input from each keypad.  Make sure the output will display any possible result from these inputs.
 

What's a design?

For our purposes, at least, a design is a written document with drawings as appropriate.  The design will list the principal classes and methods, will show a drawing of the input screen and the output screen, and will show several sets of test data.  Test data will demonstrate how the program will behave under expected input and how it will behave in error conditions.
 

Levels of Learning

Bloom's taxonomy identifies six levels of competence.