Contents
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.
Course Content
There are two common expectations that this course does not fulfill:
- You won’t learn how transistors work or how to combine them into gates; that’s ECE 2630.
- You won’t learn how to combine gates into processor components; that’s ECE/CS 2330.
- You won’t learn how to put processor components into physical chips; that’s the ECE 4332.
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 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.
Relationship to other courses
CS 3330
-
has minimal overlap with ECE/CS 2330.
-
assumes you did well in CS 2150. In particular, it assumes you know
- pointers and addresses
- how the call stack works
- what assembly and machine language are
- binary and hexadecimal numbers, basic exponentiation and logarithms
- either C or C++
-
has enough overlap with ECE 4435 that you may only receive credit for one of those two courses.
-
is prerequisite for CS 4414 (OS), CS/ECE 4457 (Networks), and a few less-commonly-offered electives. In each cases, either ECE 3430 or ECE 4435 also meets the CS 3330 prerequisite.
Attendance, Lectures and Labs
Lectures will be recorded barring technical difficulties, but I think it is much better for most students to attend lectures.
Remote submission of labs is possible, so we do not enforce lab attendance. If you attend lab, of course, you can get help from TAs in person.
Course Staff
- Charles Reiss
- Office: Rice 205.
Email: creiss@virginia.edu
Telephone: 434-924-8274
Office Hours: (see calendar below) - TAs
- Andrew Fu, Austin Huang, Beenish Gul, Bertram Zhai, David Yang, Harry Li, Hongyan Wu, Ishaan Sanghvi, Klaus, Lukas, Neil, Nishita Ghanate, Pawan Jayakumar, Rafid Mirza, Ramya Susarla, Ryan Steele, Sahil Patel, Shiva Manandhar, Sid Burre, Sophia Walton, Teagan Le, Yulun Wu
Please respect the fact that our TAs are also students in other classes, with assignments and so on of their own, and limit your 3330-related contact with them to the times they have scheduled to act as TAs.
Ways to get help (besides emailing)
Piazza
This is the place to get asynchronous help for almost any issue. Access via Collab or from piazza.com.
Office Hours
-
Office hours may use this office hour queue.
-
Some office hours will be remote; some will be in person. The location will be indicated on the schedule below. Remote office hours will use a Discord server whose invite will be available via Collab; see these instructions.
Anonymous Feedback
Anonymous feedback, which is available through Collab, is appreciated by at least one of the instructors.
The feedback is really truly anonymous; there is no way we can find out who posted it, so posting things like “you misgraded my homework” there will not be effective.
You will need
-
A copy of Bryant & O’Halleron’s Computer Systems: a Programmer’s Perspective, third edition. The international third edition is okay. The changes to chapters 3, 4, and 5 make the 2nd edition strongly discouraged. The first edition will not work.
-
Time.
The intent is to meet policy PROV-022, which provides a
minimum standard
of 1 credit ≥ 3 hours of academic work per week for 15 weeks. We target a level of work where the median student will spend approximately the following each week:- 2.5 hours lecture
- 1.25 hours lab
- 3 hours reviewing/reading and online open-book quizzes
- 2.25 hours homework in weeks with homework; in other weeks, this time will be expected to be spent reading and otherwise studying.
We encourage you to set aside this time on your weekly calender in advance.
Grading and Academic Honesty
See this page.
Accomodations
If you need any kind of special accommodations, including but not limited to disability, learning needs, illness, or personal circumstances, please contact us as soon as you are aware of these needs. We aim to be as accommodating and fair as possible.
If you are not sure if your situation warrants special attention, ask us.