IC220 Computer Architecture & Organization (3 credits)
Course Policy, Spring AY17

Instructors:
Prof. Luke McDowell, Michelson 347, x3-6802, lmcdowel@usna.edu (Coordinator)
Capt Erik Rye, USMC, Michelson 342, x3-6839, rye@usna.edu
Course Description: This course introduces students to performance metrics, instruction set architectures, assembly language, logic design, memory hierarchies, and pipelining.
Learning Objectives:
  1. Critically evaluate the performance of computer systems (supports Student Outcome(f-written) );
  2. Discuss modern trends and challenges in computer system design;
  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 (c) );
  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 (supports Student Outcome (a) );
  9. Understand the ethical issues and responsibilities of fair use with regard to hardware and software and its local and global impact on organizations.
Student Outcomes:
(a) An ability to apply knowledge of computing and mathematics appropriate to the discipline
(c) An ability to design, implement and evaluate a computer-based system, process, component, or program to meet desired needs
(f) An ability to communicate effectively with a range of audiences
Textbook: Computer Organization and Design: The Hardware/Software Interface, Fifth Edition, David A. Patterson and John L. Hennessy, Morgan Kauffman Publishers. A must have!
Reading assignments are from the text, and may be supplemented by handouts or additional assignments. Class lectures will cover most of the material presented in these assignments, however due to time constraints 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. EI is normally available during weekdays by appointment. Send email or call if you desire an appointment – call if you’re requesting a time within the next few hours. Although students may show up at the instructor's office 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 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:

www.usna.edu/CS/resources/honor.php

Specific instructions for this course: All projects, quizzes, and exams are individual effort only. Unless otherwise specified, you may discuss homeworks and labs as much as you like with other students, provided that:
  1. You must clearly identify those that you collaborated with when turning in the assignment.
  2. You must fully understand all of the techniques and solutions in your homework.
  3. The actual pencil-to-paper or fingers-to-keyboard effort must be your own. Sharing files or parts of files between students is not permitted.
  4. Complete all homework before entering the classroom on the due date.
Classroom Conduct: The section leader will record attendance and bring the class to attention at the beginning and end of each class. If the instructor is late more than 5 minutes, the section leader will keep the class in place and report to the Computer Science department office. If the instructor is absent, the section leader will direct the class. Drinks are permitted, but they must be in reclosable containers. Food, alcohol, smoking, smokeless tobacco products, and electronic cigarettes are all prohibited. Cell phones must be silent and stowed during class. Visit the head before class if needed.
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 (project, homework, lab) is submitted:
Grading:
6 weeks12 weeksFinal
Homework/Quizzes/Labs25%25%20%
Projects/Papers10%10%10%
6 Week Exam65%32%15%
12 Week Exam33%15%
Final Exam40%
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 completed and turned in, even if the deadline for receiving credit on those assignments has passed. 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.
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.
Quizzes: Frequent short quizzes will be given at the discretion of the instructor. Quizzes may be announced or unannounced. You are responsible to keep up with the material in class.
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.