CS 61B Data Structures, Spring 2023
Instructor: Josh Hug, Justin Yokota
Lecture: 1-2 MWF, Li Ka Shing 245, Zoom
Announcements [View All]
  • Week 7 Announcements

    See this post on Ed.

    🫧🫧 Heyo 61bubbles! 🫧🫧 (sorry, a blue circle was the closest I could get to a bubble) (EDIT: found some bubbles :^) Below are your week 7 announcements :)

    Summary of Important Dates

    • Week 6 Survey: due Monday 2/27 at 11:59PM PT

    • Lab 7 due Friday 3/3

    • Homework Party this Wednesday (3/1) 3-5PM at Wozniak Lounge (Soda 430-438)

    • Post Lab Walkthrough this Thursday (3/2) 7-8PM in Soda 273

    Homework 2: Percolation

    Homework 2: Percolation, has been released and is due Wednesday (3/1) at 11:59pm. Take a look here for more information! Also, tomorrow morning we will be releasing two videos that contain hints/tips for how to complete the homework. We’ll blast out an announcement on Ed tomorrow with more details; keep an eye out!

    Homework 2 Party

    We will also be hosting a homework party this week on Wednesday (3/1) from 3-5PM at Wozniak Lounge for Percolation. This party will be for homework-related OH help. Come by if you find yourself needing some help on the homework!

    Project 2A Released

    Project 2A has been released! See the Project 2A Release post for more information.

    Post Lab Walkthrough: Lab 06

    This week’s Post Lab Walkthrough will be turned into a lab06 demo for those who had extensions and could not participate last week. This will be held on Thursday (3/2) in Soda 273 from 7-8pm. If you submitted the lab06 extension form, please try your best to make it.

    Update to Misconduct Policy

    To clarify our misconduct policy, we’ve removed the bullet point under “Permitted with Extreme Caution” that previously stated: “Looking at someone else’s project code to understand a particular idea or part of a project. This is strongly discouraged due to the danger of plagiarism, but not absolutely forbidden. We are very serious about the “By You Alone” rule!”

    Important note: our threshold for what constitutes overcollaboration has not changed; rather, the above rule has led to more students crossing the threshold than we’re comfortable with, so the new policy leaves no room for interpretation.

    As a refresher on our misconduct policy, your code should ultimately be written by you and you should not possess or view solution code before making your final submission. If you are unsure whether some action constitutes misconduct, feel free to reach out to staff on Ed or the cs61b@berkeley.edu email!

    Velocity Limiting Extensions

    We’ve received a few questions about this so we want to address it - being velocity limited is a valid reason for an extension request within 5 days (i.e. we will accept extension requests within 5 days of the original deadline if you ran out of tokens). However, if you are velocity limited, we will not grant additional time or tokens past the 5 day mark.

    Student Support Meetings

    If you’re looking for advice on general success in the course or more information on course resources, we’d like to plug our student support meetings! You can book a 20-minute appointment with us here. These meetings are not designed for debugging/assignment related help, but we can help you figure out the right resources and ways to utilize them within the meetings.

    Weekly Survey Reminder

    As a reminder, the weekly survey has been released and is due Monday, 2/27 at 11:59 PM. You can access the survey here as well as on the website hyperlinked in blue under “survey”.

    Outstanding Interactions and Incident Reports

    If you had a memorable or great experience getting help from any staff member, AI, or another student and want to give them a shoutout, fill out the Outstanding Interactions form! (We’ve been sending these to whomever they mention and it gives all of us energy :D)

    On the other hand, if you have had a negative interaction in the course, fill out the anonymous Incident Report Form.

  • Week 6 Announcements

    See this post on Ed.

    Hi 61Bings! Hope everyone’s enjoying their long weekend - here’s a couple of announcements for this week:

    Another Reminder on Respectful Communication

    Unfortunately, it’s come to our attention that there have been some incidents of microaggression and other negative interactions between students in the class, specifically against underrepresented minorities and women. We’d like to take a moment to recognize the importance of respecting personal and professional boundaries (this includes your peers as well as staff members), especially given the diversity of backgrounds that are present in our 61B community. Please be aware of the specific language you’re using with your peers - even unintentional words can still cause harm. Thanks to those of you who submitted an incident report to bring this to our attention (a link is at the bottom of this week’s announcements).

    Monday OH and Discussion Sections Canceled this Week

    Due to President’s day, 61B will not have office hours or discussion sections this Monday (2/20). These changes are reflected on the course website’s calendar.

    New Lateness Policy in Effect

    You’ve made it! As noted in the course syllabus, “After week 5, the course content builds on itself in a less time-critical manner, so starting in week 6, the thresholds for “short” and “long” extensions will be increased to 72 for short extensions and 96 hours for long extensions.” This will take effect starting with homework 2, lab 6, and project 2a (this means that proj1c can only be extended 24 hours for a short extension and up to 72 hours for a long extension). As a reminder, certain assignments as laid out on the course website may not be extended.

    Midterm 1 Regrades Close Monday

    Midterm 1 grades were released last week and regrade requests will close Monday (2/20) at 11:59PM! Details on regrade requests can be found in the grade release post.

    Lab 6: Project 1 Peer Review + Mandatory Attendance Lab 6 (Project 1 Peer Review) is MANDATORY this week and is due Friday 2/24. You may go to any lab. If you cannot make it to any lab, please fill out the exemption form linked on the spec.

    Do note that you may NOT make any further 1B submissions to the autograder after attending a lab this week. If you have not made your final submission yet, please do so before you attend lab this week! Attempts violating this rule will be marked as academic dishonesty.

    Project 1C Released + Extended Deadline!

    Project 1C: Deque Enhancements has now been released! The original deadline has been extended and it is now due Wednesday, February 22nd at 11:59PM. Find more information in the release post here.

    Project 1C Party this Wednesday

    We will be hosting a Project 1C Party this Wednesday, 2/22 from 3-5pm in the Wozniak Lounge (Soda 430-438). The session will begin with a presentation that will include some tips about implementing 1C, and then will turn into project-related OH help from staff. Come by if you find yourself needing some help on the project!

    Project 1c slides

    Gitbugs

    If you believe you need specific debugging help that involves showing us your code, there will be a category in each assignment labeled “Gitbugs (Private)”. Please see the Ed Gitbug policies for how to make an effective Gitbug. The Gitbug template must be completely and thoroughly filled out, or else we will not be approving the post!

    Homework 2

    Homework 2 will be released on Tuesday and due Wednesday 3/1 at 11:59PM. Stay tuned for more details in the release post!

    Post Lab Walkthrough: Lab 05

    Post lab walkthroughs are back this week Thursday 7-8PM in Soda 273! If you want a deeper look into last week’s lab on Git and debugging, come check it out!

    Tutor Review Session

    Tutor Review Session will be happening this Friday 2/24 from 1-3PM in the Soda labs (2nd floor) on Asymptotics and Disjoint sets! Expect an Ed post soon.

    Weekly Survey Reminder

    As a reminder, the weekly survey has been released and is due Tuesday, 2/21 at 11:59 PM. You can access the survey here as well as on the website hyperlinked in blue under “survey”.

    Outstanding Interactions and Incident Reports

    If you had a memorable or great experience getting help from any staff member, AI, or another student and want to give them a shoutout, fill out the Outstanding Interactions form! (We’ve been sending these to whomever they mention and it gives all of us energy :D)

    On the other hand, if you have had a negative interaction in the course, fill out the anonymous Incident Report Form.

    Summary of Important Dates

    • Week 5 Survey: due Tuesday 2/21 at 11:59pm PT

    • Project 1C due Wednesday 2/22

    • Lab 6 due Friday 2/24

    • Homework 2 due Wednesday 3/1

    • Project 1C Party this Wednesday (2/22) 3-5PM in Wozniak Lounge (Soda 430-438)

    • Post Lab Walkthrough this Thursday (2/23) 7-8PM in Soda 273

    • Tutor Review Session this Friday (2/24) 1-3PM in Soda labs

  • Week 5 Announcements

    See this post on Ed.

    Heyo! Would you…like to CS61B my valentine? 😊

    Jokes aside, let’s move into the announcements for this week!

    Don’t Discuss Midterm 1

    Please don’t discuss the exam until we’ve fully opened up EdStem. We have a couple alternate exams happening early this week. We plan on releasing exam grades early this week.

    Office Hours Queue - Public Tickets

    As you’re getting started with Project 1B/1C in OH this week, try using public tickets to ask any conceptual questions you may have! If you see a public ticket on the queue with a similar question, you can join the ticket and receive help as a group.

    When helping public tickets, course staff won’t be allowed to look at your specific code. However, the larger the group, the longer a staff member can help you for.

    Important Reminder on Respecting Staff Boundaries

    As a reminder, please keep interactions with staff members professional and only via official channels.

    Monday 3-4pm discussions

    Eddie’s Monday 3-4pm discussion in Soda 405 is now canceled for the remainder of the semester.

    Yaofu’s Monday 3-4pm discussion will be in Soda 606 for this week only! To get to Soda 606, take the elevator and the room is right across the hallway. This change has been reflected on the sections calendar on the website as well.

    Lab 5: Advanced Git and Debugging

    Due to the extended project 1 deadline, Labs 5 and 6 have been switched. This means that Lab 5 is now Advanced Git and Debugging and Lab 6 is now Project 1 Peer Review.

    For this reason, Lab 5 no longer requires mandatory attendance and Lab 6 will require mandatory attendance. Lab 5 will be due this Friday (2/17) at 11:59pm.

    Project 1B

    Project 1B: ArrayDeque was released last week! It is due Wednesday, February 15th at 11:59PM. Find more information in the release post here.

    Like Project 1A, we will be velocity limiting autograder submissions. You will only be allowed to make 4 submissions within any 24-hour window to the main assignment’s autograder. In the last 2 hours before the deadline (starting at 10pm on 2/15), you will receive 4 tokens every 15 minutes. Additionally, as a guiding rule, please don’t request more tokens from staff.

    We’ve also released the “[UNGRADED] Project 1B: ArrayDeque Test Coverage” assignment without velocity-limiting so you can check your test coverage. Additionally, we recommend using the style checker plugin to check your code style before submitting!

    Gitbugs

    If you believe you need specific debugging help that involves showing us your code, there will be a category in each assignment labeled “Gitbugs (Private)”. Please see the Ed Gitbug policies for how to make an effective Gitbug. The Gitbug template must be completely and thoroughly filled out, or else we will not be approving the post!

    In order to make a Gitbug, please ensure that you have the following settings selected. Note that you must select “Question” for the Gitbug template to show up.

    How to make a Gitbug on Ed

    Style Checker Plugin

    Please check that your style checker plugin has been updated for this semester. Instructions for how to update your plugin can be found here. To run the style check on a file, right click the file and select “Check Style”.

    New Textbook!

    We are transitioning from the old 61B textbook to a new comprehensive resource! This textbook will replace the old textbook, lecture guides, and checkin exercises.

    You can find the textbook here on the homepage of the website:

    How to access the new textbook

    Pacing Points

    After feedback about lecture pacing points, we’ve updated the policy to allow you to watch lectures within 2 days. For example, you can receive pacing points for Monday’s lecture if you watch it by Wednesday night (at 11:59pm). This will still be self reported through the weekly survey.

    No Post-Lab Walkthrough

    The post-lab walkthrough has been canceled this week because there was no lab last week. See you next week!

    Weekly Survey Reminder

    As a reminder, the weekly survey has been released and is due Monday, 2/13 at 11:59 PM. You can access the survey here as well as on the website hyperlinked in blue under “survey”.

    Outstanding Interactions and Incident Reports

    If you had a memorable or great experience getting help from any staff member, AI, or another student and want to give them a shoutout, fill out the Outstanding Interactions form! (We’ve been sending these to whomever they mention and it gives all of us energy :D)

    On the other hand, if you have had a negative interaction in the course, fill out the anonymous Incident Report Form.

    Summary of Important Dates

    • Week 4 Survey: Due Monday 2/13 at 11:59pm PT

    • Project 1B due Wednesday 2/15

    • Lab 5 due Friday 2/17

    • Project 1C due Tuesday 2/21

  • Week 4 Announcements

    See this post on Ed.

    Hello 61Braniacs 🤓!! Hope everyone had a great weekend. Here are some announcements to look out for this week!

    Edit 2/6 11:41 PM:

    We are now opening up student support slots for those seeking general advice in the course, exam study tips, or best project workflow! You can find more information here.

    Midterm 1

    As a reminder, Midterm 1 is scheduled for Thursday, February 9th from 7:00 to 9:00 PM, and will be default in-person. View this post for more information. Please make sure to fill out the midterm 1 form if you would like to request a remote exam, would like to request to take the exam at an alternate time, are a student with accommodations, or have any other issues.

    Pacing Points

    The policy for pacing points has been updated. As announced by Professor Hug earlier in the week, you must watch the lecture on the same day to be eligible for pacing points. The surveys have been modified to reflect this, although this won’t take effect until today.

    Post Lab Walkthrough: Lab 03

    This week’s post-lab walkthrough will this Tuesday 2/7 (7 - 8pm) in Soda 405 and cover Lab 03. Please come by if you want to review the lab content from last week! Note the changed date due to the midterm.

    Project 1B Released!

    Project 1: ArrayDeque has now been released! It is due Wednesday, February 15th at 11:59PM. Find more information in the release post here.

    Midterm: Canceled Labs

    Due to the midterm, all Thursday labs from 5-7 PM will be canceled for the week, and all Thursday 3-5 PM labs except Vidya’s and Max’s (Online) will be canceled. Additionally, there is no lab deliverable this week due to the midterm. The calendar has been updated to reflect this.

    Lab 04

    Due to the midterm and the project, there is no lab deliverable for this week. Lab sections will still be held as usual (unless stated otherwise above) for assistance with the project and midterm preparation.

    Weekly Survey Reminder

    As a reminder, the weekly survey has been released and is due Monday, 2/6 at 11:59 PM. You can access the survey here as well as on the website hyperlinked in blue under “survey”.

    Gitbugs

    If you believe you need specific debugging help that involves showing us your code, there will be a category in each assignment labeled “Gitbugs (Private)”. This is where you can ask a private question with your code. Please see the Ed Gitbug policies for some suggestions on how to make an effective Gitbug.

    In order to make a Gitbug, please ensure that you have the following settings selected. Note that you must select “Question” for the Gitbug template to show up.

    Study Group Matching

    Are you looking for a study group in the class? Please fill out the CS61B Group Matching Form! The first round of matches will be made after Monday, 2/6 11:59 PM and the form will be processed on a rolling basis thereafter.

    Discussion Section Changes

    • Alexander’s Monday 4 PM section in Soda 310 is now canceled

    • Elana is now solo-teaching the Tuesday 2 PM section in Dwinelle 243

    • Circle’s Tuesday 4 PM section in Soda 320 is now an exam-level section

    • Hailey’s Tuesday 5 PM section in Soda 320 is now canceled

    • Sam’s exam level section Tuesday 6 PM in Soda 405 is now canceled

    Lab Section Changes

    • Shirley will now be co-teaching the Wednesday 3-5 PM lab with Omar in Soda 271

    • Jedi will now be solo-teaching the Wednesday 3-5 PM lab in Soda 275

    • Sherry is now solo-teaching the Wednesday 7-9 PM lab in Soda 275

    • Jennifer is now solo-teaching the Thursday 9-11 AM lab in Soda 275

    • Noah is now solo-teaching the Thursday 1-3 PM lab in Soda 273

    • Dominic is now solo-teaching the Thursday 3-5 PM lab in Soda 271

    • Meshan is now co-teaching the Friday 9 -11 AM lab with Alexander in Soda 273

    Outstanding Interactions and Incident Reports

    If you had a memorable or great experience getting help from any staff member, AI, or another student and want to give them a shoutout, fill out the Outstanding Interactions form! (We’ve been sending these to whomever they mention and it gives all of us energy :D)

    On the other hand, if you have had a negative interaction in the course, fill out the anonymous Incident Report Form.

    Summary of Important Dates

    • Week 3 Survey: Due Monday 2/6 at 11:59pm PT

    • Project 1A due Monday 2/6

    • Post Lab Walkthrough this Tuesday 2/7 (7-8pm) at Soda 405

    • Midterm 1 this Thursday 2/9 7-9 PM

  • Week 3 Announcements

    See this post on Ed.

    Hello 61Beans!! Hope everyone had a great weekend. Here are some announcements to look out for this week!

    NEW OH QUEUE!!

    Starting Wednesday, 2/1, we will be moving to a new OH queue (let’s goooo) made by our very own Meshan Khosla (slay). This new queue will support group tickets & other very cool features. More information can be found here.

    Midterm 1

    As a reminder, Midterm 1 is scheduled for Thursday, February 9th from 7:00 to 9:00 PM, and will be default in-person. View this post for more information. Please make sure to fill out the midterm 1 form if you would like to request a remote exam, would like to request to take the exam at an alternate time, are a student with accommodations, or have any other issues.

    Exam Review Session

    Midterm 1 Exam Review Session happening this Friday 2/3, 1-3pm in the 2nd floor Soda Labs! This session led by our lovely tutors will have conceptual review for in-scope topics followed by some exam-level and past exam problems. See you there!

    Discussion Section Changes

    The following changes have been made to discussion sections - all of this is reflected on the course calendar:

    • Royce’s discussion section Tuesday 4-5 PM in Hildebrand B51 is canceled. Royce is now co-teaching with Eric Che in Wheeler 224

    • Austin’s discussion section Tuesday 5-6 PM in Wheeler 30 is canceled, and Austin is now solo-teaching the section in Soda 405 instead of Shirley

    • Allen is now co-teaching bridge Wednesday 10-12 PM with Noah instead of Laksith

    • Max’s online discussion is moved from 5-6 PM on Tuesday to 1-2 PM

    • Crystal & Jedi’s bridge section on Mondays will now be in Soda 405 at the same time

    • Sherry’s exam level section is moving to Soda 320 at the same time

    • Emily’s discussion section Tuesday 10-11 AM in Morgan 109 is canceled, and Emily is now solo-teaching the section in Soda 320 instead of Jennifer

    • Kenneth’s discussion section Tuesday 9-10 AM is now canceled

    • Hailey is now solo-teaching the Tuesday 5-6 PM discussion

    Project 0

    Project 0 is due Monday 1/30 at 11:59PM! Please also note the recent changes to the project: EvilChooser is no longer graded for points (more details here).

    Project 1A: LinkedListDeque Released

    Project 1A has been released! It is due Monday 2/6 at 11:59PM! Find more information in the release post here.

    Homework 1

    Homework 1 was released last week. It is a Gradescope assignment and due Monday 1/30 at 11:59PM! Find more information in the release post here.

    Over the past week, we’ve noticed some troubling sentiments being expressed by students questioning the purpose of Homework 1. As stated in the homework itself, “this assignment was created for an important reason - underrepresented groups continue to face discrimination actively throughout computing, including when taking CS 61B.” We’d like to express again the importance of being cognizant of these issues; our goal is to make CS61B and the Berkeley CS department a safe space for all students, and we strongly believe that this assignment will aid in that mission.

    Lab 03: Timing

    Lab 03 will be released Monday 1/30 and will cover timing tests and the second part of last week’s debugging assignment.

    Project 1A Party

    Similar to the Project 0 Party last week, we will be hosting a Project 1A Party this Wednesday, 2/1 from 3-5pm in the Wozniak Lounge (Soda 430-438). The session will begin with a presentation that will include some tips about implementing 1A, and then will turn into project-related OH help from staff. Come by if you find yourself needing some help on the project!

    Post Lab Walkthrough: Lab 02

    This week’s post-lab walkthrough will this Thursday 2/2 (7 - 8pm) in Soda 273 and cover Lab 02. Please come by if you want a deeper look at debugging or just want to review the lab content from last week!

    Monday Lecture Recording

    The lecture recording for Monday will be the recording of the live lecture and will be posted by 3 PM.

    Setup/IntelliJ Issues

    If you have issues with setup or IntelliJ, we wanted to remind everyone that we have compiled common issues in Git WTFs and IntelliJ WTFs. We’ll continue to be helping on Ed and OH, too!

    Ed Etiquette Reminder

    Sometimes, you might feel that the staff response to your Ed post wasn’t sufficient. When this is the case, please post a follow-up on your thread and unresolve the thread by unchecking the green “Resolved” button. If you do not do this, the likelihood that a staff member will see your follow-up is very low. Additionally, please remember to utilize megathreads for conceptual questions - staff will redirect you there in the future.

    Outstanding Interactions and Incident Reports

    If you had a memorable or great experience getting help from any staff member, AI, or another student and want to give them a shoutout, fill out the Outstanding Interactions form! (We’ve been sending these to whomever they mention and it gives all of us energy :D)

    On the other hand, if you have had a negative interaction in the course, fill out the anonymous Incident Report Form.

    Summary of Important Dates

    • Week 2 Survey: Due Monday 1/30 at 11:59pm PT

    • HW 1 due Monday 1/30

    • Lab 3 due Friday 2/3

    • Project 1A due Monday 2/6

    • Project 1 Party Wednesday 2/1 (3-5pm) at Wozniak Lounge (Soda 430-438)

    • Post Lab Walkthrough this Thursday 2/2 (7-8pm) at Soda 273

    • Exam Review Session this Friday 2/3 (1-3pm) at 2nd floor Soda Labs

  • Week 2 Announcements

    See this post on Ed.

    To those who celebrate, happy lunar new years fellow 61belugas 🐳 🐋 ! Below are the weekly announcements :3

    Discussions

    Discussion sections begin this week. All discussion sections can be found on the bottom of the course homepage here. In discussion, TAs will review the material and help students collaborate to solve the problems on the worksheet. You can find more information in the syllabus. There are no signups, and you can attend any discussion section. You are not required to attend a discussion section, although attending a section will count towards your pacing points.

    For the first two weeks, we ask that you be respectful of other students in the class, and do not attend multiple discussion sections in the same week. Note that the discussion schedule differs from the schedule in the University Course Catalog.

    There is one (1) planned online discussion, scheduled for 5 - 6pm on Tuesday with Max.

    We have three (3) different types of discussions this semester. You can find descriptions of each on the week 1 announcements!

    Project 0 Released + Debugging Support

    Project 0: The Awakening of Azathoth has now been released! It is due Friday, January 27th at 11:59PM. Find more information in the release post here.

    Some important notes about debugging support for project 0 via Ed:

    TLDR: Come into synchronous OH for debugging support for this project - it’ll be a faster process than asynchronous support.

    You may make a private post under the category “Project 0 - Debugging Help”. We want to give you the best advice we can, and in order to do so, we’ll need the context of your issue so we can get up to speed as fast as possible! As a result, please fill out the template entirely and thoroughly - staff may reject private posts which do not provide sufficient context. We believe synchronous OH will be a more productive way of getting help, so staff will only begin to review posts under this category after 6 hours. Please do not make multiple private posts at once - staff will focus on the most recently created private post for each student.

    Lab 2: A Debugging Extravaganza

    Lab 02: Debugging will be released Monday 1/23 and due Friday 1/27! Please try to complete this assignment before Project 0 as it will teach you how to use the debugger. The debugger will significantly reduce the difficulty of bug squashing for the project.

    Homework 0B Released

    Homework 0B has been released! It is due Monday, January 23rd at 11:59PM. Find more information in the release post here.

    Project 0 Party

    We will be holding a Project 0 Party this Wednesday from 3-5pm in the Wozniak Lounge. If you find yourself needing help with the project, feel free to come by! We will start the session by giving a project presentation, and then we will open up to questions/OH-style help. More details about the project party will be posted on Ed soon, so stay tuned!

    Post Lab Walkthrough

    Occasionally students complete the weekly lab assignment but still feel that there are flaws in their understanding, or that even though their code passes the tests, it is still inefficient and clunky. For this reason 61B will be hosting Post-Lab Review Sections starting this week. These will be weekly one hour sections in Soda 273 on Thursdays (7 - 8pm) where course staff will live code a solution to the previous week’s lab as well as describe their approach so that you can see how a more experienced Java programmer might approach the assignments.

    This coming week, the section will review the Git exercise from Lab 01, and expand on how Git works and can be used throughout CS61B. Please come by if you want a deeper look at Git or just want to review the lab content from last week!

    These sections will happen in Soda 273.

    Tutor Review Session Friday

    The first tutor review session is happening this Friday 1-3pm in the Soda labs (2nd floor)!!! Tutor review sessions led by our 61brilliant tutors are meant to catch students up with what has been going on in the course with mini-lectures followed by worksheet & past-exam problems. This week we’re covering Java programming, arrays, and linked lists! Since these sessions have historically had a high turnout, students will be split among the three labs downstairs and will rotate between the rooms. Expect an announcement with more info in the coming days!

    Lateness Policy & Pacing Points

    We finalized the lateness policy & pacing points earlier last week - please take a moment to review the policies for this semester! If you’re experiencing extenuating circumstances, this new section may also be of use.

    Taken from the lateness policy: “An important note on extensions: leading up to an assignment deadline, we usually provide increased support for that assignment (in the form of increased staffing). As a result, continuing to work on an assignment after the original deadline may lead to slower response times on Ed/longer wait times in OH, as staff will actively prioritize assignments whose deadlines have not passed.”

    Outstanding Interactions and Incident Reports

    If you had a memorable or great experience getting help from any staff member, AI, or another student and want to give them a shoutout, fill out the Outstanding Interactions form! (We’ve been sending these to whomever they mention and it gives all of us energy :D)

    On the other hand, if you have had a negative interaction in the course, fill out the anonymous Incident Report Form.

    Summary of Important Dates

    • Pre-Semester Survey: Due Monday 1/23 at 11:59pm PT

    • HW 0B due Monday 1/23

    • Lab 1 due Tuesday 1/24

    • Project 0 due Friday 1/27

    • Project 0 Party Wednesday 1/25 3-5pm in Woz

    • Post Lab Walkthrough this Thursday 1/26 at 7-8PM

    • Tutor Topical Review Session this Friday 1/27 at 1-3PM

  • Week 1 Announcements

    See this post on Ed.

    The CS61Beginning of the CS61Blast-Off 🚀🚀🚀

    🎉 🎉 🎉 Heyo CS61🅱️esties <3 <3 <3 !!! We are so excited to have you on (61)board for the (61)best semester yet!

    Enrollment

    If you are currently waitlisted in the class and intend on enrolling, please stay on the waitlist! We will likely be able to expand the course to accommodate all waitlisted students. You should complete assignments as if you’re enrolled in the class to ensure that you don’t fall behind.

    Lecture Info

    Lectures are scheduled on Monday, Wednesday, and Friday from 1-2 PM in Li Ka Shing 245. The first lecture is this Wednesday (1/18) from 1-2PM, both virtually on zoom (link updated on 1/19 for Friday’s lecture) and in-person. However, the lecture hall does not have sufficient space for all students in the class - the lecture hall can only seat ~290 students. Please fill out this form to let us know how you plan on attending Wednesday’s lecture, so that we can plan accordingly.

    Course Website

    The course website is now live at https://sp23.datastructur.es/. The website is still under construction! Don’t trust details on pages that say they are under construction, or the assignment calendar past Week 2.

    Ed Policies

    We’re making these posts on Ed! Ed is a discussion forum similar to Piazza, which you may have used before. On Ed, you can ask questions that your fellow students and course staff can answer. If you haven’t used Ed before, it’s quite nice – we’ve written a guide for new users that introduces you to some of the features.

    Since Ed is a resource shared by everyone, we do have some policies that we ask that you follow. Generally, ask the kind of questions that you would like to see on the forum. We have a few specifics on how you can do that in our Ed Policies on the course website.

    The main policies that we’d like to highlight here are:

    • Categorize your questions appropriately. The information available in Ed is most useful if it’s labeled correctly for others looking through it.

    • Please show us that you’ve tried before asking for (conceptual | debugging) help. We care a lot about you learning and finishing the assignments, but also that you learn how to help yourself and ask good questions. The policies have some guidelines on how you can do this.

    • Don’t post your code publicly. If you believe you need specific debugging help that involves showing us your code, there will be a category in each assignment labeled “Gitbugs (Private)”. This is where you can ask a private question with your code. Gitbugs have not been released yet.

    Discussion

    Discussion sections begin next week. In discussion, TAs will review the material and help students collaborate to solve the problems on the worksheet. You can find more information in the syllabus. There are no signups, and you can attend any discussion section. You are not required to attend a discussion section.

    For the first two weeks, we ask that you be respectful of other students in the class, and do not attend multiple discussion sections in the same week. The bottom of the homepage of the course website has been updated with the discussion schedule. Note that the discussion schedule differs from the schedule in the University Course Catalog. You won’t see any on the calendar for this week, so look at next week’s calendar if you want to plan ahead.

    There is one (1) planned online discussion, scheduled for 4-5pm on Tuesday with Max. This section will not begin on 1/17, but will begin the following week (1/24).

    We have three (3) different types of discussions this semester:

    Bridge

    Do you want more of an emphasis on the concepts before diving into the discussion worksheet? If so, our bridge discussion may be the right place for you! Some of our amazing TAs will lead a two-hour discussion section intentionally organized for students who are not as familiar with the material that week. It’s a great way to get a little more comfortable with the topics and receive more individualized attention during section. The material and difficulty covered during the bridge discussion section will be the same as the Practice discussion section, and we’ll have an extended mini-lecture to reinforce conceptual understanding.

    Practice

    This section is best for students who are caught up with lecture and are ready to tackle some medium-difficulty questions. Usually there are more questions on the worksheet than can be done in the allotted hour, so TAs can pick and choose which problems to work on during the section.

    Exam-Level

    Exam-level sections are more fast-paced sections that cover more difficult problems than practice discussions. The goal of these sections is to get comfortable with exam-level problems and problem-solving strategies. In general, there will be less focus on review/mini-lecture and more time spent on the problems. You can attend only an exam-level section, or both a practice/bridge section as well as an exam-level section, since we will cover different problems in the two section types.

    Lab

    Lab sections begin this week. In lab, TAs will introduce the assignment, review relevant material, and answer students’ questions. You can find more information in the syllabus. There are no signups, and you can attend any lab section. You are not required to attend a lab section. The lab schedule can be found at the bottom of the course website’s main page.

    For the first two weeks, we ask that you be respectful of other students in the class, and do not attend multiple lab sections in the same week. You do not have to attend the same TA’s section for lab and discussion. The bottom of the homepage of the course website has been updated with the lab schedule. Note that the lab schedule differs from the schedule in the University Course Catalog.

    There is one (1) planned online lab, from 3-5pm on Thursdays taught by Max. This lab will begin on 1/19.

    The Lab 1 assignment itself is due Tuesday 1/24 at 11:59 PM PT. This lab contains setup instructions that are required to complete the rest of the course. Start early! Setup can take a long time and sometimes requires TAs to help figure out weird problems. Lab 2, when released, will be due on Friday 1/27 at 11:59 PM PT, so plan accordingly.

    See #51 for more details.

    HW 0

    Homework 0: A Java Crash Course will be released this coming week! The homework consists of two parts:

    • Part A - exercises using basic Java syntax and language constructs. This part will be released on Tuesday, January 17th and be due on Friday, January 20th.

    • Part B - exercises using the most common data structures that we’ll see in CS 61B. This part will be released on Friday, January 20th and be due on Monday, January 23rd.

    Separate Ed threads will be posted about these two assignments once they’re released, so keep an eye out!

    Office Hours

    Office hours begin this week on Wednesday. During office hours, you can receive individual help on assignments. The office hours schedule can be found at the bottom of the course website’s main page.

    Outstanding Interactions and Incident Reports

    If you had a memorable or great experience getting help from any staff member, AI, or another student and want to give them a shoutout, fill out the Outstanding Interactions form! (We’ve been sending these to whomever they mention and it gives all of us energy :D)

    On the other hand, if you have had a negative interaction in the course, fill out the anonymous Incident Report Form.

    Pre-Semester Survey

    The Pre-Semester Survey is due Monday 1/23 at 11:59 PM PT. This survey is worth 128 points of extra credit. The first weekly survey will be released this weekend, and due Monday.

    Surveys are worth a very small amount of credit in the course. We do not accept late survey responses, and you cannot apply for an extension on surveys.

    Summary of Important Dates

    • Homework 0A: Released Tuesday 1/17, due Friday 1/20 at 11:59pm PT

    • Homework 0🅱️: Released Friday 1/20, due Monday 1/23 at 11:59pm PT

    • Project 0: Released Friday 1/20, due Friday 1/27 at 11:59pm PT

    • Pre-Semester Survey: Due Monday 1/23 at 11:59pm PT

    • Lab 1: Due Tuesday 1/24 at 11:59 PM PT

  • Soft Launch

    This website is under construction! Everything subject to change. Exam dates and times, and projects are all TBA.

    If you have urgent questions about the course, please email cs61b (at) berkeley.edu. You will get a faster response than emailing Professor Hug.

    We know that the links may be broken. If you want to get a head start on the content, you can check out the Fall 2022 course website.

    Course policies and other administrative stuff coming soon!

    Again, don’t trust what you see below!

