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:10-11:25 in B14 Hollister Hall.

Lab Sections

Please attend the Lab Section that you enrolled in. You will not receive credit for attending the wrong lab. If you need to change Lab Sections, that is fine, but please do so officially on Student Center.

Section Day Time Location TAs
207Tuesday 11:40-12:55 Carpenter Blue Room (104)Robert, Miranda, Jonathon, Jesse
206 1:25-2:40 Carpenter Blue Room (104)Chesley, James, Adit, Stephen, Daniel W
201 2:55-4:10 Carpenter Blue Room (104)Bridget, Danny, Celine, Jonathon
208Wednesday11:40-12:55Carpenter Blue Room (104)Louise, Wayne, Michael, Nihar, Lin
212 1:25-2:40 Carpenter Blue Room (104)Louise, Drew, Michael, Nicole
203Thursday 11:40-12:55Carpenter Blue Room (104)Ransen, Danny, Chesley, Lauren
204 2:55-4:10 Carpenter Blue Room (104)Nitya, Celine, Daniel L, Daniel G, Tatsuhiro
209Friday 11:40-12:55Carpenter Blue Room (104)Wayne, Melody, Naxin, Ryan
205 2:55-4:10 Carpenter Blue Room (104)Cynthia, Miranda, James, Bridget


  • This semester we are participating in a Canvas Pilot Program. Most of the content of the course will be located there.
  • 99% of all matters can be handled on Piazza:
  • Private messages should be visible to all instructors and staff. Do not create private messages visible by only a subset of the course staff.
  • Do not contact course staff members via their email addresses, facebook, texting, etc.
  • For serious matters that must be handled exclusively by the instructors, please email cs3410-prof or--when possible--come to instructor office hours. Do not email the course instructor via cornell email address.


  • 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 10/3 and 11/28. Alternate prelim times are at 5:15pm on the same day. You do not need to email us to take the alternate exam time. However, you may not leave the alternate exam early for any reason.
  • There is no written final exam. Your final project will be due on 12/7 at 4:30 PM. This time and date is set by the university, and there will be no extensions or late submissions allowed.
  • If you have 3 exams in a 24 hour period and CS 3410 is the largest of these three classes, please contact Jenna Edwards (jls478 in 401 Gates Hall), providing her the date of the exam in question, the course names and numbers of the other two courses with exams on the same date, and a link to the documentation of the dates of these other exams. Under this circumstance only we will allow you to take the exam on a later date. Exams may never be taken early.
  • If you require exam accommodations, please contact Jenna Edwards (jls478 in 401 Gates Hall). Be sure to tell her which course you are enrolled in and attach the necessary documentation of the accommodation. We are happy to meet the needs of our students in this matter.