Skip to main content Link Search Menu Expand Document (external link)

CS152 Policies

Table of contents

  1. Description
  2. Enrollment
  3. Prerequisites
  4. Communication
  5. Course Components
    1. Lectures
    2. Discussions
    3. Lab Assignments
    4. Homeworks
    5. Exams
    6. Suggested Readings
  6. Student Support
    1. Office Hours
    2. Slip Days
    3. Accommodations and Extensions
  7. Grading
  8. Collaboration and Ethics
  9. Inclusion
  10. Support During Remote Learning
  11. Acknowledgements

Description

This course will introduce the basic ideas and techniques underlying the design of computer architecture. This course will give you an in-depth understanding of the inner-workings of modern digital computer systems and tradeoffs present at the hardware-software interface.


Enrollment

Course staff does not control enrollment; we have to follow the department’s enrollment policies. We do not have any enrollment codes or any other way to let non-CS majors into the class. If you have any questions about enrollment, please reach out to the emails listed in the enrollment policies page.

Concurrent enrollment applications will be processed in the second week of classes. We will add all pending concurrent enrollment students to the course so you can follow along the first few weeks.


Prerequisites

CS 61A, 61B, 61C: Prior computer programming experience and computer architecture knowledge is expected.

Course programming assignments will be in Chisel, Python, and C/C++. We do not assume that students have previous experience with Chisel. Prior experience with an HDL (like Verilog) may be helpful, but it is not required.


Communication

The course schedule and all resources (e.g. lecture slides, discussion worksheets) will be posted on the course website.

All course announcements and content/logistics questions will happen on Ed (the course discussion forum). We will be automatically enrolling everyone.

If you need to contact the course staff privately, please make a private question on Ed.


Course Components

Lectures

We will have a 90-minute live lecture on Tuesdays and Thursdays, 12:30–2:00 PM. This is the listed lecture time on the course schedule. Lectures will be recorded and recordings will be posted. Lecture attendance is not taken, but is encouraged.

Discussions

TAs will hold weekly 2-hour live discussions throughout the week. Discussion sections start on the first week of classes and will be taught by 1-2 TAs. Discussion attendance is optional, but highly encouraged. To that end, we may offer 1-2% of extra credit for active discussion participation.

The course is organized into five modules, with each module having a problem set, and a lab. The grade breakdown is given below, but a failure to complete the majority (at least 3/5) of the labs will result in an automatic F.

Lab Assignments

The labs will provide hands-on experience with the interaction of software and hardware, for a variety of machine designs. We will be making extensive use of designs written in the Chisel hardware description language. Each lab includes a directed component to guide students in learning certain concepts, plus an open-ended assignment (done in groups of 1-3 students) to allow students to show their creativity. Failure to complete at least three labs will result in an automatic F grade.

The deliverable for each lab is a lab report, submitted on gradescope. We’ll enroll all students in Gradescope automatically. Late lab assignments can be submitted using slip days. 0 credit is given for late lab assignments if you have no remaining slip days.

Homeworks

We will distribute 5 problem sets for you to practice your understanding of the course material. The problem sets also provide essential background material for the midterms. The problem sets will be graded primarily on a completion basis, but with a few problems graded for correctness to reward earnest engagement. We will distribute solutions to the problem sets after the problem sets are due to give you instant feedback.

Homework is to be submitted individually, but may be discussed in groups. If you work in a group, acknowledge your collaborators in the submission per standard academic practice.

Problem sets will be submitted on Gradescope. We’ll enroll all students in Gradescope automatically. Late homework assignments can be submitted using slip days. 0 credit is given for late homework if you have no remaining slip days.

Exams

There will be 2 midterms and the final exam covering the material learned in readings, labs, and problem sets. These will be closed book with no calculators, phones, smart watches, or computers of any kind allowed. Exams in CS 152 serve as the main evaluation criteria for this class. More logistics for the exam will be released closer to the exam date. We will attempt to offer alternate exam times, but are unable to offer any guarantees.

Suggested Readings

We highly recommend the following textbook:

J. L. Hennessy and D. A. Patterson, Computer Architecture: A Quantitative Approach, 6th Edition, Morgan Kaufmann Publishing Co., Menlo Park, CA. December 2017.

ISBN13: 978-0128119051

ISBN10: 0128119055


Student Support

Office Hours

Office hours will be in-person. To request help, make a ticket on the office hours queue.

See the course calendar on the website for the office hours schedule. Office hours start on the second week of classes.

Slip Days

