CS 61B Data Structures, Fall 2020
Instructor: Josh Hug
Lecture: Zoom link
Announcements [View All]
  • Week 9

    This week’s announcements are a bit more packed than usual, so please make sure you read through everything thoroughly. We have important information regarding midterm 2 as well as assignments that are due soon.

    Final content

    It’s a little early to be thinking about the final, but we have an update that will hopefully make this course a bit less stressful for students. A few of our lectures, highlighted in pink on the course website, will only have C-level questions on the final. This is so that you spend your time studying for the most important topics and can enjoy these lectures in your free time without worrying about soaking up every last detail.

    Project 3B - Lateness

    It’s not time for Project 3 yet, but we want to clarify something about lateness. You may use slip days and amnesty assignments on any assignment, however, we cannot allow lateness on Project 3B. That is because there is a check-in lab associated with this project, and we need to reserve TA time to proctor and grade the final. Every other assignment is applicable for slip days and amnesty submission. You’ll learn more about how you can use your amnesty submissions as dead week approaches, so stay tuned for that.

    Midterm 2 events

    The second midterm is next Wednesday, 10/28. A detailed post about how specifics of midterm 2 will come later this week around Tuesday. To help you prepare for the exam, we are hosting a few different events.

    Topical Review: Searching, LLRBs, Hashing

    The first is a topical review session this Monday 10/19 from 6-8 PM! The topics covered will be Search Trees, LLRBs, and Hashing. For more information, go here.

    Homework 3 Party

    The next is a homework 3 party this Saturday, 10/24 from 2-5 pm. Unlike previous parties, this one will pair students into groups of 4 students to encourage collaboration. A number of students voiced that they would like to work in groups, so our hope is that this party will accomplish that. This is a great opportunity to finish up the homework while also studying for the upcoming exam. We highly encourage students to join this party if they’re having a hard time with homework 3.

    To register your group, please submit this form. Everyone in your group must submit the form. If you do not have a full group of 4 students, you may indicate that in the form and you’ll get paired with other students that are at a similar place in the homework. Even if you don’t know anyone in the course, you can be assigned a group. You’ll have until Thursday night to submit your groups/indication of interest in attending the homework party. We will highly prioritize groups, so if you plan on attending please submit your form before Thursday night so you can work in a group with other students.

    Project 2B:

    The second part of Project 2 is due this Friday, 10/23. Our hope is that you will be able to create randomized tests a lot easier for this project after the skills you gained from project 2A, so definitely check on your 2A test code to help you with 2B. Office Hours on Thursday and Friday last week were especially packed, so keep that in mind when deciding when you are ready to get help with this project.

    Lab: Project 2 Workday

    This week there is no lab. We will be hosting labs in the Office Hours Discord: so your TA will not be in the lab discord. This is a great opportunity to get conceptual help on the project. Remember that TAs will not be spending any more than 10 minutes with any student, and after that they will recommend you submit a Gitbug.

    Discussion

    This week the discussion is on Tries, Tree traversals, and KD trees. It’s almost entirely conceptual, so there will be no Ed lessons for it.

    Study Groups

    With the midterm coming up, we thought it would be nice to remind you of the Study group formation post that we have here! We encourage people to pair up to study together!

    Survey Form

    The weekly survey is linked here and due tonight at 11:59 PM! Note that these surveys are also linked on the course website under each week’s number.

    Small Tutor Sessions

    Please indicate on the form above if you are interested in small tutor sections for this week! As always, we cannot guarantee you a spot, but will do our best to accommodate you.

    Summary of important dates

    • Weekly Survey: due tonight 11:59 PM

    • Topical Review (Search Trees, LLRBs, and Hashing): tomorrow, Monday 6-8 PM

    • HW 3 Party group registration form: due Thursday 11:59 PM

    • Project 2B: due Friday 11:59 PM

    • Homework 3 Party: Saturday 2-5 PM

    • Homework 3: due Monday 10/26 11:59 PM

  • Week 8

    #Ed megathreads

    In case you didn’t see last week, Ed has added megathreads just for us! We’ll pin all relevant megathreads for your convenience. Please ask your questions for assignments in these threads so it’s easier for staff to monitor and answer things, and also so your fellow students can benefit from your insightful questions and answers. This will be especially important for the projects; so please only make a private post if you believe your question is so personal and unique that no other student would have that question. Also, make sure you check the megathread before you ask a question: there have been a number of great questions and conversations already happening in the megathreads we have! The Ed guide has been modified to explain CS 61B’s use of megathreads; specifically, the section on megathreads is the one to give a quick read.

    #Policy update: exam clobbering

    In light of the technical issues that students had on midterm 1, we’ve decided that we will allow students to clobber both midterms with their final equivalent. The course info page has been updated to reflect this change and has a more detailed description of what this exactly means. We hope that this will relieve stress for those students who encountered technical difficulties during the midterm.

    #Extra Credit: Mid Semester Survey

    Please fill out the mid semester survey for 16 points of extra credit! Due Friday 10/16 11:59 PM.

    #Weekly Survey 7

    The weekly survey is linked here and due tonight at 11:59 PM! Note that these surveys are also linked on the course website under each week number.

    #Project 2AB

    The first 2 parts of project 2 were released on Friday. The first part, proj2a, is building a KDTree and is due this Friday 10/16. There is a ton of support and many resources available for this project including a pseudocode walkthrough, so please read the spec carefully and in its entirety. Many questions are answered in the spec itself. The second part of the project is building an extrinsic priority queue via the heap data structure and is due the following Friday 10/23.

    We’ve split up the megathreads for this project into different categories for your convenience. Please make sure you’re posting and looking for questions in the right megathread. Read this post for a description of each megathread.

    #Homework 3

    The third homework for CS 61B was released last week and is due Monday 10/26. This is a conceptual homework and there is no coding on it at all. This is a great review for the midterm as it has lots of tricky asymptotic questions, LLRB questions, and other traditionally challenging concepts so you can all get great practice in preparation for the exam. If you’re stuck, please use the homework 3 megathread to first see if anyone else had that question, and then feel free to ask! Office Hours are also a great place to get help.

    #Lab changes: free points!

    We removed lab 10, so there are now 11 graded labs. This means that everyone gets those 32 points for free!

    #Discussion 8

    This week’s discussion is on the conceptual side, so we will not be creating an Ed lesson for it. You’ll get more practice with hashing, LLRBs, and heaps.

    #Lab 8

    Lab this week is implementing a HashMap. The format is similar to last week where the lab TA went over the solution in the final 30 minutes, so stick around for the end of the lab if you had any confusions or want to see how your lab TA approaches a coding problem. As always, the lab is due at the end of the week, so Friday 10/16.

    #Summary of due dates

    • Week 7 survey: Tonight  11:59 PM

    • Lab 8: Friday 10/16 11:59 PM

    • Project 2A: Friday 10/16 11:59 PM

    • Extra credit mid semester survey: Friday 10/16 11:59 PM

    • Project 2B: Friday 10/23 11:59 PM

    • Homework 3: Monday 10/26 11:59 PM

  • Week 7

    #Midterm 1 Regrades

    Regrades for midterm 1 opened up last Friday and close Friday 10/09 at 11:59 PM PST. We will not be accepting regrades after that. Remember to read the midterm 1 common mistakes doc before submitting a regrade request: often times your question is answered there. If you have an error that you do not see addressed on the common mistakes doc, then you may request a regrade with any and all justification that you are correct (i.e. attach a link to code with a test case that proves your code works). Also, please read the bottom of the midterm 1 grades released post that tells you how to deal with autosave issues.

    #Week 6 survey

    The weekly survey is linked here and due tonight at 11:59 PM! Note that these surveys are also linked on the course website under each week number.

    #Homework 2

    Homework 2 is due tomorrow night (10/5)! You’ll have Office Hours as usual for your conceptual questions as well as Gitbugs for debugging help.

    #Small Tutor Sections

    We’re setting up small sections taught by our course tutors! These are student-driven so you will get the chance to ask as many questions as you want and ask the tutors to go over concepts. We highly recommend signing up for these if you are feeling overwhelmed! You can sign up for these through the weekly survey linked above, and you’ll receive an email with the sign up link by 9PM tonight—please only sign up for slots you are free for!

    #Discussion 7

    This week’s discussion will be on Binary Search trees and asymptotic runtime. The coding questions is on Ed lessons where you can check the correctness of your own solutions.

    #Lab 7

    We’ll be continuing our data structures arc of the course in lab: you’ll be implementing a Map61B interface using Binary Search Trees! Just like always, your lab TA will be doing a coding demo of the solution. We highly recommend you attend this live demo if you were stuck on a certain part; this way, you can watch how the TA solves + implements it and combine that with what you already have. It’s also a great opportunity to learn coding techniques and how to make your code more “beautiful”. Look forward to seeing you all there :)

    #Proj 2AB

    This week we’ll be releasing the first 2 parts to Project 2 which require you to implement data structures based on the ones you have seen and will see in lecture. Part A is implementing a KDTree and it is due Friday 10/16 and part B is implementing a HeapPQ and is due Friday 10/23. Keep an eye out for an announcement on that coming later this week.

    #Homework 3

    The third and final homework assignment of the semester will be released this week as well. It is not a coding assignment and instead a conceptual review that will be very helpful for midterm 2. You’ll have until Monday 10/26 to complete it.

    #Summary of important dates

    • Week 6 Survey due: Tonight (Sunday) 11:59 PM

    • Homework 2: Monday (10/05)

    • Lab 7 due: Friday (10/09) 11:59 PM

    • Proj2A (released later this week) due: Friday (10/16) 11:59 PM

    • Proj2B (released later this week) due: Friday (10/23) 11:59 PM

    Homework 3 (released later this week) due: Monday (10/26) 11:59 PM

  • Week 6

    Midterm 1

    Everyone has completed the midterm! Our staff is hard at work grading the exam as quickly and consistently as we can, so thank you for being patient with us.

    We are also processing all the comments you made on the Post Midterm form and will reach out to you if any follow up is needed. If you experienced some extenuating circumstances while taking the exam, remember that you can replace 1 midterm score with your final score using our supersession policy (this gets applied automatically).

    Section cancellations

    We are cancelling some of our discussions and lab sections moving forward. All original time slots still have at least one section you can attend, and remember that section attendance is not required (but encouraged), so you can attend any section you want. The TAs whose section got cancelled will offer more support now in OH to help you with some of the larger projects coming this semester. All changes are reflected in the sections schedule on our course website and in the pinned sections post on Ed.

    Queueing up for help in Lab

    We are no longer using the Office Hours queue for Lab, so you will not see lab locations on the online queue (oh.datastructur.es). Instead, we will use Discord text channels to emulate in-person lab queues. This is to make getting help in lab a lot simpler and require less applications open at once.

    Your TA will show you at the beginning of lab this week how that will work, but it’s quite simple:

    1. Send a message in the channel named “lab-queue” that includes your room number. You don’t need to write a description.

    2. TAs and AIs will then process the queue in order and mark messages with a green check mark when they’re done so you can know where you stand in the queue.

    We will still use the online queue (oh.datastructur.es) in Office Hours.

    Week 5 survey

    The weekly survey is linked here and due Monday at 11:59 PM! Note that these surveys are also linked on the course website under each week number.

    Lab 

    We are kicking off the Data Structures part of the course with the lab this week: implementing a Disjoint Sets data structure. Your lab TA will be doing a live coding demo at the end of the lab, going over parts of the solution to the lab assignment. This demo is meant to show you how TAs approach coding problems and designing a data structure from scratch.

    Discussion

    Discussion this week is on Disjoint sets and Asymptotics. We highly recommend attending a discussion section this week! Because the worksheet does not involve much coding, we will not be putting this discussion on Ed Lessons.

    Homework 1

    Our first homework assignment is due tomorrow (Monday) 9/28. We’ll have our normal Office Hours on Monday, so hop in for any last minute questions. You can use Ed and Gitbugs as other resources to get help.

    Homework 2

    Homework 2 will be released on Tuesday and is due next Monday October 5. As always, you can use Office Hours for conceptual questions and help getting started while you have Gitbugs for debugging help.

    Summary of important dates

    • Week 5 Survey due: Tomorrow (Monday) 11:59 PM

    • Homework 1 due: Tomorrow (Monday) (9/28) 11:59 PM

    • Lab 6 due: Friday (9/25) 11:59 PM

    • Homework 2 due: next Monday (10/5) 11:59 PM

  • Week 5

    Midterm 1

    The first midterm is this Wednesday 9/23. Please read the logistics post in its entirety and complete the practice assignment by Monday 9/21 11:59 PM. We have Ed categories for each past exam, so if you have any questions on a past exam make sure you use the relevant category.

    Midterm 1 Clarifications

    1. You must fill out the pre-midterm form in order to take the exam. We originally set the deadline for Friday, 09/18, 23:59, but will extend it until tomorrow, Monday, 09/21, at noon to allow more people to submit. There is no penalty for submitting the form late. However, if you need an alternate exam time or have some technical difficulties we will not be able to accommodate you if you submit the form late. If you don’t submit the form at all before the exam, we may not be able to grade your exam.

    2. We have decided to provide a reference sheet for the midterm. The reference sheet will be linked in the exam itself and will resemble that of Spring 2019, which is now linked in the practice assessment

    3. Many students expressed concern about not having a quiet place to work. In regards to this, we completely understand that you may not be in control of your home situation, so don’t worry about background noises!

    4. Reiterating the information on the logistics post - in the case of any technical difficulty during the exam, you should reach out to us on the Exams Ed and attempt to keep working on the exam. Some points to address:

    5. If your computer is slow, please take the exam as normal, and reach out to us on the Exams Ed if you are facing any difficulty. 

    6. If your computer restarts/crashes during the exam, you should create a new recording, reopen the exam, and mention this when you submit the post-midterm form. 

    7. If you face any technical problem and cannot post on the exams Ed, please call us with the phone number given on the logistics post.

    8. You may write your handwritten notes on a tablet, but they must be printed out. Any diagrams or charts must also be handwritten.

    Midterm 1 Alternates

    If you indicated on the pre-midterm form that you needed to take the exam at an alternate time, you should receive an email by midnight tonight with more information.

    Midterm 1 DSP Accommodations

    If you require DSP accommodations for Midterm 1, you should have received an email confirming your accommodations. If you didn’t receive an email and require accommodations, let us know as soon as possible by emailing cs61b@berkeley.edu. If you have your DSP specialist’s email on hand and/or a copy of your LOA, please include it in the email so we can confirm your accommodations, as we probably haven’t received your official LOA yet through the DSP portal. We want to ensure that you get the accommodations you need.

    Exams Ed

    As noted on the logistics post, you’ll be invited to a Midterm 1 specific Ed on Tuesday if you aren’t taking an alternate exam, and sometime afterwards if you are taking an alternate exam. Check your emails the night before the midterm and make sure you’ve accepted your invite. We’ll have a short Exam Ed policies post on there that you must read.

    Week 4 survey

    The weekly survey is linked here and due tonight at 11:59 PM!

    Wednesday Lecture

    Josh will be giving a live lecture on Wednesday, which will be followed by a Q&A session.

    Lab 5

    All lab sections on Wednesday 9/23 (the day of the midterm) are cancelled. Instead, the TAs teaching Wednesday labs will be in the Office Hours discord to answer any questions about past midterms and provide help with conceptual questions. We highly recommend you do a practice exam before coming and then get all your questions answered there. Lab 5 will be released on Thursday. In this lab, you’ll learn about randomized and timing tests, which will help you with Project 2.

    Discussion 5

    This week’s discussion is on Iterators and Iterables. As usual, it’s also available on Ed lessons where you can actually write and run Java code.

    Homework 1

    Our first homework assignment will be released after the Midterm and is due next Monday 9/28. Even though we won’t have any Office Hours over the weekend, we’ll still be on Ed so you should submit Gitbugs if you’re stuck on a bug.

    Summary of important dates

    • Week 4 Survey due: Tonight (Sunday) 11:59 PM

    • Midterm 1: Wednesday (9/23)

    • Lab 5 due: Friday (9/25) 11:59 PM

    Homework 1 (released after the midterm) due: Monday (9/28) 11:59 PM

  • Week 4

    Project 1A

    Project 1A is due tomorrow, 9/14 at 11:59 PM! Please use Gitbugs and Office Hours if you need help! Note that the wait in Office Hours and for Gitbug replies may be longer than usual on deadline days, but we will do our best to get back to you as soon as possible. Also, be sure to read the debugging guide which will help you solve your own bugs!

    Project 1B

    Project 1b will be released tomorrow and be due Friday, 9/18. Don’t be worried about the short deadline: it’s a lot shorter than Project 1A and will involve using your Deque to solve real-world problems, as well as writing some high coverage tests for your Project 1A. Stay tuned for our announcement when we release Project 1B.

    Extensions

    You have 15 slip days for the semester, and you can only use 3 slip days per assignment. You can also submit any 2 assignments late during RRR week with no penalty. In previous semesters, we granted students 3 slip days for the entire semester, so we hope this more generous policy will help alleviate some stress around deadlines. You can read more about slip days and extensions here and here.

    Using Ed

    We want to remind you, that unlike Piazza, in Ed we don’t immediately see “unresolved” follow ups or comments on an existing thread. If you have a question that is not a part of an ongoing conversation with a TA, please make a new “question” thread. If you are still not sure how to use Ed effectively, please review our Ed Guide and Ed Policies.

    Office Hours Queue

    We know that office hours can be overly crowded near deadlines and when mandatory check offs are happening. Please be patient with us as we are continuously trying to figure out how to optimize this experience for you. To help us run office hours more smoothly:

    • Be sure to set your ticket to the correct Discord location: “Office Hours” or “[TA Name]’s Lab”, and say in your description what room you are in.

    • If you cannot join Discord for some reason, indicate this in your ticket, and include a Zoom link (or equivalent), so we can help you resolve your Discord connection issues.

    • Read our office hours policies here.

    Ed Lessons

    We wanted to let you know about this wonderful new resource that you’ll have at your disposal! Our discussions will be available in the normal PDF form on the website as well as on Ed Lessons (the book icon on the top left of our Ed forum). Ed Lessons includes an interactive version of our worksheets, where you can verify the correctness of your solutions easily. You don’t need to use this resource, it’s not used for pacing points or anything like that, just for your convenience if you are looking for a more interactive self-paced experience. Some TAs may teach their section using this resource, but either way you’re welcome to use it as you follow along.

    Lab 4

    Lab 4 this week has a mandatory check-off. All labs will start and be hosted primarily on Zoom this week. There is no coding assignment in Lab 4. Instead, your lab TA will go over the staff solution for Project 1A, and you will get a chance to reflect on your solution with other students. Along the way, you will document your reflection in a text file, and the checkoff will just consist of a TA verifying that you have actually discussed something with other students. It should be a lot shorter than the Lab 2 checkoff. We should be able to check you off at the lab section you attend, but if that would not be possible, you can get checked off in any lab (on Wednesday, Thursday, and Friday) or office hours (on Thursday and Friday).

    IMPORTANT: Since we will give the staff solution to Project 1A in Lab 4, you should not attend a lab this week until you have made your final Project 1A submission (if you are using slip days). After we process Zoom attendance logs we will reject any Project 1A submissions you have made after attending a lab.

    Weekly Survey

    This week’s weekly survey is up and linked right here! It is due tonight at 11:59 PM. We also have it linked on the course website on the left side of each row for your convenience. You can miss up to 4 of them and still get full credit.

    Deadline Summary

    • Week 3 Survey: Tonight (Sunday) at 11:59 PM

    • Project 1A: Tomorrow (Monday) at 11:59 PM

    • Project 1B: Friday (9/18) at 11:59 PM

    • Lab 4: Friday (9/18) at 11:59 PM

  • Week 3

    Weekly Survey

    This week’s weekly survey is up and linked right here! We also have it linked on the course website on the left side of each row for your convenience. This week’s survey is due Monday at noon. Moving forward surveys will be released on Friday afternoon and will be due Sunday nights at 11:59pm. We will not blast an announcement when we release surveys, so please remember to fill them out! You can miss up to 4 of them and still get full credit.

    Monday is Labor day

    Monday is a University Holiday, so there will be no lecture, no discussion, and no Office Hours. We’ll still be on Ed, so if you have questions feel free to post!

    Proj1a

    Proj1a has been released! The spec is on the course website and also linked right here. It’ll be due next Monday 9/14. The autograder is slightly different on this project, so please read through the announcement here to learn more about velocity limiting and style checking.

    Lectures

    We’ve started posting recordings of the Live QAs with Josh in our lecture guides right under the check-in exercise for that lecture. You can check those videos out if you want to see the questions that other students have about the material.

    Exam Prep Discussion Sections

    The following TAs have had their sections converted to Exam Prep: Sohum, Shivani, Arjun, and Chirasree. The Ed index post with TAs’ links has been updated to reflect these changes and we’ve also updated the course calendar on the website for your convenience. As a reminder, Exam Prep discussion sections have their own worksheet with either past exam problems or new problems that are on the same level as exams, so they’ll be a good challenge for those who are looking for one. Remember that you can go to any discussion section you want, so if your section was converted to an exam prep you can still go to any regular discussion and vice-versa.

    Lab

    Recall that lab 2 is due this Friday 9/11. Since the set up labs (1 and 2) are more involved, we gave you 2 weeks to complete them. From here on out, labs are due the Friday of the week they are released, so lab 3 will also be due this Friday 9/11. If you didn’t get checked off last week you can still get checked off this week in OH and lab. We highly recommend that you get checked off earlier in the week if possible.

    Gitbugs

    Gitbugs are how you can get offline debugging help in CS 61B. Up until now, you might have posted a private post on Ed with screenshots of your code. This was fine for project 0 since there wasn’t a whole lot of code, but for future assignments this simply does not scale given our class size. You should read the Gitbug policies which will walk you through how to make a Gitbug, what things to include in your Gitbug, among other things. Please read the guide in its entirety before submitting a Gitbug. If you don’t, you risk violating the policies and we won’t solve your bugs.

    Office Hours

    Starting this week we’ll not be giving debugging help in Office Hours. So if you have a question that is not conceptual, and pertains to your code specifically, we will ask you to submit a Gitbug if we cannot solve it in 10 minutes or under. If you don’t know how to use the debugger, let us know in Office Hours and we will help you!

    Lab Partner Matching Update

    Everyone who filled out the original form, requesting course staff to connect them with a lab partner, should have received an email with their matched lab partner. If there was a problem with the match (e.g. the student dropped the class) and you still want course staff to connect you with a lab partner, fill out this form. While we can’t guarantee that we will be able to connect you with someone new, we will try our best over the next couple weeks.

    Snaps

    If your snaps-fa20-s*** repo invitation expired, please fill out this form and we will make sure to re-invite you. If you want to learn more about the snaps plugin, see this message from Professor Hug.

    Master Policies Thread

    We ported all the pinned policies threads (office hours, extensions, Ed, and more) into once master thread here. We will also make sure that all these policies are available on our website.

    Deadline Summary

    All at 11:59 PM

    • Week 2 Survey: Tomorrow (Monday, 09/07) at 11:59 AM

    • Lab 2: Due 9/11

    • Lab 3: Due 9/11

    • Proj1a: Due 9/14

    • (Pacing points) Check-in for Lecture 7 and 8: 9/9, and 9/11

  • Week 2

    This post is long but everything here is very important! Please make sure you’ve read this post in its entirety so you don’t miss anything pressing.

    Lectures

    Reminder that lectures will not be live and instead Josh will be having live QA sessions at the normally scheduled lecture time (MWF 1-2 PM). The Zoom link is on the top of the website for your convenience.

    Check-In Exercises

    This week we’re starting lecture check-in exercises! These short quizzes will be linked in the lecture guides, right under each lecture on our course website. For each lecture, if you submit the check-in exercise by 11:59 PM the day after the official lecture (e.g. 9/1 for lecture 3), you can earn 2 pacing points. These check-ins will also be available for practice after this period. You can find more information about lecture check-ins and pacing points in our course policies page. Points are awarded regardless of correctness.

    Weekly Survey

    The Week 1 Weekly Survey is due tonight! If you have not filled it out yet you can find it here: https://forms.gle/7Ho7nfx6s65s5Hov5. Each Weekly Survey is worth 16 points, and you can skip 4 out of 14 throughout the course of the semester.

    Section Attendance and Lab 2 Details

    We want to remind you that discussion and lab section attendance is completely optional. Additionally, like mentioned before, the section sign ups are mostly for load balancing purposes. During the semester you can attend any section you want, and you can also attend multiple sections.

    It is unlikely that a TA will ask you to leave a section because you did not sign up to it, so there is no need to email TAs asking to join their sections. The only exception to this rule will be Lab 2, which involves a mandatory check off for all students. If a section becomes too populated, a TA will check off the students signed up for their lab first.

    However, Lab 2 will be due only next Friday, 9/11 (together with Lab 3), and you can also get checked off in Office Hours this and next week.

    Lab Partnerships

    On the Week 1 Weekly Survey, we asked you for your opinion on lab partnership. We want to make things as simple as possible for you, so we are going to make lab partnerships optional. Here is how it’s going to work:

    • If you want a lab partner, starting from Lab 3, you and your partner will be able to submit the exact same code for lab assignments.

      • If you and your partner want to attend a live lab, choose any lab that works for both of you, and join one of the “partner rooms”, where you can work together.

      • If you already have a partner, use the Lab Partnership Guide to learn more about how partnerships work, and how to get the shared repo, which you will use to collaborate and submit lab assignments.

      • If you don’t have a partner, and need help finding one, please indicate this on the Week 1 Weekly Survey, and we will follow up with a form shortly. After you fill it out, we will match you with another student. Don’t worry about working with a partner on Lab 2. It mostly involves more computer setup. You can also ask your lab TA to match with someone just for that lab.

    • If you do not want a lab partner, you can still collaborate and share ideas with other students, but must write your own code.

    • If you want to attend a live lab, choose whatever lab works for both of you, and join one of the “general rooms”. Maybe you’ll find a partner and change your mind!

    IMPORTANT: Regardless if you choose to form a lab partnership or not, all students will have to work with a partner on Project 3.

    Course Website

    The due dates for all assignments are now all up to date. The course website now has a finalized schedule of discussion/lab sections. We have two calendars at the bottom of the site: one for discussion/lab and one for office hours. These calendars have the time and names of the sections as well as Zoom and Discord links.

    Itai’s Sections Change

    Lab 204 (Wednesday, 2-4pm) is cancelled :( If you signed up for this lab feel free to attend any other lab, and feel free to reach out to Itai if you need help finding a new section. We will let you know when Itai’s lab comes back to life! Discussion 127 will take place this week on Monday (tomorrow) 2-3pm, and also on Wednesday, 10-11am here: Zoom link. Starting week 3, it will only take place on Mondays.

    Discussion Sections

    We will be hosting our first discussion sections this week! All discussion sections and corresponding Zoom links are available on the course website, if you scroll to the sections schedule at the bottom. You can also reference the index post on Ed for all the information on each section. As a reminder from our welcome post, by attending a live discussion section you are committing to attending, participating, and having your video on. If you’re uncomfortable with having your video on, we will be releasing walkthrough videos on Wednesday along with the solution on our course website.

    Exam Prep Discussion Sections

    A reminder that Exam Prep sections begin next week (week 3). Exam Prep worksheets emphasize more challenging problems and assume a good understanding of the material. In the Week 2 Weekly Survey, we will ask if you’d like to attend an Exam Prep section. We will then convert sections based on your demand.

    We will only convert sections at times at which there are multiple discussion sections, so you don’t have to change your schedule if a section you attended is converted to Exam Prep.

    Office Hours

    Office Hours (OH) are starting this week! We’ll have a dedicated OH Discord linked here. You can also check the OH schedule at the bottom of the course website. Please read our Office Hours Policies post linked right here. It’s important that you read and understand it in its entirety so you can get the most out of Office Hours.

    DSP Accommodations

    If you require DSP Accommodations of any kind (including exam accommodations) please fill out this form to let us know what they are. We will use your responses to track your accommodations and verify them with your LOAs in the DSP Portal. It is your responsibility to keep this updated throughout the semester if your situation changes and we require sufficient notice for any changes made to accommodations needed.

    Study Groups!

    To help you all form study groups we’ve started a more formal thread here. Post in that Ed thread to find study buddies to master the material!

    Whew, thanks for reading through all that! If you have any questions on these things comment down below.

    Deadline Summary

    All due at 11:59 PM:

    Week 1 survey due tonight!

    Lab 1: Due 9/4

    Proj 0: Due 9/4

    Lab 2: Due 9/11

    (Pacing points) Check in for Lecture 3, 4, and 5: 9/1, 9/3, and 9/5

  • Week 1

    Lecture 1

    Josh will give a live Lecture 1, this Wednesday, 1-2 PM. The Zoom link will be posted on the course website tomorrow!

    Course Website

    The course website is still a work in progress. We will update you when all the due dates and policies are set.

    Lab Section Preferences

    Labs are one of the most important components in CS 61B, and we want to make sure that we take into account your preferences as we finalize our section times. Please fill out the lab preferences form by tomorrow night (Monday, 08/24, 8:00 PM), to let us know what times work best for you.

    Section Assignments

    Remember that if you sign up for a live discussion or lab section, you are committing to attending, participating, and having your video turned on. You can attend a section that you are not signed up for if the TA running the section agrees, but you will get priority in sections that you are signed up for. That is, if a section you did not sign up for becomes too full, you may be asked to leave.

    Lab 1 is Released!

    You can find it linked from the course website. The lab is due this Friday, 08/28, 11:59 PM on Gradescope. This lab goes through important set up steps that will ensure your computer is ready for CS 61B. There is a lot of reading to do in this lab, but it’s important that you follow the instructions exactly as they appear on the lab spec. We will start hosting TA-led lab sections this Wednesday! Please come in to get to know the TAs and get any questions you have answered.

    Discussion 1

    Since most of our discussion sections will run on Mondays and Tuesdays, we will not hold discussion sections during week 1. Instead, we will only post the recorded walkthrough video for discussion 1 on our course website on Wednesday morning (as opposed to Wednesday after the last live section is taught). The worksheet will be available on our course website tomorrow morning! Live discussion sections with the TAs will begin next week!

    Ed Guidelines

    Please refer to our Ed Guide and Ed Guidelines. Posts that do not adhere to these guidelines may be removed. Additional points:

    Make sure to input an answer to a post under the “Your Answer” and not “comment”. Even if you are not sure if an answer is fully correct, that’s fine! The author may choose to not give it a green check mark, but it may still provide valuable information for others reading the post.

    You should only make a private post if your question contains personal details or your own original code. Otherwise, you can post anonymously if you don’t want your name to be seen. This will ensure that you get an answer faster!

    Pre-Semester Survey

    The Pre-Semester Survey is out and is due this Friday, 08/28, 11:59 PM. You can earn 16 extra credit points if you complete it by the deadline!

    We hope you are all safe and well and looking forward to seeing you in lecture and lab this week!

  • Soft Launch

    The main part of the website is now posted. Calendar subject to change. Exam dates and times TBA. We are hoping to release some assignments during the summer for folks who want to start early!

    Course policies and other administrative stuff coming later.

Calendar
Week Date Reading Lecture Discussion Lab Assignments/Exams
1
survey
Wed 08/26

1.1

1. Intro, Hello World Java
[vid1] ‌[vid2] ‌[slides] ‌[guide] ‌
Intro to Java
[video] ‌[solution]
Setting Up Your Computer
javac, java, git (due 9/4)
HW 0: Basic Java Programs (optional)
Fri 08/28

1.2

2. Defining and Using Classes
[video] ‌[slides] ‌[guide] ‌
2
survey
Mon 08/31

2.1

3. References, Recursion, and Lists
[video] ‌[slides] ‌[guide] ‌
Scope, Pass-by-Value, Static
[slides] ‌[video] ‌[solution]
IntelliJ Home Setup
IDEs (due 9/11)
Project 0: NBody (due 9/4)
Wed 09/02

2.2

4. SLLists, Nested Classes, Sentinel Nodes
[video] ‌[slides] ‌[guide] ‌
Fri 09/04

2.3, 2.4

5. DLLists, Arrays
[video] ‌[slides] ‌[guide] ‌
3
survey
Mon 09/07: Academic Holiday Linked Lists, Arrays
[slides] ‌[video] ‌[solution]
Linked Lists, Arrays Exam Prep
[slides] ‌[video] ‌[solution]
Testing, Debugging (due 9/11) Project 1A: Data Structures (due 9/14)
Wed 09/09

2.5

6. ALists, Resizing, vs. SLists
[video] ‌[slides] ‌[guide] ‌
Fri 09/11

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

7. Testing
[video] ‌[slides] ‌[guide] ‌
4
survey
Mon 09/14

4.1

8. Inheritance, Implements
[video] ‌[slides] ‌[guide] ‌
Inheritance
[slides] ‌[video] ‌[solution]
Inheritance Exam Prep
[slides] ‌[video] ‌[solution]
Peer Code Review (due 9/18)
Wed 09/16

4.2

9. Extends, Casting, Higher Order Functions
[video] ‌[slides] ‌[guide] ‌
Project 1B: Testing and HoFs (due 9/18)
Project 1 Gold: Autograding (due 9/18)
Fri 09/18

4.3

10. Subtype Polymorphism vs. HoFs
[video] ‌[slides] ‌[guide] ‌
5
survey
Mon 09/21

6.1, 6.2, 6.3, 6.4

11. Exceptions, Iterators, Object Methods
[video] ‌[slides] ‌[guide] ‌
Iterators, Iterables
[slides] ‌[video] ‌[solution]
Exceptions, Iterators, Iterables Exam Prep
[slides] ‌[video] ‌[solution]
Randomized and Timing Testing (due 9/25) Midterm 1 Practice Assessment
Wed 09/23

None

12. Coding in the Real World, Review
[slides] ‌[live QA] ‌
Midterm 1 (9/23)
Fri 09/25

8.1, 8.2, Algs 170-198 (top paragraph)

13. Asymptotics I
[video] ‌[slides] ‌[guide] ‌
HW 1: Java Syntax and Sound Synthesis (due 9/28)
6
survey
Mon 09/28

9.1, 9.2, 9.3, 9.4, 9.5, Algs 216-233

14. Disjoint Sets
[video] ‌[slides] ‌[guide] ‌
Disjoint Sets and Asymptotics
[slides] ‌[video] ‌[solution]
Disjoint Sets and Asymptotics Exam Prep
[slides] ‌[video] ‌[solution]
Disjoint Sets (due 10/02)
Wed 09/30

8.3, 8.4 (extra), Algs 170-198

15. Asymptotics II
[video] ‌[slides] ‌[guide] ‌
HW2: Percolation (due 10/5)
Fri 10/02

10.1, 10.2, Algs 396-406

16. ADTs, Sets, Maps, BSTs
[video] ‌[slides] ‌[guide] ‌
7
survey
Mon 10/05

11.1, 11.2, 11.3, Algs 424-431, 432-448 (extra)

17. B-Trees (2-3, 2-3-4 Trees)
[video] ‌[slides] ‌[guide] ‌
More Asymptotics, Search Trees
[slides] ‌[video] ‌[solution]
More Asymptotics, Search Trees Exam Prep
[slides] ‌[video] ‌[solution]
TreeMap (due 10/09)
Wed 10/07

11.4, 11.5, Algs 424-431, 432-448 (extra)

18. Red Black Trees
[video] ‌[slides] ‌[guide] ‌
Fri 10/09

16.1, 16.2, 16.3

19. Range Searching and Multi-Dimensional Data
[video] ‌[slides] ‌[guide] ‌
Proj2AB: KD-Tree/HeapPQ
KDTree (due 10/16)
HeapPQ (due 10/23)

HW3: Conceptual Review (due 10/26)
8
survey
Mon 10/12

12.1, 12.2, 12.3, 12.4, 12.5, Algs 458-468, 478-479, 468-475 (extra)

20. Hashing
[video] ‌[slides] ‌[guide] ‌
LLRBs, Hashing
[slides] ‌[video] ‌[solution]
LLRBs, Hashing Exam Prep
[slides] ‌[video] ‌[solution]
HashMap (due 10/16)
Wed 10/14

13.1, 13.2, 13.3, Algs 308-320

21. Heaps and PQs
[video] ‌[slides] ‌[guide] ‌
Fri 10/16

14.1, 15.1, 15.2, 15.3, Algs 730-752

22. Prefix Operations and Tries
[video] ‌[slides] ‌[guide] ‌
9
Mon 10/19

17.1, 17.2, 17.3, 17.4, Algs 538-542, 566-583

23. Tree and Graph Traversals
[video] ‌[slides] ‌[guide] ‌
Traversals, Tries, Heaps
[slides] ‌[video] ‌[solution]
Heaps and Tries
[slides] ‌[video] ‌[solution]
Project 2 Workday
Wed 10/21

18.1, 18.2, Algs 538-542, 566-583

24. Graph Traversals and Implementations
[video] ‌[slides] ‌[guide] ‌
Fri 10/23

19.1, 19.2, 19.3, Algs 638-657

25. Shortest Paths
[video (old)] ‌[slides] ‌[guide] ‌
10
Mon 10/26

20.1, 20.2, Algs 604-630

26. Minimum Spanning Trees
[video] ‌[slides] ‌[guide] ‌
DFS, BFS, Shortest Paths, MSTs
DFS, BFS, Shortest Paths, MSTs Exam Prep
No Lab
Wed 10/28

None

27. Software Engineering I
[video (old)] ‌[slides] ‌[guide] ‌
Midterm 2 (10/28)
Fri 10/30

21.1, 21.2, 21.3, 21.4

28. Reductions and Decomposition
[video (old)] ‌[slides] ‌[guide] ‌
Proj2C: Puzzle Solver (due 11/2)
11
Mon 11/02 29. Basic Sorts
[video (old)] ‌[slides] ‌[guide] ‌
Graphs
Graphs Exam Prep
Merge and Quicksort (due 11/06)
Wed 11/04

Algs 288-296, 302

30. Quick Sort
[video (old)] ‌[slides] ‌[guide] ‌
Proj 2D: Bear Maps (due 11/9)
Fri 11/06

None

31. Software Engineering II
[video (old)] ‌[slides] ‌[guide] ‌
12
Mon 11/09

Algs 341-347

32. More Quick Sort, Sorting Summary
[video (old)] ‌[slides] ‌[guide] ‌
Sorting, ADTs
Sorting Exam Prep
Getting Started on Project 3 (due 11/13)
Wed 11/11: Academic Holiday Proj 3A: BYOW Phase 1 (due 11/20)
Fri 11/13

None

33. Software Engineering III
[video (old)] ‌[slides] ‌[guide] ‌
13
Mon 11/16

Algs 279-28

34. Sorting and Algorithmic Bounds
[video] ‌[slides] ‌[guide] ‌
More Sorting
Sorting Exam Prep
Interactivity in Project 3 (due 11/20)
Wed 11/18

Algs 702-718

35. Radix Sorts
[video] ‌[slides] ‌[guide] ‌
Fri 11/20

None

36. Sorting and Data Structures Conclusion
[video] ‌[slides] ‌[guide] ‌
14
Mon 11/23

None

37. TBA
[video] ‌[slides] ‌[guide] ‌
No Discussion No Lab Proj 3B: BYOW Phase 2 (due 12/4)
Wed 11/25: Academic Holiday
Wed 11/27: Academic Holiday
15
Mon 11/30

None

38. Compression
[video] ‌[slides] ‌[guide] ‌
Goodbye, Fun BYOW Demos (due 12/04)
Wed 12/02

None

39. Compression, Complexity, and P=NP?
[video] ‌[slides] ‌[guide] ‌
Fri 12/04

None

40. Summary, Fun
[slides] ‌
RRR Week (December 7-11)
Finals Week (December 14-18), Final exam: TBD
Lab/Discussion Schedule

Each discussion section is now a regular or an exam-prep discussion section.

  1. Regular discussions will focus on reviewing the material and doing foundational questions.
  2. Exam-prep discussions will have less review of concepts and focus on working through exam-level problems.

 
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: 2020-10-21 21:06 UTC