| CSC 1200 Computer Organization Syllabus | |||
Professor:Dr. Lillian N. Cassel162A Mendel Hall +1 610 519 - 7341 |
Assistant:Berkant YalcingedizOffice: 234 Mendel Hours: Monday 2-4pm |
Tuesday and Thursday 10:30 - 11:30 Wednesday 1-3 pm Other hours by appointment or drop in if the door is open |
|
|
|
|||
| Textbook | Schedule | Submit reading summary | Course goals, requirements,
and Grading |
IntroductionandCourse Goals: |
Welcome to CSC 1200. This is the course
where majors in computing sciences are introduced to the underlying system
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. In Fall 2001, we are making a significant change in the nature of this course. While we still will address the requirements specified in the course description, we will focus on ghe general characteristics of the computer systems we use and we will explore the ways we communicate with those systems. You are already experienced Java programmers. Now you will look at the most basic kinds of machine direction. Before the end of the semester, you will have begun to use the language C. You will continue to explore C in the Operating Systems course, CSC 1600. |
Prerequisites by Topic:
|
|
Major Topics Covered in the Course: |
|
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 (Tuesday unless specifically stated otherwise. Generally a change happens only on the first week of class.) 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. Reading summaries are part of your graded work. |
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 (and submitted on the reading summary)
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 using a red pen that will be provided. (All homework must be done in blue or black ink.) On both Tuesday and Thursday there will be some in class activities from time to time. These are mean to enhance your learning and increase your confidence in the material covered. |
| Requirement | Number | Points Each | Total Points |
| Summary of assigned reading
and class participation |
about 10 | 10 | 100 |
| Homework exercises,
including programming problems |
about 12 | varies | 300 |
| Examinations | 3 | 100 | 300 |
| Final Examination | 1 | 200 | 200 |
| Article summaries or
one article summary and one Logic Simulator Exercise |
2 | 50 | 100 |
| TOTAL possible | 1000 |
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.
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.
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 or very wide margins 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 the characteristics of specific architectures, such as the latest Intel, Motorola or Sparc processors or new input/output or storage devices. 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.
| Week
number |
Date | Topic | Reading due before class | Homework due |
| 1 | 28-30 Aug | Goals & Objectives
Learning styles Levels of Learning (Bloom's Taxonomy) Course expectations What is this course about? Computing systems and levels of problem transformation. Class notes |
Before Thursday, Read Chapter 1 and do the homework questions shown in the next column. | By Thursday: Find a good web site that has information about
the history of computing hardware.
Also do Problems from Chapter 1: 2, 4, 5, 8, 10, 13 History Links Found |
| 2 | 4-6 Sept | Representing information in the computer: bits, bytes and arithmetic
and logic
Numbers notes |
Chapter 2
NOTE: Thursday, September 6 is St. Thomas of Villanova day. The 12:45 class will meet at 11:15. The 2:15 class will meet at 12:15. |
Chapter 2: 1, 2, 5, 7, 9, 13, 19, 30, 33, 36, 37, 41, 45, 47, 49, 51 |
| 3 | 11-13 Sept | Digital Logic Structures
Digital Logic Notes |
Chapter 3
Logic Simulator - 1 MultiMedia Logic (used in class and lab) |
|
| 4 | 18-20 Sept | Digital Logic continued | Optional Review session on Friday at 12:30.
Location will be announced. (Mendel 154 if it is available) |
Chapter 3: 10, 12, 14, 16, 19, 21 |
| 5 | 25-27 Sept | Exam 1 | Exam on Tuesday
Thursday: Special Laboratory day |
|
| 6 | 2-4 Oct | The Von Neumann Model
VonNeumann Model notes |
Chapter 4 | Chapter 4: 5, 9, 14 |
| 7 | 9-11 Oct | The LC-2 example computer | Chapter 5 | Chapter 5: 1, 4, 6, 9 (count each part as a question), 10, 16, 17 |
| Break | 16-18 Oct | Semester Break | ||
| 8 | 23-25 Oct | Programming and Assembly Language | Chapters 6 and 7
(Chapter 6 is a review of material you had before. Read it and renew the ideas. Chapter 7 is new, but short.) |
First article summary
Chapter 6: 10, 13 Chapter 7: 4, 10, 14 |
| 9 | 30 Oct -
1 Nov |
Exam 2 | Exam on Tuesday; Lab on Thursday | |
| 10 | 6-8 Nov | Further Detail -- The microarchitecture | Appendix C and Chapter 8 | Chapter 8: 1, 2, 5, 7 9
Program due Nov. 15: Chapter 8 #8. |
| 11 | 13-15 Nov | Subroutine calls, returns | Chapter 9 | Chapter 9: 4, 5, 6 |
| 12 | 20 Nov | A close up view of the stack
(Thanksgiving break begins after classes today) |
Chapter 10 | Second article summary (or Logic Simulator project) due (before leaving for Thanksgiving) |
| 13 | 27-29 Nov | Beginning the C programming language view of the computer organization |
OR Appendix D (condensed) |
Chapter 15: 1
Chapter 16: 2, 5, 10 C program due Decembr 6: Write a program to read a number determine the number of 1s in the binary representation of the number. Output the number and the count of 1s. |
| 14 | 4-6 Dec |
Pointers and Arrays |
Chapter 17 | Chapter 17. 3, 4, 8, 10 |
| 15 | 11-"Friday"
13 Dec |
Exam 3 (Tuesday) | Thursday - General review for the final | |
| 12:45 class:
................... 2:15 class: |
Final Exam |
Cumulative over all material covered during the semester |
Sometimes, however, we must deal with the actual machine and its limitations and its perculiar characteristics. We need to know how information is stored so that we can manipulate it most appropriately. We ned to know how information gets to and from the peripheral devices so that we can interact with them in ways that make sense for our application. We need to know how close we can come to having one machine do several things at the same time. We need to know why our program does not always do what we thought we had specified.
This course is not a survey of hardware devices or an explanation of how things like DVD drives work. It is concerned primarily with the processor and how it processes instructions on information stored in memory.
During this course, you will learn the C programming language. It is introduced in a very special context: First we learn about how 0s and 1s are used to represent information and instructions. Then we see how electronic components operate under the direction of the 0s and 1s. We look at machine language, a slightly more convenient way for people to talk about what the electronics are doing. Then we look at assembly language, which allows us to give up some of the detail but still keep close to the actual machine operation. Next, we look at C as a next step in making the art of communicating with a computer intelligible for humas. C is a language that is a natural progression from machine and assembly language. That is its strength and its weakness. It is a strength because it gives you control of the computer in a way you don't easily have in other languages. It is a weakness because there are more details you have to work through. Because you have a year's experience in programming, you should find it relatively easy to learn C. Learning to learn a new language is another useful product of this course.