Computer System Organization and Programming (CS 3410) provides an introduction to computer organization, systems programming and the hardware/software interface. Topics include instruction sets, computer arithmetic, datapath design, data formats, addressing modes, memory hierarchies including caches and virtual memory, I/O devices, bus-based I/O systems, and multicore architectures. Students learn assembly language programming and design a pipelined RISC processor. The course is open to any undergraduate who has mastered the material in CS 2110/2112.


Tuesdays and Thursdays 2:55-4:10 in B14 Hollister Hall.

Lab Sections

When you signed up for CS 3410, you also registered for a Lab Section. Labs are a great opportunity to try out new concepts with helpful course staff members standing by to answer your questions. Labs are designed to take approximately 1 hour and should be completed in the lab section. Some labs will turned in via hardcopy, others online. Lab completion is part of your semester grade as is Lab attendance.

Please attend the Lab Section that you are enrolled in; this is the only way to get credit for the lab attendance (and the lab itself if it is a handout). If you need to change Lab Sections, do so officially on Student Center, but use the swap feature so as not to lose your spot in the lecture.

Labs may not be turned in late (slip days do not apply to labs) and lab absences cannot be made up. However, we will drop your lowest 2 Lab grades and calculate your Lab attendance allowing 2 missed Labs with no penalty to your grade.

Located in Carpenter Blue Room (104). Lab Sections begin on Tuesday, August 28.

TAs marked with a * are the designated Partner Leaders for each Lab Section. If you are having any issues with your partner, please contact them in Lab Section, during their Office Hours, or via cs3410-staff. (Simply address the email to the TA you are trying to reach.)

Section Day Time TAs
201Tuesday 11:40-12:55 Niranjan*, Alonzo, Meghna, Pablo L
202 1:25 - 2:40 Yunhe, Abdullah, Weber*, Lina
203Wednesday 11:40-12:55 Soham*, Jon, Qihang, Sidd, Max, Lucas
204 1:25 - 2:40 Cheyenne*, Ziyun, Henry, Will, Akhil, Mia
205Thursday 11:40-12:55 Alonzo*, Stephanie, Daniel G, Meghna
206 1:25 - 2:40 JJ, Stephanie*, Jack, Cynthia, Mindy
207Friday 11:40-12:55 Lavanya*, Alex, Jack, Ann, Akira
208 1:25 - 2:40 Cynthia*, Wayne, Danny, Jasmine, Pablo F


  • Bring your student ID to all of your exams. We will be taking attendance by having you swipe it through a card reader upon arrival.
  • Prelim Dates are determined by the university and are posted on the course schedule.
  • If you have a conflicting Prelim for a class smaller than CS 3410, you can take the Make-Up Prelim on the same day from 5:45-7:15pm. Please contact Jenna Edwards (jls478 in Gates 401) explaining the conflict (make sure you mention both CS 3410 and the course for which there is an official, conflicting prelim) one week before the Prelim in question. She will let you know where the Make-Up Prelim will take place. You may not leave the alternate exam early for any reason.
  • If you need any accommodations for exams, please contact Jenna Edwards (jls478 in 401 Gates Hall). We are happy to meet the needs of our students in this matter.
  • There is no written final exam. Your last project is due on the day set forth by the university here and is also on the course
    . The registrar has chosen this time and date to your benefit, and as such there will be no extensions or late submissions allowed (including any late days you may have remaining).


  • Course announcements will be posted and pinned on Piazza so you should check it regularly, especially before working on an assignment.
  • 99% of all matters can be handled on Piazza. Private messages on Piazza should be visible to all instructors and staff, never only a subset of the course staff. This includes the instructor.
  • For time sensitive matters, please email cs3410-staff. This is the fastest way to get a response as it goes straight to many inboxes.
  • For sensitive matters that must be handled exclusively by the instructor, please email cs3410-prof or--when possible--come to instructor office hours. Please do not email the instructor personally because it is important to keep all 3410 communication in one place and some instructors teach multiple classes which can cause confusion.
  • For exam accommodations, please contact Jenna Edwards (jls478 in 401 Gates Hall).
  • We will distribute grades to you via Gradescope (for prelims) and CMS (for everything else).


There are approximately 6 Projects that are to be completed throughout the semsester. Most projects will be done in pairs. You will have a different partner for each project and this partner will be assigned to you from the students in your Lab Section. (If there are an odd number of students in your Lab Section, you may be assigned a partner from another Lab Section at most once during the semester.) At the end of each project, each student will complete a partner evaluation. Completing this evaluation will be part of your class participation grade. The evaluations you receive will factor into your semester grade.