Ada's Projects
This is one of my proudest projects, which I only started developing because I was trying to make a bullet-hell game during the summer and needed assets for it, went to find an online pixel drawing program, and realized I could just make my own. It hit a snag of not being able to do transparency (could not get the .png working), which about six months later I fixed within ten minutes of looking at it when I needed art assets for the Scientific Method game I made for a course project. It's an art program that focuses on low-resolution art and providing highly specific tools that I figured would be convenient, so I added them on an ongoing basis. I'm currently trying to make a better version of this that uses design principles and expands on its functionality.
This project will apply access control algorithms to a CPS testbed, namely an IoT testbed consisting of several appliances that interact with a smart meter, to evaluate security properties of CPS. CPS are engineered systems that rely on interactive networks of physical and computational components. These components have a degree of autonomy in that they can easily join or leave the network, making the overall network behavior much more dynamic. Existing control algorithms do not account for this.
I took an AI course in third year that had a lovely ongoing assignment scheme of taking the algorithms we saw in theory and implementing them, alongside developing experiments to see the performance of different AI-related techniques. I have quite an affection for the freedoms this provided, and can recall writing a 23-page report for one of them that was particularly juicy. The comments fall off and the files aren't named to the implemented algorithms, so I may revisit this to apply touch-ups and maybe include the reports I wrote for each.
Collection of weird art algorithmic things I make
Repository containing the release executable for my art program that is still in development. Keeping the code private for a while longer.
Computers and Society final project; resource management game complicated by your work having effects on the world you're in.
Program to create and manipulate Finite State Machines (FSM) for the purpose of modeling and analyzing systems of FSMs. Currently being developed for use in generating data towards the completion of my master's thesis. Originated as a summer research project in 2018 that has gone through heavy revisions since the original program.
Mobile app game developed as a companion to Dr. Steuter's upcoming graphic novel on the subject of fake news; currently in development limbo as funding is awaited. Uses Expo and React Native for distribution/development respectively. "A gripping tale of deceit and investigation into the truth behind the news we take for granted." - Ada
For a third year Digital Electronic and Signals Processing course, the final assignment was to implement the Fourier Transform (not the Fast Fourier Transform) and use it on an audio file to figure out what notes were being played. It was a lot of fun to do! There were some intricacies along the way (it's weird using the frequency as your index? I think that was a thing? It's been a while.) but it was neat to apply Object Oriented Design to a cross-listed Comp/Physics course where proficient coding ability was not assumed.
I also worked as the university newspaper's online editor, which required a lot of images to be preprocessed for posting online (reduce size, right proportions, RGB, etc.). I got pretty good at doing this in photoshop, then realized I could probably just use some image libraries and automate a 15-20 minute process to ~2 if the images are CMYK and large. (CMYK to RGB is a slow conversion). This project is pretty specific to my purposes, but may be a good example if someone's looking to do something similar (or if I want to use it again later).
Embedded library for GraphViz in the Java language so that, ideally, users of any programs that use GraphViz will not need to isntall GraphViz themselves as, at least on Windows, no actual installation occurs besides dumping files onto your computer.
Small program to examine the image created by mapping the Mandelbrot set in a coordinate plane; let's you zoom in and move around, as well as change the level of definition (how many iterationsyou run each point through to figure out if it's in the Mandelbrot set or not) to let the image load faster while moving around or get more specificity at a particular point.
Tentative implementation of the Mr. Jack game for Comp 3721, Object Oriented Design, for Milestone 3 of Group Project 1.
Computer Networks project to make a model network that could utilize different messaging algorithms to display, visually, how they operated, and how networks grow as more devices are present. Unfinished but good progress present.
Supplemental Learning Material for Object Oriented Design (COMP-3721) at Mount Allison University. This project shows the progression of a program towards being Object Oriented, and will be updated to reflect desired design properties.
Comp-4721 Software Design Term Project
Here we go, making the third and superior version of this program for wider and more expansive uses. Might take a while, but I really want to make this. It's an art program focused around small pixelated images, but new developments should actually allow it to do regular art, too (supposing I program it correctly).
Repository for the pixel art I've made that I want to back-up somewhere
Program that takes the root folder of a programming project and automatically generates a UML diagram for that entire project; will only process .java files for now as that is what I am familiar with
A repository for a large variety of projects I have created over my career of doing Computer Science. The format is that each folder is a distinct project containing the application and, ideally, the source code that produced it!
Game made for Gender and Science that allowed the player to take on the role of a scientist at a fictional institution where the relationship of one's identities to the members of that institution would cause varying difficulty in progressing professionally. Unfinished but good progress present; made before the Software Visual Interface library, so ongoing development will require severe refactoring.
Lightning Round Two of Object Oriented Design - Group project with evscott to implement a specification in a short period of time, wasn't especially difficult but the gradual development of Object Oriented Design knowledge is nice to see.
A graphics library offering an easy to use interface for creating visual and interactive programs via javax.swing libraries. (Handles the awkward stuff to provide an easy-to-use environment)
This was a third year project for Digital Electronics and Signal Processing to create a Theremin using a Raspberry Pi and some Ultrasonic Distance Sensors (not a real Theremin but an approximation), which went through several development cycles as problems came up. This serves mostly as an example of how to do neat audio in Java where you can control the Frequency, and as a warning that the Raspberry Pi audio is not optimized for how Java tries to do that.
Third year programming course project to create a program that followed a specification given to us; that specification was most of a page long, and in relative terms I wrote a novel. This is mostly just an example project of Object-Oriented Design and robust comments.