This repository is a collection of my assignments for AP Computer Science A, or AP CSA.
WARNING: Some programs might be incomplete, or uncommented.
- fraction (docs) - Class that models a fraction, with ~25 public methods. This class allows you to store fractions in Java without any loss in precision you would get with float division. It handles edge cases like undefined fractions, as well as input support for mixed fractions and integer operands. It also automatically simplifies any fractions it returns. Each method is documented, and mostly tested.
- grades - Calculates min/max/average/median value for user input of test scores.
- gridWorld - A collection of programs experimenting with GridWorld.
- inheritance - A playground for testing inheritance in Java.
- lucky7 - A casino game with dice rolling and betting. Runs a simulation to tell you when you should've stopped playing, proving that the game's odds are stacked against you.
- penny - A game of chance where you throw pennies on a board, and win points for the penny location.
- pi - A program that generates PI using three methods with varying precisions.
- pixLab - A playground that modifies an image with several filters.
- playList - A class that manages a playlist of songs. Each song has a title and records the number of times it has been played. The class provides methods to add songs to a playlist, retrieve/print the playlist, change songs, and remove songs (among other functions).
- playList2 - An updated version of playList using ArrayList instead of regular arrays.
- project1 - Very simple exploration of strings.
- project2 - Generates an ASCII YIELD sign, with a bonus program that can generate the sign right-side up.
- project3 - Program that converts kilometers to nautical miles.
- rect - Class that models a rectangle.
- search - Playground for searching arrays.
- student (docs) - Class that models a student.
- turtles - Some turtle drawings.
Note: This project uses GridWorld as an external library. All copyrights are owned by their respective authors.