My projects from UC Berkeley's Data Structures course CS61B, where I got an A+
See https://sp21.datastructur.es/ for course content and project specifications.
Most of this code has been provided by the course staff. We only had to complete a small number of key methods and classes. I've highlighted which code was completed by me below.
Brief details for each project:
Implement the core game mechanic of 2048
See https://sp21.datastructur.es/materials/proj/proj0/proj0#your-assignment for details
My contribution: Completed the Model class (emptySpaceExists, maxTileExists, atLeastOneMoveExists and tilt methods)
Implement the 'double ended queue' data structure twice, using linked lists and arrays as the underlying structure.
See https://sp21.datastructur.es/materials/proj/proj1/proj1#project-tasks for details
My contribution: Everything in {LinkedListDeque, ArrayDeque, MaxArrayDeque}.java, as well as completing the GuitarString class in the gh2 folder
Implement the basic features of Git
See https://sp21.datastructur.es/materials/proj/proj2/proj2#overview-of-gitlet for details
My contribution: Everything in {Commit, Main, MergeCommit, Repository}.java
Design and implement a 2D tile-based world exploration game.
This project was co-developed with a partner.
See https://sp21.datastructur.es/materials/proj/proj3/proj3#overview for details
My contribution: Don't really remember exactly which parts I did, had a hand (along with partner) in most files in the 'Core' folder, other than ones that are authored by hug (the course instructor Josh Hug)