Computer Organization and Programming

CSCI 305, Section 01
Fall Semester 2007

 

Instructor

John I. Moore, Jr. Phone:  843-953-7882
Office:  Thompson Hall 230       E-mail:  john.moore@citadel.edu

 

Course Description

An introduction to computer architecture and assembly language programming. Relationship of the conventional machine level of a modern computer system with its other layers. Topics are chosen from addressing; machine instructions; I/O; subroutines; parameters; recursion; stacks; coroutines; exceptions; interrupts; number systems and arithmetic; and the physical, digital, and the microprogramming levels.

Prerequisites: CSCI 202 and MATH 206

 

Learning Outcomes

Upon successful completion of this course, a student will be able to

 

Textbooks

  1. [I] Kip R. Irvine, Assembly Language for Intel-Based Computers (Fifth Edition), Prentice Hall, 2006. (ISBN 0-13-238310-1)
     
  2. [N] Linda Null and Julia Lobur, The Essentials of Computer Organization (Second Edition), Jones and Bartlett Publishers, 2006. (ISBN 0-7637-3769-0)

Also:  Course Notes and Handouts

 

Grading

The final grade for the course is based on 7 grades as follows:

 

Miscellaneous Grading Policies

  1. Students are required to work individually on all work done outside of class. Joint work is forbidden. Assistance from anyone other than the instructor, a librarian, or the writing center staff is also forbidden.
     
  2. Each programming project will be due one week after it is assigned unless noted otherwise by the instructor. Late projects, for whatever reason, will have their grade lowered by one letter, and projects more than one week late will not be accepted.
     
  3. Homework will be assigned but not collected. Daily quizzes will come directly from the material covered in the previous day's class, often from the homework assignments.
     
  4. Class attendance and participation can influence borderline grades.
     
  5. A total of six absences will result in a course grade of F. With respect to this policy, three lates count as an absence. In addition, if you are late by 15 minutes or more, you will be considered absent.
     
  6. Incomplete grades are given only in unusual circumstances. Consult the catalog for policy on incomplete work.

 

Class Schedule

Tuesday-Thursday, 8:00-9:15 a.m., Thompson Hall 216.

 

Office Hours

Monday 1:00-3:00 p.m.
Tuesday 1:00-3:00 p.m.
Wednesday  10:00-12:00 a.m.
Thursday 2:30-3:30 p.m.

Other times by appointment

 

Important Dates

Oct. 2 Test #1 (Irvine, Chapters 1-4; Null and Lobur, Chapters 1-3)
Oct. 17 Last day to withdraw with a grade of “W”
Nov. 6 Test #2 (Irvine, Chapters 5-7; Null and Lobur, Chapters 4-5)
Nov. 19-23  Fall Break (Take books home to study during break!)
Dec. 8 Final Exam 8:00-11:00 a.m.

 

Expectations

  1. Do not miss the assigned tests without a valid excuse! Missing an assigned test without a valid excuse will result in a grade of zero for that test. The instructor gets to determine whether or not an excuse is valid. In particular, guard duty is not an acceptable excuse for missing an assigned test. When possible, students should notify the instructor in advance if they will be unable to take an assigned test. All make-up tests will be given outside of normal class time. Once a test has been given in class, any subsequent make-up tests may differ significantly.
     
  2. Show up for class on time and prepared. That means that you have read the appropriate sections from the book plus any handouts, and you have worked all assigned homework. If a test has been assigned, you should be prepared to take the test. If you were late to class or absent from the previous class meeting, you are responsible for getting class notes and assignments from another student in the class or from the instructor.
     
  3. If you are late to class, it is possible that you have already been marked absent by the time you arrive. It is your responsibility to notify the instructor after class that you were late rather than absent.
     
  4. Take care of any personal needs outside of class time. Except for emergencies, you should not need to go to the bathroom, get a drink of water, etc. If you need to leave the room at any time while class is in session, you should ask for permission.
     
  5. There should be no personal conversations or moving around during class without explicit permission. These actions are disturbing to other students and to the instructor. Be courteous and respect the rights of others.
     
  6. You should respect the property of your college. No eating, drinking (other than water), smoking, dipping, chewing tobacco, etc. in the classrooms. Also, no writing or carving on the desks, chairs, podium, etc. Any willful vandalism or destruction of Citadel property will be dealt with severely.

 

Daily Schedule

Dates Topics Covered
Aug. 23-28 Basic Concepts: Virtual Machines and Data Representation
(Irvine, Chapter 1; Null and Lobur, Chapters 1-2, omit Section 2.5)
Aug. 30-Sep. 4  IA-32 Processor Architecture (Irvine, Chapter 2)
Sep. 6-11 Assembly Language Fundamentals (Irvine, Chapter 3)
Sep. 13-18 Data Transfers, Addressing, and Arithmetic (Irvine, Chapter 4)
Sep. 20-25 Boolean Algebra and Digital Logic (Null and Lobur, Chapter 3)
Sep. 27 Procedures (Irvine, Chapter 5, initial sections)
Oct. 2 Test #1 (Irvine, Chapters 1-4; Null and Lobur, Chapters 1-3)
Oct. 4 Procedures (Irvine, Chapter 5, remaining sections)
Oct. 9-11 MARIE: A Simple Computer (Null and Lobur, Chapter 4)
Oct. 16-18 Conditional Processing (Irvine, Chapter 6)
Oct. 23-25 Instruction Set Architectures (Null and Lobur, Chapter 5)
Oct. 30 Integer Arithmetic (Irvine, Chapter 7, first four sections only)
Nov. 1 Memory (Null and Lobur, Chapter 6, initial sections)
Nov. 6 Test #2 (Irvine, Chapters 5-7; Null and Lobur, Chapters 4-5)
Nov. 8 Memory (Null and Lobur, Chapter 6, remaining sections)
Nov. 13 Advanced Procedures: Stack Frames and Recursion (Irvine, Chapter 8, first three sections)
Nov. 15 String Primitive Instructions (Irvine, Chapter 9, first two sections)
Nov. 19-23 Fall Break (Take books home to study during break!)
Nov. 27 Input/Output (Null and Lobur, Chapter 7, selected sections)
Nov. 29 Macros (Irvine, Chapter 10, Section 2 only)
Dec. 4 Floating-Point Representation (Irvine, Section 17.1; Null and Lobur, Section 2.5)
Dec. 8 Final Exam 8:00-11:00 a.m.