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

The course is organized into six modules, with each module having lectures, discussions, a problem set and a lab.

Lectures

5:00 - 6:30 PM

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

Lecture time conflicts. You are allowed to take the course if you have a time conflict with lecture. But: you must be able to sit for the exams and quizzes in person. We will not hold alternate midterm times to accommodate time conflicts. We will hold one alternate final in the 3 hour slot immediately after the main slot. You must be able to make one of these two final slots to take the course.

Discussions

TAs will hold weekly 2-hour live discussions throughout the week. Discussion sections start on the second 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.

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 (which must be completed in groups of 2 or 3 students) to allow students to show their creativity. Failure to complete at least 3 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 assignments will be deducted 3% per day late, up to a maximum 3 days; after which, the assignment is graded as a 0.

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 and quizzes. We will be test driving PrairieLearn on a subset of problem set questions this semester. For the non-PrairieLearn questions, 70% of credit for each problem set will be based on completion; 30% will be based on correctness. We will choose a subset of problems to grade for correctness to reward earnest engagement. For the PrairieLearn questions, 100% of credit will be based on correctness.

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 assignments will be deducted 3% per day late, up to a maximum 3 days; after which, the assignment is graded as a 0.

Exams

There will be 2 midterms, 1 quiz and the final exam covering the material learned in readings, labs, and problem sets. These will be closed book with no calculators, phones, smartwatches, 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. See the above discussion on time conflicts.

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

No slip days will be provided for this course. See the above discussion on partial late credit for homeworks and labs.

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 only for the following circumstances:

  • family emergencies
  • DSP accommodations
  • unexpected life events

Extensions are meant to be used to cover significant disruptions out of your control such as documented health issues/family emergencies/”Acts of God”.

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

Extension requests must be documented.

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: 12% each
    • Quiz: 6%
    • 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 Stack Overflow 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 community 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.