Calendar
Week Date Reading Lecture Discussion / Review Lab Assignments/Exams
1
No Classes No discussion week 1. IntelliJ, Git (due 1/24)
[slides] ‌
Wed 01/18

1.1

1. Intro
[vid] ‌[recording] ‌[slides] ‌[guide] ‌
HW0A: A Java Crash Course (due 1/20)
Fri 01/20

1.2

2. Classes, Lists, Arrays, Maps
[video] ‌[slides] ‌[guide] ‌
Homework 0B: A Java Crash Course (due 1/23)
Project 0: Awakening of Azathoth (due 1/30)
2
survey
Mon 01/23

2.1

3. References, Recursion, and Lists
[video] ‌[slides] ‌[guide] ‌
Introduction To Java
[solution] ‌[video] ‌[slides] ‌
Introduction To Java (Exam-Level)
[solution] ‌[video] ‌[slides] ‌
Tutor Review Session (1/27)
[solution] ‌[video] ‌[slides] ‌
Debugging (due 1/27)
[slides] ‌
HW1: Being a Good Classmate (due 1/30)
Wed 01/25

2.2

4. SLLists, Nested Classes, Sentinel Nodes
[video] ‌[slides] ‌[guide] ‌
Project 0 (due 1/30)
Fri 01/27

