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 |