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 10:10am - 11:25am in Olin Hall 155 Olin 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.

Section Day Time Location TAs
214 Tuesday 1:25pm - 2:40pm Carpenter Hall 104 blue Alonzo, Mia, Ann, Max, Eric, Randy
201 2:55pm - 4:10pm Carpenter Hall 104 blue Zhen, Akhil, Akira, Ann, Charlie, Amani, Ally
208 Wednesday 11:40am - 12:55pm Carpenter Hall 104 blue Jon, Stephanie, Mia, Abdullah, Daniel, Xinwen, Mindy
212 1:25pm - 2:40pm Carpenter Hall 104 blue Shannon, Yunhe, Meghna, Sophie, Pablo L, Ivana
202 3:35pm - 4:50pm Carpenter Hall 104 blue Vishal, Zhen, Alonzo, Meghna, Pablo L, Susan
203 Thursday 11:40am - 12:55pm Carpenter Hall 104 blue Xinwen, Jon, Max, Abdullah, Akira, Woocheol
204 2:55pm - 4:10pm Carpenter Hall 104 blue Vishal, Akhil, Kevin, Alexander, David
209 Friday 11:40am - 12:55pm Phillips Hall 318 Kevin, Pablo F, Yiwen
213 1:25pm - 2:40pm Carpenter Hall 235 Red Shannon, Yunhe, Danqiao, Pablo F, Wendy


  • 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.
  • Prelims are on March 5th and May 2nd.
  • If you have a conflicting Prelim for a class smaller than CS 3410, please contact Corey Torres (ct635 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 Corey Torres (ct635 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 Corey Torres (ct635 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.