The schedule below shows the tentative dates for all class topics, readings, and assignments. You should complete all assigned reading before class on the day it is listed. Labs will be available shortly before the assigned lab day. There may be some revisions to the schedule during the semester, but I will make sure to announce these changes in class. If you view this page with JavaScript enabled you can jump to the current week on the schedule, and you should see the next day of class highlighted in the schedule below.
We will begin this course with an overview of what computer organization and architecture is, discuss the basic structure of the course, and get to know each other.
Our first deep dive into architecture will introduce the basic building blocks of a processor—logic gates.
In this course we will often use logic gates to implement specific behaviors. Today we will look at some of the common structures we build from logic gates that we’ll use through the rest of the course.
Today is the US general election. If you are eligible to vote in the election and have not already voted by this day, please do so! Normally, this will be a reserved time for you to work with your lab partner(s), but I understand some of you may be unavailable because you are voting. If this is an issue for you, let me know and I can give your group additional time to complete our first full lab. If you are able to work with your group during this time I will be available to answer questions from 8–10am Grinnell time.
Whatever happens in the US general election, it is likely many of us will need some time to process the outcome, if we even know what the outcome is at this point. We will resume regularly-scheduled class meetings on Thursday.
Today, we will discuss the methods we use to perform addition and subtraction with binary numbers. We’ll spend some time thinking about how we can build circuits to perform these operations for us.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.
While we’ve seen a number of ways to use logic gates to compute output values from input values, we have not yet discussed circuits with memory. Sequential logic allows us to build circuits that store information. We’ll discuss a few of these circuits and think about where they may be useful.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.
The sequential logic we’ve seen so far allow us to store small amounts of information, but computers have enormous amounts of information to store. Today, we will look at the structures that are used to store large amounts of information.
So far, this course has focused on designing and understanding circuits that perform a specific action for us, but the computers we use regularly are capable of performing arbitrary work. Today, we will look at how we can communciate arbitrary tasks to a general purpose computer.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.
Use this time to work with your partner(s) on the current lab. There is no synchronous class meeting, but I will be available during class time to answer your questions about the lab.