This is a collection of some of my coding projects. Each of the sections below are dedicated to a single project. There is a short description of each, a link to the project's github repository, panels where you can view the code, and for some you will be able to run a version hosted on this website which will be opened in a new tab. You can use the filter on the left to refine which projects are visible. If you choose to run one of the web apps, they are optimised for a resolution of 1920px * 1080px, for displays of other sizes, especially mobile phones the web apps may not work properly.
This is a prototype of my computer science A-Level coursework, it is an A-Level maths revision system with a game that can track student progress and send reports to teachers. This prototype is only absent of the data tracking system. The project is made up of 3 python files, main.py which contains a main loop that controls what interfaces are visible to the user, programModules.py which contains all of the classes that create the program's interfaces, and gameEngine.py which has the code for the game section of the project. The 'images' tab contains 4 captures from the program, click the source code button for a more indepth analysis of the code and the project.
This project is a web app that visualises a recursive backtracking algorithm to solve sudoku boards, it was a very interesting project as it called for me to more learn about asynchronous code and how it is handled in Js, the use of asynchronous code and recursive functions made for a problem I had not faced with my previous experienece in python, though I really enjoyed the challenge. Furthermore it also pushed me to practice object oriented programming within Js. I am happy with how it has turned out however with more time I would have added more sudoku boards within the app and also the feature for users to add and solve their own boards.
This project visualises the Tower of Hanoi puzzle, with various amounts of blocks which are chosen by the user. I created this after playing with a physical version in my computer science class. I have been told there is a set way to solve this puzzle however I enjoyed the challenge of trying to figure it all out on my own. In future I may add the functionality for the user to play however in its current state I don't know if that will be possible. I specifically enjoyed implementing a stack datastructure and visualising that in the form of the three towers. Having been taught about data structures in class it was cool to have the need to actually implement one.
This is a python project that takes data from Yahoo Finance and plots the price history of certain stocks. I built it to practice GUI design with PyQt5, webscraping with BeautifulSoup4, and graphs with matplotlib. I am pleased with the result as the main goal was learning how to link PyQt5 and Matplotlib, which was a success! If I had more time to work on this project then I would improve the handling of webscraped data; every once in a while 'dividens' appear and I dont know what they are, but they mean there is no price data for these dates. So, I would probably implement a price estimate for these dates rather then the current error message.