CMPU-224-01 Computer Organization - Fall 2020 syllabus

This course covers the underlying principles and internal structure of computer systems, with the goal of enabling students to become better programmers and encouraging further study in the area of computer systems.

Topics covered include:

  • Computer system structure
  • Binary data representation
  • C language programming
  • Assembly language programming
  • Central Processing Unit (CPU) architecture
  • Program optimization
  • Memory subsystem
  • CMPU-102 - Data Structures and Algorithms
  • Name: Rui Meireles
  • Website:
  • Email: (expected response time: 24 business-day hours, i.e. no response on weekends)
  • Office: Sanders Physics 304 (but will be remote in Fall 2020)
  • Office hours: Tuesdays 3-5 PM and Fridays 10 AM-12 PM. Other times by appointment.

Student coaches will be available to help with lab assignments and other course-related questions. They will hold periodic office hours as specified in the calendar published on the course's Moodle site main page.

The coaches are:

  • Nadim Majumder
  • Nhan Nguyen
  • Oliver Moody
  • Computer Systems: A Programmer's Perspective, Third Edition by Randal E. Bryant and David R. O'Hallaron (required).
  • The C Programming Language, Second Edition by Brian Kernighan and Dennis Ritchie (optional).
  • Lab assignments: 50%
  • Midterm exam: 25%
  • Final exam: 25%

Every week there are two 75-minute lectures and one 2-hour lab. Lectures introduce new material, which is then exercised during lab.

During Fall 2020, the instructor will be remote. Lectures shall be given synchronously over zoom. Lectures will also be recorded and uploaded for asynchronous viewing.

Labs shall be run synchronously. In-person students may use the Sanders Physics 309 computer lab, where a coach will be able to provide in-person help. Note that due to room capacity constraints, students may not be able to attend all lab sessions in-person. During labs, the instructor shall provide synchronous remote help through text, audio, and video, to all students.

Synchronous class attendance is not mandatory but encouraged whenever possible. If you can not attend, please do watch the recording as soon as possible. Students are responsible for all information given in class, whether or not it is presented in any other form.

You will need some form of computer (note that tablets and smartphones are computers too) and an Internet connection to participate in the lectures and labs. Please contact the instructor if you have concerns getting access to these. The computer lab, as the name implies, is equipped with computers for student use. But, as previously mentioned, please note access will be restricted due to capacity constraints.

Lab assignments shall be used to consolidate and expand upon concepts introduced in lectures.

Students will be able to choose whether to work on labs in pairs or individually.The instructor will poll students for their preference at an appropriate time. Regardless of choice, every individual must submit every assignement, even if partnered.

Lab periods will be used to work on the assignments but typically won't be sufficient. Students are expected to complete assignments on their own time.

There will be a new assignment roughly every other week, for a total of 5 or 6 (to be determined at a later date).

Late submissions shall not be accepted without a very good justification.

In this course, you will have the option of working with a partner for the labs. However, exams must be done individually.

You are welcome to discuss the lab assignments with students other than your partner, but you are not permitted to look at their code, or have them look at yours. You are welcome to verbally help someone in debugging their code, but you must do so without looking at it. If you use an external source for your homework, you must cite it. Posting solutions to labs assignments from this course (e.g., to Bitbucket or GitHub) is not allowed.

We encourage every student to familiarize themselves with the CMPU department's academic integrity policy, which applies to this course:

  • The Quantitative Reasoning Center ( helps students improve their analytical skills pertaining to quantitative subjects.
  • The Writing Center ( helps students improve the clarity and cogency of their writing.

Academic accommodations are available for students registered with the Office for Accessibility and Educational Opportunity. Students in need of ADA/504 accommodations should schedule an appointment with the professor early in the semester to arrange for said accommodations.

Vassar College is committed to providing a safe and respectful learning environment for all students. An environment free of all forms of discrimination and harassment, including sexual assault, domestic violence, dating violence, and stalking. Vassar College has staff members trained to support students in navigating campus life, accessing health and counseling services, providing academic and housing accommodations, helping with legal protective orders, and more:

The SAVP website and the Title IX section of the Equal Opportunity and Affirmative Action (EOAA) website ( have more information, as well as links to both on- and off-campus resources.