Course Information

Professor

Jason Waterman
Coaching and Office Hours


Description

This course examines the hierarchical structure of computing systems, from logic design and hardware control through machine and assembly languages. Topics include the structure and workings of the central processor, instruction execution, memory and register organization, addressing schemes and caching. Our aim is to help you become a better software developer by teaching you the basic concepts underlying all computer systems. We want you to learn what really happens when your programs run, so that when things go wrong (as they often do) you will have the intellectual tools to solve the problem.


Prerequisites


Meeting Times

Class: Monday and Wednesday 1:30 PM to 2:45 PM in SP 309
Lab: Tuesday 3:10 PM to 5:10 PM in SP 309


Textbook


Grading

Grades will be weighted as follows:

Labs10%
Assignments10%
Quizzes5%
Exam 120%, 25%, or 30%
Exam 220%, 25%, or 30%
Final20%, 25%, or 30%

The Exam/Final you do the best on will count for 30% of your overall grade. The Exam/Final you do the least well on will count for 20% of your overall grade. The quiz in the middle will count for 25% of your overall grade.

Note: The final is a regularly scheduled final held during finals period.


Attendance

I would really love to see you in each and every class. We’ll work on problems together during labs, and I will always leave time for questions during lecture. Our classes here at Vassar are small and coming to class is one of the best ways for you to learn the material. That being said, if you are not feeling well, please stay home and review recordings of the lectures posted online. I will make a best-effort attempt to record each lecture and post to the class website.


Electronic Devices in Class

Please turn off or put your phone on “do not disturb” mode in class. Many studies have found a mobile phone to be an impediment to learning in class. Phone use is a distraction to all members of the class — especially yourself. In addition, cognitive and behavioral scientists have found that electronic devices can erode ability to concentrate. Consider this class to be an oasis from your device. If you would like to use your laptop for taking notes in class you are welcome to do so, but please come and talk to me. The use of any electronic devices for non-class related purposes is not allowed.


Late Days

All assignments are due by the deadline stated on the assignment handout. You will receive a budget of five (5) late days for the course. These late days are provided to allow you to cope with most emergencies that prevent completing a lab on time, including computer problems, a cold, getting stuck at the airport, etc. Here is how late days work:

Late days are a tool to allow you to manage your time in the face of personal issues and to help smooth out burstiness in assignment due dates across classes. They are for when you are sick, when a short term emergency situation arises, when you have too many deadlines all at once, etc. Except for serious persistent personal issues (see below), you should not anticipate additional deadline leniency.


Dealing with Serious Persistent Personal Issues

I hope that everyone in this class will remain happy and healthy. But, if you have a serious persistent personal issue, such as being hospitalized for an extended period or needing to leave the country for a family matter, please talk to your class advisor in the dean of studies office as soon as possible. Such issues consistently affect one’s ability to succeed in all classes, rather than just CMPU-224, and the class advisors are equipped to coordinate plans for dealing with them. I will cooperate with such plans, but I cannot construct them independently of the class advisors.


Policy on the Use of AI and Large Language Models (LLMs)

In this course, thh primary objective is for you to develop your own computational thinking and problem-solving skills. The process of struggling with a problem, debugging code, and arriving at a solution is where true learning happens. Tools like ChatGPT, Google Gemini, GitHub Copilot, and other Large Language Models (LLMs) can be powerful aids, but their misuse can severely hinder your learning and constitutes a serious breach of academic integrity. I discourage the use of LLMs in this class but I do not explicitly forbid them.

The guiding principle of the policy is this: You may use AI tools to assist your learning, but not to do the work for you. You are responsible for every line of code and answer you submit.

Permitted Uses (Learning-Focused)

You may use AI assistants for the following purposes, provided you cite their use (see below):

Forbidden Uses (Integrity Violations)

The following uses are strictly prohibited and will be treated as academic dishonesty:

Mandatory Acknowledgement Requirement

If you use an AI tool in any of the permitted ways, you must include a specific acknowledgement at the top of your submission files.