2.3, 2.4

5. DLLists, Arrays
[video] ‌[slides] ‌[guide] ‌
[Lab 02 due 1/27, Project 0 due 1/30]
3
survey
Mon 01/30

Optional: TDD is dead, Unit Tests Are Waste, Response

6. Testing
[video] ‌[bonus video] ‌[slides] ‌[guide] ‌
Scope, Static, Linked Lists, Arrays
[solution] ‌[video] ‌[slides] ‌
Arrays, Linked Lists (Exam-Level)
[solution] ‌[video] ‌[slides] ‌
Exam Review Session (2/3)
[solution] ‌[video][slides] ‌
Timing (due 2/3)
[slides] ‌
Project 1A: Deques (due 2/6)
Wed 02/01

2.5

7. ArrayLists, Resizing
[video] ‌[slides] ‌[guide] ‌
Project 1A (due 2/6)
Project 1B (due 2/15)
Fri 02/03

4.1

8. Inheritance, Implements
[video] ‌[slides] ‌[guide] ‌
4
survey
Mon 02/06

Ch 9

9. Extends, Casting, Higher Order Functions
[video] ‌[slides] ‌
Inheritance
[solution] ‌[video] ‌[slides] ‌
Inheritance (Exam-Level)
[solution] ‌[video] ‌[slides] ‌
Project 1 Workday
[Project 1A due 2/6]
Wed 02/08 10. Ask Anything (midterm prep)
[video] ‌[slides] ‌
Midterm 1 (Thursday 2/9)
7-9 PM
Fri 02/10

