CS 61B Data Structures, Spring 2017
Instructor: Josh Hug
Lecture: MW 3-4 PM, Pauley Ballroom; F 3-4 PM, 320 Hertz Hall
Did you find a typo or bug in a lab, homework, or project? Was there something that was confusing or unclear? Let us know how we can improve our assignments by submitting suggestions. We also welcome positive feedback. Let us know if you particularly liked something.
Quick Navigation
Number Title Concepts Staff Due
1 javac, java, Git Compilation, version control systems, Git, submission process Josh Hug Fri 1/27, 5:00 PM
1b Setting Up Your Computer Installing Java, setting PATH variable Josh Hug N/A
2 IDEs IntelliJ, debuggers, pass-by-value, IntLists, destructive vs. non-destructive Ross Teixeira Fri 1/27, 5:00 PM
2 Setup IntelliJ Home Setup IntelliJ, setting up projects Eli Lipsitz, Alexander Hwang, Maurice Lee N/A
3 Testing, Debugging JUnit, unit testing, debugging, style checker Alexander Hwang Fri 2/3, 5:00 PM
4 Peer Code Review Project 1A peer code review Jared Rulison Fri 2/10, 5:00 PM
5 Getting Started: Proj 2 Giving you tips and ideas for tackling proj2 Daniel Sochor Fri 2/19, 10 PM
6 Project 2 Design Review Design review for proj2 Matt Mussomele Fri 2/26, 10 PM
7 Project 2 Work Day N/A N/A N/A
8 Tree Maps BST's, Maps Alice Sheng Fri 3/10, 10 PM
9 Hash Maps Hashing, Hash Maps Kevin Lin Fri 3/17, 10 PM
10 Heap MinPQ Heaps, Priority Queues Antares Chen Fri 3/24, 10 PM
Number Title Concepts Staff Due Date
0 A Java Crash Course (Optional) Java practice Josh Hug N/A
1 Java Syntax and Sound Synthesis Java practice Josh Hug Wed 2/22, 11:59 PM
2 Percolation Disjoint sets Josh Hug Wed 3/15, 11:59 PM
3 8 Puzzle A* Search Josh Hug Thur 3/23, 11:59 PM
Number Title Creators Support TAs Support Tutors Category Weight Due Date
0 NBody Josh Hug Bhuvana Bellala, Brandon Lee, Maurice Lee, Mitas Ray, Ross Teixeira N/A Final 25 Points Fri 1/27, 11:59 PM
1 Data Structures Josh Hug Alice Sheng, Ching Fang, Daniel Sochor, Edmund Tian, Michelle Tian N/A Part 1A: Data Structures 40 Points Fri 2/3, 11:59 PM
Part 1B: Testing Fri 2/10, 11:59 PM
2 Database Matt Mussomele Fahad Kamran, Eli Lipsitz, Sherdil Niyaz, Kevin Lowe, Alexander Hwang, Jared Rulison, Jim Ren, Sebastian Song, Aidan Clark, Daniel Nguyen, Maurice Lee N/A Final 100 Points Mon 3/6, 11:59 PM
3 BearMaps Alan Yao Kaylee Burns, Christine Zhou, Kevin Lin, Antares Chen, Colby Guan, Lisa Jian, Aidan Clark, Gary Cheng N/A Final 75 Points Wed 4/19, 11:59 PM
Discussion Handouts
Number Title Concepts Staff Solutions
1 Intro, Code Translation Intro to Java Allen Guo, Michelle Tian Solution
2 Scope, Pass-by-Value, Static Pass by value, Static methods and fields, Linked lists, Destructive/Non-Destructive operations Vivian Fang, Allen Guo Solution
3 Linked Lists and Arrays Linked Lists, Arrays Daniel Sochor, Vivian Fang Solution
4 Inheritance Inheritance, Static vs. Dynamic Type, Overriding Methods, Dynamic Method Lookup Michelle Tian, Daniel Sochor Solution
Exam Prep Linked Lists, Inheritance, Static vs. Dynamic Type, Casting Kevin Lowe, Allen Guo Solution
5 Midterm 1 Review N/A N/A N/A
6 Selecting ADTs Using and Implementing Abstract Data Types Ross Teixeira, Alice Sheng Solution
Exam Prep TBA TBA Solution
7 Asymptotic Analysis I
Immutable Classes, Exploiting Vulnerable Classes Matt Mussomele, Ross Teixeira Solution
Exam Prep TBA TBA Solution
8 Asymptotic Analysis II Asymptotic analysis Kaylee Burns, Kevin Lin Solution
Exam Prep TBA TBA Solution
9 Hashing Asymptotic analysis (II), Analyzing Runtime Antares Chen, Matt Mussomele Solution
Exam Prep TBA TBA Solution
10 Heaps and Graphs Hashing Kevin Lin, Kaylee Burns Solution
Exam Prep TBA TBA Solution
Guerrilla Sections
Title Concepts Staff Solutions
Section 1 Java Syntax, Pass-By-Value, Linked Lists, Arrays Amanda Bui, Albert Hu, Fahad Kamran, Kevin Lin, Steven Lin, Gigi Lu, Katie Luo, Emily Pederson, Sebastian Song Solution
Section 2 ALists, OOP, Abstract Classes, Interfaces, HOF Aarash Heydari, Amanda Bui, Anusha Syed, Christine Zhou, Diyar Aniwar, Fahad Kamran, Kevin Lin, Sam Zhou, Steven Lin, Sebastian Song, Yejia Chen Solution
Section 3 ADTs, Iterators, Exceptions, Delegation vs. Extension, Generics Aarash Heydari, Albert Hu, Anusha Syed, Christine Zhou, Emily Pederson, Fahad Kamran, Gigi Lu, Katie Luo, Kevin Lin, Patricia Arenillo, Sebastian Song, Tara Rezvani Solution
Section 4 Asymptotic Analysis, Disjoint Sets, Trees TBA Solution
Section 5 Hashing, Heaps, More Trees TBA Solution
Group Tutoring Sections
Title Concepts Solutions
Week 3 (Alternate) Arrays, Recursion, Pointers Solution (Alternate)
Week 4 Reference, Polymorphism Solution
Week 5 Abstract Classes, Interfaces Solution
Week 6 Problem Solving with ADTs Solution
Week 7 Exceptions, Iterators Solution
Week 8 Asymptotic Analysis Solution
Week 9 Binary Trees Solution
Week 10 Hashing, Heaps Solution
Week 11 Graphs, Searches Solution
Exam Concepts Solutions
Midterm 1 Java syntax, Array, Linked list, OOP, Inheritance, Dynamic method lookup, Interface Solution
Past Exams
Exam Concepts Solutions
Fall 2016 Midterm 1 IntLists, Arrays, Testing, Interface, Inheritance Solution
Spring 2016 Midterm 1 IntLists, Static Keyword, Pointers, Inheritance, SLists, Bits, Higher Order Functions, Arrays Solution
Fall 2015 Midterm 1 IntLists, Arrays, Bits, Regex, Interface, Inheritance Solution
Spring 2015 Midterm 1 IntLists, Debugging, SSList, Bits, Higher Oder Functions, Interface, Inheritance, Static Solution
Fall 2016 Midterm 2 Asymptotic Analysis, Minimax, Alpha-Beta Pruning, BST, Hash table, Regex, Bitwise Operations, Interface Solution
Spring 2016 Midterm 2 BST, Hash Table, Union-Find, Exceptions, Asymptotic Analysis, Balanced Trees Solution
Fall 2015 Midterm 2 TBA Solution
Spring 2015 Midterm 2 BST, Heap, Hashing, Asymptotic Analysis, Exceptions, Red Black Trees Solution