Homework Exercises

There will be five homeworks during the semester that will count for 20% of your course grade. Unless otherwise noted, you are free to discuss the problems and your general approach with other students in the class. However, the answers you turn in must be your own original work, and you are bound by the Honor Code. Please start early and attend your discussion section for important instructions and extra help.

  1. Homework 1: Numbers and C – due Monday, August 31 at 6pm
  2. Homework 2: Logic and ALUs – due Friday, September 25 at 6pm
  3. Homework 3: Functions – due Friday, October 23 at 6pm
  4. Homework 4: Caching and Interrupts – due Wednesday, November 25 at 6pm
  5. Homework 5: Pipelines and Virtual Memory – due Friday, December 4 at 6pm

Programming Projects

There will be four projects during the semester that will count for 25% of your course grade, done individually. You may consult general reference material, but you may not collaborate with other students. Similar to the homework, you can discuss general concepts with other students, but the material you turn in must be entirely your own work. Please start early and attend your discussion for important instructions and extra help.

  1. Project 1: Assembly – due Friday, September 18 at 6pm
  2. Project 2: Basic I/O – due Friday, October 16 at 6pm
  3. Project 3: Calling Convention – due Friday, October 30 at 6pm
  4. Project 4: Interrupts – due Friday, November 20 at 6pm

Lateness: Assigned work is due at the dates and times listed above. We strongly recommend that you get started early. Late work will not be accepted after 24 hours past the deadline, since we will begin reviewing the answers in discussion sections at that time. Late submissions will be penalized by 10% of the maximum attainable score, plus an additional 10% every 5 hours until received. The instructors may grant individual extensions, but only under extraordinary circumstances.

Collaboration: We are here to provide a nurturing environment for everyone enrolled in the course. However, acts of cheating and unacceptable collaboration will be reported to through the Honor Code process. Cheating is when you copy, with or without modification, someone else’s work that is not meant to be publicly accessible. Unacceptable collaboration is the knowing exposure of your own exam answers, project solutions, or homework solutions, or the use of someone else’s answers or solutions.

At the same time, we encourage students to help each other learn the course material. As in most courses, there is a boundary separating these two situations. You may give or receive help on any of the concepts covered in lecture. You are allowed to consult with other students about the conceptualization of a project, or the general approach for homework solutions. However, all written work, whether in scrap or final form, must be done by you.

If you have any questions as to what constitutes unacceptable collaboration or exploitation of prior work, please talk to an instructor right away. You are expected to exercise reasonable precautions in protecting your own work.