CS 61B Data Structures, Spring 2015
Instructor: Josh Hug
Lecture 1: MWF, 2-3 PM, 1 Pimentel
Lecture 2: MWF, 11-12 PM, 150 Wheeler
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.
Was there an issue with the grades of one of your assignments? Please let us know what issues or mistakes may have occurred when grading your assignment in the regrade request form!
Note: Homework and labs submitted via GitHub are graded automatically according to correctness. We will not be changing our partial credit rubric for these assignments.
Quick Navigation
Labs
Number Title Concepts Staff Due Date
1 javac, java, Git Intro to Java and Git Sarah Kim Sun 2/1, 10 PM
1b Setting up your computer Setup Japheth Wong, Jene Li N/A
1c Installing .jars on your computer Setup Japheth Wong, Josh Hug N/A
1d Installing GJDB on your computer Setup Josh Hug N/A
2 JUnit Testing JUnit testing, IntLists, destructive and non-destructive lists Melanie Cebula Sun 2/1, 10 PM
3 Debugging, Doubly-Linked Lists Methods and tools of debugging, doubly-linked lists Leo Colobong Sun 2/8, 10 PM
4 Project 0 Work Day N/A N/A N/A
5 No Lab Following Midterm 1 N/A N/A N/A
6 HugLife Testing and debugging in packages Daniel Nguyen Sun 3/1, 10 PM
7 Project 1 Work Day N/A N/A N/A
8 Asymptotics Asymptotic analysis Patrick Lutz Sun 3/15, 10 PM
9 Project 2 Design Lab Project 2 Josh Hug Sun 3/22, 10 PM
10 Midterm 2 Themed Office Hours N/A N/A N/A
11 Project 2 Work Day N/A N/A N/A
12 Sounds of Sorting Various sorting algorithms Daniel Nguyen Sun 4/19, 10 PM
13 Graphs DFS, BFS, graph representations, runtime analysis Josh Hug Sun 4/26, 10 PM
14 Project 3 Work Day N/A N/A N/A
Homework
Number Title Concepts Staff Due Date
0 Optional Java Exercises Java practice Josh Hug N/A
1 NBody Simulation Static keyword, conditionals, loops, classes, Princeton stdlib Matthew Chow Wed 1/28, 10 PM
2 Bitwise Operators, Pointers, Linked Lists JUnit testing, recursive/iterative code, bit operations, stdin Japheth Wong Wed 2/4, 10 PM
3 OOP LinkedLists, supertypes, subtypes, static/dynamic type, casting Anusha Ramakuri Tue 2/17, 10 PM
4 Packages Packages, abstract classes Melanie Cebula Wed 2/25, 10 PM
5 Generics Generic classes/methods Patrick Lutz Wed 3/4, 10 PM
6 Asymptotics Binary search trees, graph traversals, asymptotic analysis Brendan Hu Wed 3/18, 10 PM
7 Hashing Hashing, hashcodes, and hash tables Chris Jeng Wed 4/1, 10 PM
8 Sorting Sorting algorithms Amanda Chow Fri 4/24, 10 PM
Projects
Number Title Creators Support TAs Support Readers Category Weight Due Date
0 Checkers61b Jimmy Lee, Chris Jeng Leo Colobong, Anusha Ramakuri Akhil, Andrew, Charles, Fan, Jasmine, Jason Won, Khalid, Nick Rose, Ross, Rudy, Thomas, Wesley Basics 1 EC Point Tue 2/10, 10 PM
Final 10 Points Fri 2/13, 11:59 PM
1 Ngordnet Josh Hug Jene Li, Japheth Wong, Alex Chou, Jerry Cheng Allen, Brian, Calley, Colbert, Daniel, Gilbert, Giulio, Jason Zhang, Laura, Nick Fong, Sean, Tara, Yujie Basics 1 EC Point Fri 3/6, 11:59 PM
Final 18 Points Wed 3/11, 11:59 PM
2 Gitlet Joseph Moghadam Alicia Luengo, Sarah Kim, Matthew Chow, Yan Zhao, Austin Chen, Alan Yao Akhil, Andrew, Charles, Fan, Jasmine, Jason Won, Khalid, Nick Rose, Ross, Rudy, Thomas, Wesley Basics 1 EC Point Tue 4/7, 11:59 PM
Final 24 Points
[+5 Gold Points]
Mon 4/13, 11:59 PM
3 Fun with Tries Alan Yao Dennis Zhao, Patrick Lutz, Daniel Nguyen, Amanda Chow, Brendan Hu Allen, Brian, Calley, Colbert, Daniel, Gilbert, Giulio, Jason Zhang, Laura, Nick Fong, Sean, Tara, Yujie Basics 1 EC Point Fri 4/24, 11:59 PM
Final 18 Points
[+5 Gold Points]
Fri 5/1, 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 Alicia Luengo Solution
3 Linked Lists and Arrays Sentinel Nodes, Arrays, Linked Lists Jene Li Solution
4 Inheritance Inheritance, Static vs. Dynamic Type, Overriding Methods, Dynamic Method Lookup Japheth Wong Solution
5 Midterm 1 Review Arrays, Linked Lists, Strings Chris Jeng Solution
6 Abstract Data Types
[Yan's Slides]
List, Set, Stack, Queue, Map Joseph Moghadam Solution
7 Object-Oriented Design OOP Design, How to break bad stacks, Immutability Jimmy Lee Solution
8 Asymptotics Asymptotic analysis Amanda Chow Solution
9 Trees, BSTs Trees, Balanced Trees Dennis Zhao Solution
10 Heaps & Hashing Heaps, Hashing, Binary Trees, Midterm 2 Review Patrick Lutz, Sarah Kim, Jimmy Lee Solution
11 Sorting Sorting algorithms Anusha Ramakuri Solution
12 Bounds, Comparing Algorithms TBA Matthew Chow Solution
13 Graphs Graphs Daniel Nguyen Solution
14 Fun Puzzles TBA Melanie Cebula TBA
Guerrilla Sections
Title Concepts Staff Solutions
Section 1 Static vs. dynamic type, bitwise operators, IntLists, OOP, Inheritance Leo, Nick Fong, Jasmine, Andrew Huang, Yujie, Nick Rose, Khalid, Jason Won Solution
Section 2 Asymptotics and data structures Anusha, Leo, Akhil, Giulio, Jasmine, Laura, Jason Zhang, Charles, Nick Fong Solution
Section 3 Heaps, Sorts, Graphs, Trees, Hashing Leo, Anusha, Nick Fong, Jasmine, Laura, Yujie, Nick Rose, Khalid, Jason Won, Fan, Jason Zhang, Giulio Solution
Exams
Exam Concepts Solutions
Midterm 1 IntLists, Destructive & Non-destructive methods, Pointers, Debugging, JUnit Tests, Bits, Higher Order Functions, Arrays, Static Keyword, Inheritance, Interfaces, Dynamic Method Lookup Solution
Midterm 2 Hash Maps, Heaps, Disjoint Sets, Asymptotics, Trees, Data Structure and Algorithm Selection and Design, Exceptions Solution