Ch 11

11. Subtype Polymorphism, Comparators, Comparable
[video] ‌[slides] ‌
Project 1B (due 2/15)
5
survey
Mon 02/13

Ch 12

12. Iterators, Object Methods
[video] ‌[slides] ‌
Iterators, Iterable, Polymorphism
[solution] ‌[video] ‌[slides] ‌
Iterators, Polymorphism (Exam-Level)
[solution] ‌[video] ‌[slides] ‌
Advanced Git and Debugging (due 2/17)
[videos] ‌[slides] ‌
Project 1C (due 2/22)
Wed 02/15

Ch 13

13. Asymptotics I
[video] ‌[slides] ‌
[Project 1B due 2/15]
Fri 02/17

Ch 14

14. Disjoint Sets
[video] ‌[slides] ‌
Project 1C (due 2/22)
6
survey
Mon 02/20: Academic Holiday Asymptotics, Disjoint Sets
[solution] ‌[video] ‌[slides] ‌
Asymptotics, Disjoint Sets (Exam-Level)
[solution] ‌[video] ‌[slides] ‌
Project 1 Peer Review (due 2/24)
Homework 2 (due 3/1)
Wed 02/22

Ch 15

15. Asymptotics II
[video] ‌[slides] ‌
[Project 1C due 2/22]
Fri 02/24

