CS 61B Data Structures, Spring 2016
Instructor: Josh Hug
Lecture: MWF 3-4 PM, Wheeler Auditorium
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
Labs
Number Title Concepts Staff Due
1 javac, java, Git Compilation, version control systems, Git, submission process Gilbert Ghang, Allen Guo Fri 1/29, 9:59 PM
1b Setting Up Your Computer Installing Java, setting PATH variable Gilbert Ghang, Chris Jeng N/A
2 IDEs IntelliJ, debuggers, pass-by-value, IntLists, destructive vs. non-destructive Leo Colobong, Chris Jeng Fri 1/29, 9:59 PM
2b IntelliJ Home Setup IntelliJ, setting up projects Leo Colobong, Chris Jeng N/A
3 Testing, Debugging JUnit, unit testing, debugging, style checker Josh Hug Fri 2/5, 9:59 PM
3b JUnit Setup Setting up JUnit, CLASSPATH Dennis Zhao, Josh Hug, Japheth Wong, Alice Sheng N/A
4 Project 1 Work Day + MT prep N/A N/A N/A
5 Getting Started: Proj 2 Giving you tips and ideas for tackling proj2 Josh Fri 2/19, 10 PM
6 HugLife Generic collections, testing, packages Daniel Nguyen, Allen Guo Fri 2/26, 10 PM
7 Project 2 Work Day N/A N/A N/A
8 Tree Maps BST's, Maps Ross Teixeira, Gilbert Ghang Fri 3/11, 10 PM
9 Hash Maps Hashing, Hash Maps Daniel Nguyen, Alice Sheng, Chris Jeng Fri 3/18, 10 PM
10 Heap MinPQ Heaps, Priority Queues Alice Sheng, Gilbert Ghang Fri 4/1, 10 PM
11 Graphs Depth-first and breadth-first search Dennis Zhao Fri 4/8, 10 PM
11 Merge sort & Quick sort Merge sort, Quick sort Kay Ousterhout, Daniel Nguyen Fri 4/15, 10 PM
Homework
Number Title Concepts Staff Due Date
0 Optional Java Exercises Java practice Josh Hug N/A
1 Java Syntax and Sound Synthesis Fri 2/26, 11:59 PM
2 Percolation Disjoint sets Daniel Sochor Mon 3/16, 11:59 PM
3 Hashing Hashing Josh Hug Mon 3/30, 11:59 PM
4 8 Puzzle Priority queues Jimmy Lee, Dennis Zhao Mon 4/6, 11:59 PM
5 Seam Carving Dynamic Programming Giulio Zhou, Dennis Zhao, Alan Yao Wed 4/27 11:59 PM
6 Boggle Tries, Search Alan Yao Fri 5/6, 11:59 PM
7 Compression Tries, Compression Josh Hug, Daniel Sochor Fri 5/6, 11:59 PM
Projects
Number Title Creators Support TAs Support Tutors Category Weight Due Date
0 NBody Josh Hug Alice Sheng, Allen Guo, Chris Jeng, Daniel Sochor, Gilbert Ghang N/A Final 10 Points Fri 1/29, 11:59 PM
1 Data Structures Josh Hug Anusha Ramakuri, Austin Le, Giulio Zhou, Kay Ousterhout, Luise Valentin Alex, Daniel, Dasheng, Hayden, Jared, Jennifer, Julian, Khalid, Laura, Sony Part 1A: Data Structures 15 Points Sat 2/6, 11:59 PM
Part 1B: Testing 5 Points Thu 2/11, 11:59 PM
Part 1C: Higher Order Functions 5 Points Thu 2/11, 11:59 PM
2 Editor Kay Ousterhout Akhil Batra, Allen Zhu, Amit Vakula, Carlos Flores, Dennis Zhou, Jim Ren, Ross Teixeira, Sherdil Niyaz Alex, Andy, Bhuvana, Colby, Daniel, Dasheng, Hayden, Jared, Jennifer, Matthew, Maurice, Megan, Michael, Mitas, MG, Raquel, Raymond, Tara Basics 1 Point Mon 3/2, 11:59 PM
Final TBA Points Mon 3/7, 11:59 PM
3 BearMaps Alan Yao Daniel Nguyen, Jimmy Lee, Leo Colobong, Nick Rose, Rudy Laprade, Sarah Kim, Yeseon Lee TBA Final 25 Mon 4/18, 11:59 PM
Discussion Handouts
Number Title Concepts Staff Solutions
1 Intro, Code Translation Intro to Java Josh Hug Solution
2 Scope, Iterative vs. Recursive, Diagramming IntLists, Recursion/Iteration, Destructive/Non-Destructive, Pass by value Alice Sheng Solution
3 Linked Lists and Arrays Linked Lists, Arrays Kay Solution
4 Inheritance Inheritance, Static vs. Dynamic Type, Overriding Methods, Dynamic Method Lookup Jimmy Lee Solution
5 Selecting ADTs Using and Implementing Abstract Data Types Gilbert Ghang Solution
6 Immutability, Encapsulation Practices
Immutable Classes, Exploiting Vulnerable Classes Daniel Sochor Solution
7 Analyzing Code Asymptotic analysis Akhil Batra Solution
8 Asymptotics Asymptotic analysis (II), Analyzing Runtime Akhil, Allen Solution
9 Hashing Hashing Giulio, Chris Solution
10 MT2 Review Midterm 2 Review Chris Jeng, Leo Cololololobong Solution
11 Graphs Graphs Allen Guo, Daniel Nguyen Solution
12 Graphs, Sorting Graph Algorithms, MSTs, Sorting Algorithms Daniel Nguyen, Giulio Zhou Solution
13 Sorting Graphs Dennis Zhao Solution
14 (Different for each TA) ??? ??? ???
Guerrilla Sections
Title Concepts Staff Solutions
Section 1a Java Syntax, Pass-By-Value, Linked Lists, Arrays Mike, Leo, Colby, Laura, Jimmy, Marice, Daniel S., Megan Solution
Section 1b ALists, OOP, Abstract Classes, Interfaces, HOF Leo, Laura, Daniel S., Mitas, Sony, Dasheng, Jimmy, Bhuvana, Matthew Solution
Section 2 ADTs, Iterators, Exceptions, Delegation vs. Extension Leo, Tara, Maurice, Daniel S., Jared, Raymond, Jimmy, Bhuvana, Alex Solution
Section 3 Asymptotic Analysis, Disjoint Sets, Trees Julian, Leo, Jennifer, Colby, Daniel S., Daniel K., Jimmy, Tara, Matt, Megan Solution
Section 4 Hashing, Heaps, More Trees Mike, Dasheng, Daniel S., Raquel, Leo, Jimmy, Hayden, Alex, Jennifer Solution
Section 5 Sorting and Graphs Jimmy, Daniel, Leo, Raquel, Julian, Mitas, Raymond, Andy, MG Solution
Section 6 Final Guerrilla Section Jimmy, Daniel, Leo, Laura, Hayden, Sony, Matt, Khalid, Jennifer, Jared Solution
Exams
Exam Concepts Solutions
Midterm 1 Destructive & non-destructive methods, References, Static Keyword, Debugging, JUnit Tests, Linked Lists, Arrays, Interfaces, Dynamic Method Lookup Solution
Redemption Quiz Destructive & non-destructive methods, References, Arrays, Interfaces Solution TBA
Midterm 2 Hash Maps, Heaps, Disjoint Sets, Asymptotics, Trees, Data Structure and Algorithm Selection and Design, Exceptions Solution
Past Exams
Exam Concepts Solutions
Fall 2014 Midterm 1 IntLists, Inheritance, Pointers, Testing, Generics, Iterators, Bits, Asymptotics Solution
Spring 2015 Midterm 1 IntLists, Static Keyword, Pointers, Inheritance, SLists, Bits, Higher Order Functions, Arrays Solution