Intro to Computer Architecture

Exam Dates

We will have our exams on the following two dates. Both exams are in-person only. We will meet in Calaveras Hall 134.

  • Monday, June 22, 2026 - Midterm Exam
  • Friday, July 10, 2026 - Final Exam

All the lectures, from this point on, will be online using Zoom.

Tenative Semester Schedule

Welcome to Computer Architecture

Introduction

Every computer scientist has used a high-level programming language. These include famous languages such as C#, Java, Visual Basic, COBOL, and thousands more. They make it easy to create complex structures without worrying about what happens "behind the scenes".

So, what does happen? Each of these languages are "compiled" - converted to the actual instructions that run on the computer's processor. These instructions allow the program to talk to the operating system, access memory, run computations, loop, and make decisions. 

By understanding how your programs actually work, you will understand the underlying computer architecture. Assembly programming, which just one level above the 1's and 0's that make up the computer's instructions, will give you a detailed view, and far more control than you can get from a high-level programming languages.

Major Topics

  • Numeric and non-numeric data representation
  • Representation of Elementary Language Data Types: integer, real, Boolean, character
  • Processors, registers, and instruction encoding
  • Memory location alignments and data movement instructions
  • Conditional logic
  • Modules: defining subroutines, calling subroutines
  • Addressing modes: registers and memory locations
  • interrupts, vector tables, and interaction with the operating system
  • High-level language interfacing, inline assembly, introduction to code generation
  • Von Neumann architecture and processor design philosophies.

Course Format

This class is synchonous hybrid. This means the following:

  • All or part of the lectures are online (synchronously only)
  • All exams are in-person.

I will be present, in class, for the first day of class. However, if the students prefer, we might go fully online (for lectures).