Ch 16

16. ADTs, Sets, Maps, BSTs
[video] ‌[slides] ‌
Project 2A (due 3/8)
7
survey
Mon 02/27

Ch 17

17. B-Trees (2-3, 2-3-4 Trees)
[video] ‌[slides] ‌
ADTs, Asymptotics II, BSTs
[solution] ‌[video] ‌[slides] ‌
ADTs, Asymptotics II, BSTs (Exam-Level)
[solution] ‌[video] ‌[slides] ‌
BSTMap (due 3/3)
[slides] ‌
Project 2A (due 3/8)
Wed 03/01

Ch 18

18. Red Black Trees
[video] ‌[slides] ‌
[Homework 2 due 3/1]
Fri 03/03

Ch 19

19. Hashing
[video] ‌[slides] ‌
Project 2A (due 3/8)
8
survey
Mon 03/06

Ch 20

20. Hashing II
[video] ‌[slides] ‌
B-Trees, LLRBs, Hashing
[solution] ‌[video] ‌[slides] ‌
B-Trees, LLRBs, Hashing (Exam-Level)
[solution] ‌[video] ‌[slides] ‌
HashMap (due 3/10)
[video] ‌[slides] ‌
Homework 3 (due 3/13)
Wed 03/08

Ch 21

21. Heaps and PQs
[video] ‌[slides] ‌
[Project 2A due 3/8]
Fri 03/10

