This is a videogame I and two others made for the SkillsUSA Game Design competition. I did most of the C# programming for this game, as well as coming up with most of the ideas as to what we would be making. This project taught me a lot more about working in a group than typical group assignments or projects did because there wasn't as clear and direct of a goal. This gave me a large amount experience in problem solving and teamwork. I also learned much more about Unity than the Unity Learn course taught me, and about the dangers of overscoping.
C#
This is an online game of UNO against 3 computer players. I wrote the JavaScript for the workings of the game, the HTML and CSS for the surface level stuff, and even created the images for the cards. This project, being one of the first personal projects I worked on, really opened my eyes to how big even simple projects such as this could get.
HTML
CSS
JavaScript
This is a simple group chat that anyone can make a statement in. It uses PHP to read and write a file for collecting the posts and adding new ones. For me it was a clear example of Occam's razor, since simple solutions worked very well for getting the website to work as intended as well as fixing unexpected bugs and exploits. An additional thing I learned from it was that continuing a completed project doesn't always mean fixing issues as they crop up, but can also include implementing new knowledge to replace workaround solutions. The Chatroom is currently available for anyone to make an account and post in it.
PHP
MySQL
CSS
This is a memory and reaction based game that is coded in Java and presented to the user in a GUI. It uses Timers to keep track of when the sequence is being shown and when it is time for the player to repeat it as well as how much time the player has left to do so. Empty JPanels on each side are used to communicate this information to the player. One of the main things I learned from working on this project was how to make a GUI look good on a level that my classwork didn't cover, such as dummy panels to control the size of things in BorderLayouts. The other was the importance of user testing, since it wasn't until I let someone else play the game that I noticed a glaring issue with the way I communicated the important info to the player: it was too out of the way to be noticed quickly.
Java
This is a simple website I programmed that allows the user to calculate the minimum grade they need to get on the final exam of a given class to get a desired letter grade in that class. The main thing I learned from working on this project was the basics of TypeScript, which, being so similar to JavaScript, mostly boiled down to actually installing it. In my effort to get TypeScript on my computer, I learned a bit about how to operate Node.js, npm, Visual Studio (Not VS code), and how to set my exectution policy on the computer with PowerShell.
HTML
CSS
JavaScript
TypeScript
I programmed this website myself, for the purpose of delivering my portfolio in addition to being an element of it. While working on it, I learned how to really use CSS. I could style a website before, but it was here where I learned how make a visually appealing website with it. I also discovered a practical reason to use Media queries that check the width of the page. More so, everything I learned in classes and beyond them about web design and development came together to create this website, which even includes some Adobe Illustrator to create the background. It and the portfolio it presents are the culmination of my high school career up to this point, and I only plan to go further from here.
HTML
CSS
JavaScript
TypeScript
You can contact me with this email.
thomasm.2027@mtchs.org