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.
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 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.
Relationship to other courses
has minimal overlap with ECE/CS 2330.
assumes you did well in CS 2150. In particular, it assumes you know
- either C or C++
- pointers and addresses
- how the call stack works
- what assembly and machine language are
- binary and hexadecimal numbers, basic exponentiation and logarithms
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.
- This is the place to get help for almost any issue. Access via Collab or from piazza.com.
- 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.
- Charles Reiss
- Office: Rice 205.
Office Hours: (see calendar below)
- Ashish Venkat
- Office: Rice 312;
Office Hours: Tu/Th 12:30-1:30pm at Rice 312
- Lahiru Nuwan, Brad Knaysi, Patrick Wetmore, Jimmy Patterson, Hunter Murphy, Lingxi (Ling-shee) Wu, Caleb Kang, Jack Herd, Muxuan Yan, Daniel Choi, Austin Bunting, Jiahong, Youssef Errami, Charlie Wu, Nikita Semichev
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.
Unless they tell you otherwise, use Piazza to contact them (and make your post visible to all course staff, not just one or two of them).
- Professor Reiss’s office hours are in his office (Rice 205)
- Professor Venkat’s office hours are in his office (Rice 312)
- Other office hour locations are indicated on the schedule below or, if not indicated, are in Thorton Stacks.
- Busy office hours in Thorton Stacks may use this office hour queue.
All professor office hours are open, meaning we will not close the door and have a private conversation during office hours. If you have sensitive matters to discuss, please email your professor to set up a separate time to visit about them.
You will need
A copy of Bryant & O’Halleron’s Computer Systems: a Programmer’s Perspective, third edition. The changes to chapters 3, 4, and 5 make the 2nd edition strongly discouraged. The first edition will not work.
To be able to come to every lab.
The intent is to meet policy PROV-022, which provides a
minimum standardof 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 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.
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.