CS 3330: Overview
This page does not represent the most current semester of this course; it is present merely as an archive.
CS 3330 – Computer Architecture, Spring 2015
Welcome to the work-in-progress class page for CS 3330 – Computer Architecture. This material represents the best current estimate of course flow and content. It will be refined as the semester draws closer and in reaction to how the course runs.
Course Content
There are two common expectations that this course does not fulfill:
- You won't learn how transistors work or how to make them into processor components; that's ECE/CS 2330.
- You won't learn how to put processor components into physical chips; that's the ECE 3430 → ECE 4435 sequence.
Instead, you will learn
- How computers are built and how that impacts you as a programmer.
- How to make code run quickly, or at least how to avoid making it run slowly.
- A reasonable amount of C, a moderate amount of x86 assembly, and a little of a hardware description language called HCL.
- How hardware guesses what your code will do before it does it.
- More than you knew there was to know about memory and caching.
This course has minimal overlap with ECE/CS 2330. It assumes you did well in CS 2110 (if you got less than a C−, you may not even enroll in this class). CS 3330 has enough overlap with ECE 3430 that you may only receive credit for one of those two courses.
Almost all students take CS 2150 before CS 3330. If you have not done so, you will need to catch up on some topics introduced there and gone into in more depth here:
- compiled languages (C in particular),
- addresses,
- assembly, and
- binary.
Course Staff
- Piazza
- This is the place to get help. Access it through collab or at piazza.com.
- Luther Tychonievich, instructor
- Office: Rice 210. If the door is open, you are welcome to come in.
Office Hours: See calender below
Email: tychonievich@virginia.edu. I generally check it once a day on business days only.
Telephone: 434-243-3789
- TAs
- Use Piazza to contact them (a private post if you need to).
Office Hours:
You will need
- A copy of Bryant & O'Halleron's Computer Systems: a Programmer's Perspective, second edition. You really do need the second edition, not the first.
- About 3–5 hours a week to study said textbook. It is one of the best textbooks I have ever read. It is worth reading and re-reading.
- To come to every lab. It is intended that lab exercises not extend past scheduled lab time, though we do not guarantee that intent.
- About 3–5 hours a week for quizzes and homework.
Copyright © 2015
by Luther Tychonievich. All rights reserved.
Last updated 2015-03-16 10:39 -0400