IC220 Computer Architecture & Organization (3 credits)
Course Policy, Alpha AY21 (Summer 2020)

Prof. Luke McDowell, Michelson 347, x3-6802, lmcdowel@usna.edu (Coordinator)
Course Description: This course introduces students to performance metrics, instruction set architectures, assembly language, logic design, memory hierarchies, and pipelining.
Credits: 3-0-3
Learning Objectives:
  1. Critically evaluate the performance of computer systems
  2. Discuss modern trends and challenges in computer system design (supports Student Outcome (3));
  3. Understand how assembly language instructions are represented and executed by a processor;
  4. Write short, procedural assembly language programs;
  5. Understand the function call stack, its proper operation, common vulnerabilities, exploits, and defenses;
  6. Specify and minimize digital logic (supports Student Outcome (2) );
  7. Describe how the datapath and control work together in a processor to execute a program;
  8. Describe the memory hierarchy and be able to evaluate strategies for improving its performance;
Student Outcomes:
Graduates of the program will have an ability to:
Textbook: Computer Organization and Design: The Hardware/Software Interface, ARM Edition, David A. Patterson and John L. Hennessy, Morgan Kauffman Publishers. A must have!
Please note this is NOT the same as some previous years -- you must have the ARM version, not the older version with MIPS!!!
Reading assignments are from the text, and may be supplemented by handouts or additional assignments. Class lectures will discuss or review SOME of the material presented in these assignments, however to use class time most efficiently some of the material in the assignments will not be explicitly covered during the class periods. You are responsible for the whole assignment.
Extra Instruction: Extra Instruction (EI) is available and encouraged when your own attempts to understand the subject matter are unsuccessful. However, you must come prepared with specific questions or areas to be discussed (i.e. have read the assigned readings). If you have missed class, get the notes from a classmate first. See course webpage for details regarding how to schedule EI with your instructor. Although students may "show up" for EI without appointment, no expectation of instructor availability should be assumed. Email questions are also encouraged, though in some cases the reply will request in-person / virtual-meeting EI as the most effective solution.
Collaboration/Honor: The guidance in the Honor Concept of the Brigade of Midshipmen and the Computer Science Department Honor Policy must be followed at all times. See:


Specific instructions for this course: Midshipmen may not give *or* receive any unauthorized assistance.
Any cheating (including the receiving or giving of unauthorized assistance) will result in, at a minimum, a grade of zero on the offending assignment, quiz, or exam. All offenses will be reported to the Honor system.
Late Policy: Penalties for late submission of graded work may vary among courses or from semester to semester, but they will be the same for all sections of a given course. For this course: credit depends upon when an assignment is submitted:
6 weeks 12 weeksFinal
Homework/Quizzes/Labs20% 20% 20%
Projects/Papers 25% 25% 25%
6 Week Exam 55% 27% 22%
12 Week Exam 28% 23%
Final Exam 30%
Assignments are a vital part of student learning for this course. Consequently, to possibly receive a passing grade at 6-weeks, 12-weeks, or End-of-term, all homeworks, labs, and projects due to-date must be submitted (and substantially complete), even if the deadline for receiving credit on those assignments has passed.
Class participation is encouraged and expected. The instructor reserves the right to adjust the composite grade by as much as two points based on class participation.
Exams: All exams are effectively cumulative, though the 12-week exam emphasizes material covered since the previous exam. The final exam will be cumulative.
Absences: Students are responsible for obtaining any material missed due to an absence (notes, handouts, etc.) from the instructor, class web site, section leader or classmates. Additionally, students must ensure that their work is submitted by the deadline regardless of other commitments, i.e. duty, sick call, movement orders. Should bona fide emergencies arise, it is the responsibility of the student to coordinate with the instructor before the relevant deadlines.