============================================================================================================================== Python: "AssignmentProgress" A GUI that allows users to input assignments along with their due dates. The program will display the assignments with a particular background colour based on how soon the assignment is due. Only eight assignments can be displayed one one "page," so an algorithm was incorporated to flip between "pages."
"Bang" This program is a virtual recreation card game “BANG!”. I have designed a simple GUI to interact with on your turn and have been working on a bias-based AI that learns from prior actions in the game.
"BangBiasStore" A program that prompts a user (who understands the game well) to rank three random cards in the deck relative to each other. It assigns a 1,2, or 3 to the card dependent on the position that it was selected. It also records the amount of occurrences per card. From that data, a percentage is calculated and the values out of 100 are added into the game as the base biases for each card.
"Combat game": A text-based game where you choose a weapon (with assigned speed and damage values) to then fight one of four monsters, with a method to use the speed value to determine how many turn the player gets compared to the monster.
"Dungeon Crawl": A maze game that uses a common maze generator algorithm to construct the maze. I got to practice using different modules to accept instant keyboard input into the terminal. Use WASD to navigate the maze (using arrow keys will crash the game).
"Music": These files are part of a project with the end goal of playing a song given the information of each note/chord (duration, staccato/legato, etc). The notes/chords played can use any waveform provided (the test_wave function in chords.py allows for the simple manipulation of a three term wave equation). This will also incorporate multiple channels of notes/chords to add different instruments or harmonics.
"ObjectRecognition": This code was implemented while following the OpenCV tutorials by PythonProgramming.net. It is used for real-time image processing, and for face and object recognition using haar cascades.
"Quantum" Using D-Wave's quantum computer and API, the program calculates the factors of numbers from 0-49. This was done by following the tutorials outlined on D-Wave's Leap software.
"Speech Recognition Test": A small script used to recognize the speech of a user and return what the user said.
"Study Guide": A small executable program that operates out of a terminal. The goal is to provide the user with when they should revise course content. The user, on the day they learn the content, will input what they learned, and the system will store it in that day's slot, the next day's slot, and a a week from the day's slot - stored in a json file.
============================================================================================================================== MATLAB The code I have written is not available publicly, for they were assignments given in course material. Some examples of programs I have written are below
Basic Simpson's rule, Richardson extrapolation, polynomial curve fitting, Taylor backwards, root finding, Jacobi iteration method, approximating derivatives, systems of linear equations
Approximating ODE: Dormand-Prince method, Runge-Kutta 4th order method, The Shooting method, Euler's method, Heun's method, initial value problems
Approximating PDEs: Boundary value problems, diffusion equation, wave equation, Crank-Nicolson Method, Laplace equation in 2D and 3D (intro to mesh problems)
============================================================================================================================== HTML/JavaScript
"AnnaMaeTray": Used in a talent show to take free sound files from websites online to provide sound effects for a performance.
"OrgoResonanceGame": A game that uses on-screen buttons to cycle between images to navigate the resonant structures of a molecule.
"UI": A simple UI in HTML with text boxes, check-boxes and radio buttons. This premise was used in a larger website development project at work.