All students will have 7 total slip days available for use on both Problem Sets and Lab assignments. A maximum of 3 slip days can be used on an individual assignment; this is to prevent you from falling too far behind the course and to avoid placing an unreasonable workload on the course reader(s). Slip days do not need to be requested; they will automatically be assigned optimally.

Accommodations and Extensions

As instructors, our goal is to teach you the material in our course. The more accessible we can make it, the better. If you encounter any extenuating circumstances, please let us know as soon as possible so we can best help you succeed in the class.

We provide extensions (which do not use your slip days) for the following circumstances:

  • family emergencies
  • DSP accomodations
  • Unexpected life events

We provide slip days for most common extension reasons (mild illness, midterms in other classes, busy weeks, etc) and are unlikely to approve an extension for longer than 1 day for these reasons.

If you ever need an extension during the semester, please fill out the extensions form.

The Disabled Students’ Program (DSP) supports disabled students at UC Berkeley. They offer a wide range of services and accommodations. If you are facing barriers in school due to a disability, apply to DSP! Students registered with DSP can expect to receive an onboarding email within a week of sending us your formal letter of accommodation through the AIM portal.


Grading

Overall grades will be determined from:

  • Problem sets (15%)
  • Labs (25%)
  • Exams (60%)
    • Midterms: 15% each
    • Final: 30%

Staff may adjust grades upward based on class participation or extenuating circumstances. The grade of A+ will be awarded at staff discretion based on exceptional performance.

If you are taking the class P/NP, you will need to attain a letter grade of C- or higher AND take the final to pass. If you are a graduate student taking the class SUS, you will need to attain a letter grade of B- or higher AND take the final to pass.

Class grades will be compliant with the Departmental Grading Guidelines for Undergraduate Courses


Collaboration and Ethics

Please note that obtaining, sharing, and posting solutions to any assignment is a violation of academic integrity. This includes uploading project code, official solutions, your own solutions, etc. to any site that is accessible by other people, such as a public GitHub repository.

Problem Set submissions should acknowledge all collaborators and sources consulted.

All code and written responses should be original. We trust you all to submit your own work, but to protect the integrity of the course from anyone who doesn’t want to play by the rules, we will actively be checking for code plagiarism (both from current classmates and previous semesters), as well as written homework submissions that look eerily similar.

If you use a code snippet from a website like StackOverflow for a small task (for example, capitalizing a string), this is fine, but please cite your sources in your code with a comment. Using automatic code generators such as OpenAI Codex, Github Copilot, or chatGPT is not allowed.

Exams are expected to demonstrate your work, and your work alone. We have a zero-tolerance policy for any form of collaboration on exams. We are not lenient about cheating. Caught students will be reported to the Center for Student Conduct and will be assigned an “F” in the class. Please, just don’t cheat. It’s not cool.

We sympathize with Kris Pister’s policy.


Inclusion

We believe in the crucial importance of creating a learning environment that is welcoming and respectful to students of all backgrounds. The following are specific steps that will help us in achieving this goal:

  • If you feel your academic performance has been impacted negatively due to a lack of inclusion, or due to experiences outside of class such as current events or family matters, please reach out to the instructors and staff. Our job is not only to teach but to support you in every way we can.
  • If something happens in the course that runs counter to the goal of making every student feel safe, respected, and welcome, please contact the head TA or the instructors; if you don’t feel comfortable contacting course staff, you can fill out this form to anonymously let the department know.
  • You may also consult a departmental Faculty Equity Advisor, or fill out the anonymous feedback form for the College of Engineering for equity and inclusion related feedback.
  • If you have a preferred name or set of pronouns that differ from your legal name, you may designate a preferred name for the classroom by following these steps.
  • As a member of the CS 152 community, realize that you have an important duty to help other students feel respected in helping create an inclusive learning environment.

Support During Remote Learning

From the College of Engineering:

We understand that your specific situation may present challenges to class participation. Please contact the instructors if you would like to discuss these and co-develop strategies for engaging with the course.

The Student Technology Equity Program (STEP) is available to help you access a laptop, Wi-Fi hotspot, and other peripherals.

You will be alerted as to when synchronous sessions are about to be recorded. If you prefer not to be recorded, you may turn your video and microphone off. Please set your Zoom name to be the name you would like instructors to call you. You may optionally include your personal pronouns. Please set your Zoom picture to an appropriate profile picture of you to foster a sense of community and enhance interactions. If you are not comfortable using an image of yourself, you may use an appropriate picture of an avatar. We encourage participating with your video on to foster a sense of commnuity and enhance interactions. However, we understand that some students are not comfortable with video or may not be able to participate by video.


Acknowledgements

This website and syllabus was inspired by CS188, which generously provided its support and source code. Parts of the syllabus adapted from CS61C.