CS 232: Computer Organization

Title image Spring 2025

Lectures

Lecture: MWF 9:00am (Davis 308)

Instructor
Tahiya Chowdhury
Office: Davis 112

Tahiya's Typical Office Hours:

  • Mondays: 2-3:30pm
  • Wednesdays: 2-3:30pm
  • Fridays: 12-1pm

Labs

Lab A: T 1:00-2:20pm (Davis 122)
Lab B: T 2:30-3:45pm (Davis 122)

Instructor
Stephanie Taylor
Office: Davis 137

Stephanie's Typical Office Hours:

  • M 2-4pm, W 3-5pm, F noon-2pm
  • You are welcome to walk into my CS232 lab sessions (T 1:00 - 3:50 pm) for questions if I’m not teaching or speaking with students.
  • Note that I often need to adapt my office hours (and that the Wednesday hours will likely be moved earlier in the day near the end of April). I post my weekly schedule here


Labs and Projects

LabsProjectsDue Dates
1. Wires and CircuitsPrime Traffic24 February 2025
2. Modular Design and VHDLDouble Sevens3 March 2025
3. State MachinesReaction Timer10 March 2025
4. Controllable CircuitsProgrammable Lights21 March 2025 (Friday)
5. Branching CircuitsProgrammable Lights II7 April 2025
6. Memory and Stacks4-Function Calculator14 April 2025
7. RISC CPU DesignRISC CPU28 April 2025
8. Assembly LanguageAssembler9 May 2025 (Friday)

Project Guidelines

Much of what you learn in this course will come from implementing the ideas you learn in lecture. Each week in lab we will practice a new concept, which will then be used as a core part of the project. Each project will involve creating and testing some type of digital circuit, primarily using a hardware description language. As in all core CS courses, the defined part of the project will constitute about 85% of it. You can choose to stop there, or you can extend the project in ways that are interesting to you for additional credit. Each project will have some suggested extensions, but you are always free to choose your own.

A project will always have a design/coding part and an associated report. Your design documents should be clear and concise. Your code should be well-written, well-commented, and efficient. The role of the report in this course is to show your design and demonstrate the resulting circuit works correctly. The demonstration may be a waveform diagram, a picture, or a video, depending upon the project. Any extensions also need to be explained and demonstrated in the report.

All projects will be graded out of 30 points. The design, code, and demonstration of your circuit working properly will constitute 26 points; you can earn up to an additional 4 points with extensions. A 30/30 project requires perfect code, a clear and well-written report, and meaningful or significant extensions. Note that doing lots of extensions will not make up for a poor report, code with errors, or code without comments.

The faculty and TAs are available to help you, especially with projects. Please follow the 30-minute rule: if you have not made any progress after 30 minutes of honest effort, stop what you are doing and ask a question of a TA or faculty. The point of the projects is not to be frustrated, but to make progress.

Success in the projects results from starting early, attending lecture and lab, making use of the course resources, and asking questions when you get stuck. All projects will be due Monday evening by midnight except as noted above. Projects submitted after the specified deadline will be graded without considering extensions. Any project work must be submitted within a week of the deadline to receive any credit. Submit what you have and move on to the next project.


Useful Links