Record of Joel & Mr. Fisher

Ordered chronologically from 9th to 11th grade.

Computer
Computer Science

9th Grade

In 9th grade, we learned about Processing. I found it super fun and self-learned syntax to make my submissions above and beyond the assignment instructions. Here are 9 highlights:

Draw Scratchpad

Agar.io

Ball with Friction Simulator

Tesseract OS (Photo Editor)

Cookie Clicker

Die

Creating these programs took a lot of planning like in the photos below

Sketchpad planning Chess planning

10th Grade

Prisoner's Dilemma Tournament Results
Prisoner's Dilemma
I won our tournament through a good strategy of forgiving the opponent of betraying me in order that we could cooperate again and due to luck.
My Python Strategy of Forgiveness

Bucket Sort (1.27.22)

Source code
Results (average of timing three tests)
Sort Method All Worst Best Random
Bubble Sort 4.8s 5s 0.4s 0.4s
Selection Sort 5.1s 2.1s 2.1s 2.5s
Insertion Sort 4s 1.5s 0.3s 1.9s
Bucket Sort .7s
3 APIs
3 APIs Demo (3.21.22)
Click to watch video demo
Functional Programming in Haskell (5.20.22) 
romanNumerals.hs - convert integers to roman numeral strings
booleans.hs - functional implementation of booleans
Hash Table Python Implementation (4.23.22) 
HashTable Documentation
Getting Started
from HashTable import HashTable ht=HashTable()
Methods
get, set, clear, remove, size, is_empty, has, keys, values, inspect
get(key) -> value
    Returns the HashMap's value of the key
set(key, value) -> None
    Sets the HashMap to your value at the key
clear() -> None
    Removes all the key-value pairs, emptying the HashMap.
remove(key) -> value
    Removes the key-value pairs at the specified key. Returns the removed value.
size() -> int
    Returns the number of key-value pairs.
is_empty() -> bool
    Returns whether or not the HashMap has no key-value pairs.
has(key) -> bool
    Returns whether or not the HashMap has a key-value pair of the specified key.
keys() -> array[any]
    Returns all the keys of the HashMap in an array.
values() -> array[any]
    Returns all the values of the HashMap in an array.
inspect() -> str
    Returns the raw self.data for development purposes
Example
                
>>> ht=HashTable()
>>> ht.set('hi', 'world')
>>> ht.get('hi')
'world'
>>> ht.set('authors', ['joel', 'david'])
>>> print(ht)
HashTable {
    authors: ['joel', 'david'],
    hi: world
}
>>> ht.has('hi')
True
>>> ht.size()
2
>>> ht.keys()
['authors', 'hi']
>>> ht.values()
[['joel', 'david'], 'world']
>>> ht.remove('authors')
['joel', 'david']
>>> print(ht)
HashTable {
    hi: world
}
>>> ht.clear()
>>> print(ht)
{}
            
Word generator Word Generator (5.20.22) 
Sentence generator Sentence Generator (5.23.22) 

11th Grade

Autocompleter demo Autocompleter (9.10.22) 
Sliding puzzle Sliding Puzzle (10.20.22) 
Tic tac toe Tic Tac Toe (11.13.22) 
Othello Othello (12.3.22) 
Movie Reviews Movie Reviews (4.21.23) 
Confucian Matrix Confucian Matrix
Sliding puzzle Countries of the World Data Analysis (2.4.23) 
Sliding puzzle

AI Final Project

I attempted to create a model which can predict how a county votes in the presidential elections (Democratic or Republican) based on information collected from the American Community Survey (ACS).