Ch 22

22. Tree and Graph Traversals
[video] ‌[slides] ‌
Project 2B (due 3/24)
9
survey
Mon 03/13

Ch 23

23. Graph Traversals and Implementations
[video] ‌[slides] ‌
Graphs, Heaps
[solution] ‌[video] ‌[slides] ‌
Graphs, Heaps (Exam-Level)
[solution] ‌[video] ‌[slides] ‌
Project 2B Checkpoint (due 3/20)
[Homework 3 due 3/13]
Wed 03/15

Ch 24

24. Shortest Paths
[old video] ‌[slides] ‌
Midterm 2 (Thursday 3/16)
7-9 PM
Fri 03/17

Ch 25

25. Minimum Spanning Trees
[video] ‌[slides] ‌
10
Mon 03/20

Ch 26

26. Prefix Operations and Tries
[video] ‌[slides] ‌
Shortest Paths, MSTs
[slides] ‌
Shortest Paths, MSTs (Exam-Level)
[slides] ‌
No Lab (Project 2 Workday)
Project 2B (due 3/24)
Wed 03/22

Ch 27

27. Software Engineering I
[video] ‌[slides] ‌
Fri 03/24

21.1, 21.2, 21.3, 21.4

28. Reductions and Decomposition
[video] ‌[slides] ‌
[Project 2B due 3/24]
11
Spring Break No Discussion No Lab
Spring Break
Spring Break
12
Mon 04/03

