My coursework for Berkeley's Spring 2018 offering of CS61B - Data Structures.
While this work is ungraded, I use every available test case and the provided automated unit tests to ensure my code meets and exceeds course expectations.1
The reason for me 'taking' this course is three-fold:
- Improving my abilities in Java
- Relearning key data structures concepts in a formal fashion, cementing knowledge
- Creating tangible evidence that I have the same knowledge base as those whose transcript says 'Computer Science' rather than 'Electrical Engineering' and 'Physics'
1(I am attempting to get in touch with the course's professor (Joshua Hug) to see if arrangements can be made for me to access the Autograder programs, but for now this is only available to enrolled Berkeley students)
This course contains video lectures, slides, and an electronic book documenting all relevant information, organized by lecture week. There are six homework assignments and two 'makeup' ones (which I will also complete) for a total of seven hw's. Additionally there are four projects that allow for partner work, but I will be tackling them solo.
The following outline of homework / project descriptions and results will be updated as I complete them:
Homework 0
- Quick review of git, OOP, and introduction to Java syntax / ideologies
- Playing with simple Java programs - classes, methods, arrays, objects, you name it
- Having fun setting up NeoVim to run asynchronously alongside Sublime Text 3 to achieve actual vim usage within Sublime!
Homework 1
coming soon!
Project 0
- Used StdDraw library from Princeton to implement a simple gravitation sandbox
- Read in starting positions, velocities, masses, and image file names to create a dynamic simulation of the motion of massive bodies
- (Coming Soon): Extended to include elastic collisions, mouse interactions to drag bodies and instantiate new bodies, and audio output
Example of a snapshot of our solar system running:
java NBody 157788000.0 50000.0 data/planets.txt
Starman being launched into orbit towards Mars:
java NBody 157788000.0 50000.0 data/starman.txt
![](https://github.com/gifs/proj0/starman.gif?raw=true)
And since we all know the earth is really flat...
java NBody 157788000.0 50000.0 data/flat-earth.txt
Project 1
coming soon!
All of my work here is released under the MIT license.
Please don't use my code if you're an actual CS61B student!