Example Acknowledgement:

/*
 * Student: [Your Name]
 * Assignment: Lab 5 - Thread-safe Queue
 *
 * AI Usage Acknowledgement:
 * I used Google Gemini to help with this assignment in the following ways:
 * 1. I asked it to explain the concept of a "race condition" with a simple code example.
 * 2. After my program was deadlocking, I asked for common causes of deadlocks
 * involving two mutexes. It explained the problem of inconsistent lock ordering,
 * which helped me find and fix the bug in my own code.
 */

The Golden Rule: If you find yourself copying and pasting code from an AI into your assignment, you are almost certainly violating this policy. If you are unsure whether your use of an AI tool is acceptable, ask the instructor or a Coach before you proceed.


Academic Integrity Policy

This course is designed to challenge you and help you develop critical skills in understanding how computers really work. The purpose of the lab and homework assignments isn’t just to get the answer, but for you to learn the underlying ideas and concepts in this course. Upholding academic honesty ensures that the work you submit is a true measure of your own understanding and effort.

This policy outlines the specific expectations for this class. It’s built on the principles of honesty, trust, fairness, and responsibility. We expect you to submit your own original work, properly credit the ideas of others, and understand the boundaries of acceptable collaboration. Please read the following guidelines carefully. Violating this policy can result in serious academic penalties, ranging from a zero on the assignment to failure of the course and referral to the university’s academic integrity office. If you’re ever unsure about what is permitted, or if you’re struggling with the material, please ask me for help.

Lab Assignments

Lab assignments are meant for you to practice and build skills. Most lab exercises are automatically graded, and you may submit your answers as many times as needed before the deadline until you get the correct answer. Collaboration on labs is permitted and encouraged. However, the work you submit must be your own and not copied from someone else.

Homework Assignments

Homework assignments must be the sole work of the student turning it in. If you need assistance on a homework assignment, feel free to ask me or the Coaches assigned to this course and please note the policy on the Use of AI and Large Language Models.

What is Cheating?

What is not Cheating?


Title IX

If you (or someone you know) have experienced sexual harassment or sexual violence, including sexual assault, relationship violence, or stalking, know that you are not alone. Vassar has staff trained to support you in navigating campus life, accessing health and counseling services, providing academic and housing accommodations, and more. Vassar strongly encourages all community members to take action, seek support, and report incidents to the EOAA/Title IX Office at (845) 437-7924 or titleix@vassar.edu. For more information about confidential support on- and off-campus, https://offices.vassar.edu/savp/resources/.

Please be aware that faculty members must disclose information about suspected or alleged sexual harassment or other potential sexual misconduct to the EOAA/Title IX Office. When the EOAA /Title IX Office receives information, they will reach out to offer information about resources, rights, and procedural options. Response to this outreach and further participation with the EOAA / Title IX Office is voluntary. Meeting with EOAA / Title IX does not mean you must file a formal complaint or report to another entity, including law enforcement. This meeting can be for information and support only or to file a complaint and receive support.


Academic accommodations

I take accommodations very seriously, and I try to design the course with the ideal of “universal access” in mind. I believe that a course design that benefits students with atypical learning profiles benefits every student.

Academic accommodations are available for students who are registered with the Office of Accessibility and Educational Opportunity (AEO). Students in need of disability (ADA/504) accommodations should schedule an appointment with me early in the semester to discuss any accommodations for this course, which have been approved by the Office of Accessibility and Educational Opportunity, as indicated in your AEO accommodation letter.


Religious Observances During Class Times

Students who wish to request academic accommodations for a religious observance should email me no later than the end of the add period for Full-Term and First Six-Week courses. While requests can be made at any time, accommodations may be more limited if submitted after this period. If you have questions or concerns about your request, please contact the Office of Religious and Spiritual Life and Contemplative Practices or the Office of the Dean of Studies. Please note that accommodations do not exempt you from completing any coursework missed as a result of a religious observance.