None

29. Basic Sorts
[video] ‌[slides] ‌[guide] ‌
Graphs II, Tries
Graphs II, Tries (Exam Prep)
Getting Started on Project 3 (due 4/7)
Project 3 (due 4/24)
Wed 04/05

Algs 288-296, 302

30. Quick Sort
[video] ‌[slides] ‌[guide] ‌
Fri 04/07

None

31. Software Engineering II
[video] ‌[slides] ‌[guide] ‌
13
Mon 04/10

Algs 341-347

32. More Quick Sort, Sorting Summary
[video] ‌[slides] ‌[guide] ‌
Sorting
Sorting (Exam Prep)
Interactivity in Project 3 (due 4/14)
Project 3 (due 4/24)
Wed 04/12

None

33. Software Engineering III
[video] ‌[slides] ‌[guide] ‌
Fri 04/14

Algs 279-28

34. Sorting and Algorithmic Bounds
[video] ‌[slides] ‌[guide] ‌
[Project 3 Phase 1 due 4/14]
14
Mon 04/17

Algs 702-718

35. Radix Sorts
[video] ‌[slides] ‌[guide] ‌
Sorting
Sorting (Exam Prep)
Project 3 Workday
Project 3 (due 4/24)
Wed 04/19

None

36. Sorting and Data Structures Conclusion
[video] ‌[slides] ‌[guide] ‌
Fri 04/21

None

37. Software Engineering IV
[video] ‌[slides] ‌
15
Mon 04/24

None

38. Compression
[video] ‌[slides] ‌[guide] ‌
Goodbye, Fun Project 3 Demos
[Project 3 Phase 2 due 4/24]
Wed 04/26

None

39. Compression, Complexity, and P=NP?
[video] ‌[slides] ‌
Homework 4 (due 5/5)
Fri 04/28

None

40. Summary, Fun
[slides] ‌
16
RRR Week No Discussion No Lab
[HW4 due 5/5]
RRR Week
RRR Week
Finals Week (May 08-12)
Final exam: Tuesday May 9th, 8-11 AM
Lab / Discussion Schedule

Each discussion section is now a bridge, practice, or exam level discussion section. You can find more information about each section in the Week 2 Announcements on Ed.


 
Office Hour Schedule

Note: Office hours are on Monday, Wednesday and Friday. On Wednesday, Thursday, and Friday, feel free to come to lab with your questions.


 
Last built: 2023-03-20 20:50 UTC