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
Also: Course Notes and Handouts
Grading
The final grade for the course is based on 7 grades as follows:
Miscellaneous Grading Policies
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
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. |