| CSC 1200 | Computer Organization | Spring 2005 |
| SYLLABUS |
| Meetings |
Section 1: Wednesdays
6:00pm-8:50pm, Mendel Science Center G87 |
|||||||||||||||||||||||||||||||||||||
| Instructor | Dr. Thomas Way 160A Mendel Science Center |
Email: thomas.way@villanova.edu IM: DrTomWay Phone: (610) 519-5033 |
||||||||||||||||||||||||||||||||||||
| Office hours | Monday 2-3 & 5-6, Wednesday 11-12 & 5-6, Friday
12-1 (check before coming) Other times by appointment, or simply stop by if my office door is open |
|||||||||||||||||||||||||||||||||||||
| Teaching Assistant | Satarupa Banerjee <satarupa.banerjee@villanova.edu> General help is available from Programming Assistants as well. Office hours: see Programming Assistants' schedule on CS Dept. web site |
|||||||||||||||||||||||||||||||||||||
| Textbook | REQUIRED: Introduction
to Computing Systems: From Bits and Gates to C & Beyond. Yale N. Patt
and Sanjay J. Patel. Second edition. 2004. [ISBN 0-07-246750-9] OPTIONAL: How Computers Work. Ron White. Sixth edition. 2002. |
|||||||||||||||||||||||||||||||||||||
| Prerequisites |
|
|||||||||||||||||||||||||||||||||||||
| Web site |
Most of the course materials,
including the schedule, homework assignments, and this syllabus are
available online by visiting
http://www.csc.villanova.edu/~tway and following the link for CSC
1200. The schedule and syllabus are subject to change during the semester,
so be sure to check the online versions from time to time. |
|||||||||||||||||||||||||||||||||||||
| Catalog description |
Computer structure; central
processing unit; binary number representation and arithmetic; digital logic
design; storage units; machine language; introduction to assembly language
and C. This course is offered for 3 credits and is classified as a lecture. |
|||||||||||||||||||||||||||||||||||||
| Course Goals | Goals for the course are to gain
understanding of:
|
|||||||||||||||||||||||||||||||||||||
| Lesson plan |
The course closely follows the
textbook outline. Some additional material (videos, research papers, etc.)
will be included from time to time to supplement what we cover from the
text. Some C programming and Unix will be introduced as part of 2 or 3
hands-on workshop projects. |
|||||||||||||||||||||||||||||||||||||
| Topics |
|
|||||||||||||||||||||||||||||||||||||
| Grading policy |
|
|||||||||||||||||||||||||||||||||||||
| Final grades |
91% A, 81% B, 71% C, 60% D, and below 60% F. Plus and minus grades will be used appropriately for borderline cases, taking into account individual effort, class participation, and intellectual contribution. | |||||||||||||||||||||||||||||||||||||
| Academic Integrity |
Follows the Villanova University
Academic
Integrity Policy and Procedures. Discussion of class assignments with
fellow students outside of class is welcome and can benefit your
understanding, but all work handed in must be your own original work.
This policy is taken very seriously. URL: http://www.academics.villanova.edu/AcademicIntegrity.html |
|||||||||||||||||||||||||||||||||||||
| Attendance Policy |
Attendance is mandatory, and
follows the University standard policy for excused absences. |
|||||||||||||||||||||||||||||||||||||
| Late Policy | Assignments should be turned in on the date due. There will be a 10% penalty for each day an assignment is turned in late. In no instance will assignments be accepted after the date of the final exam. | |||||||||||||||||||||||||||||||||||||
| Normal class routine | Prior to each class, read the assigned reading material, then fill-in and submit a Reading Summary Form on the course web site no later than 1 day before class. The form asks you to list two or three key points of the assigned reading and a few questions that arose as a result of your reading. Think about examples for the points you note and the questions you raise so you can discuss them with others in class. Reading summaries are part of your grade. Also, turn in homework from the previous week at the beginning of class. Class will consist of lecture and discussion of the assigned reading material for that week. You will have a huge advantage if you have done the reading. | |||||||||||||||||||||||||||||||||||||
| Homework | There will be homework nearly 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. The homework problems will come from the main text book. There will also be suggested readings or activities from the OPTIONAL text, meant to enhance your understanding of concepts discussed in class. | |||||||||||||||||||||||||||||||||||||
| In-class exams | There will be two exams, covering the 1st 1/3 and 2nd 1/3 of the semester's material. 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, from supplementary materials, and from class notes. There will also be a final exam, which will be cumulative, but will focus most heavily on the last 1/3 of the semester. In all cases, an exam study guide will be provided to help focus your preparation. | |||||||||||||||||||||||||||||||||||||
| Article review | In order to see what is current in the area of computer organization and architecture, you will read and summarize one article from recent literature. This may be an article in a technical magazine or journal, or from a web site. The articles must be at least three full pages long, not counting figures. In the 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, and must be relevant to the course. If you have any question about the suitability of an article, let me look at it before you use it. | |||||||||||||||||||||||||||||||||||||
| Logic simulator | One project using a logic simulator will be done. The logic simulator software will be available to you via a link on the class web site, and is also included as a link in the textbook to the author's website. | |||||||||||||||||||||||||||||||||||||
| C programming | One project using the C programming language will be done. A Unix account will be made available to you for this project, although other options (such as Visual C/C++, etc.) are equally acceptable. | |||||||||||||||||||||||||||||||||||||
| What the course is about |
Although the title of the course is "Computer
Organization," it could just as easily be titled "Computer Architecture."
Just as an architecture student learns the theory and fundamentals of
designing buildings, you will learn the underlying architecture of the
computer... the science that goes on inside the box. This course is about the underlying machine that executes the programs we write. Often we can ignore the machine and deal with it at a higher, abstract level. That is what you have done in your programming experience in previous computer science courses. Sometimes, however, we must deal with the actual machine and its limitations and its peculiar characteristics. We need to know how information is stored so that we can manipulate it most precisely. We need 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 or 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 humans. 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. |
|||||||||||||||||||||||||||||||||||||
Last updated: 1/25/05