Computer Science Projects
These are some computer science and software development projects I have worked on as part of my Computing and Software Systems major. Scroll or click the titles to expand ...
infexion_player {
Python, AI, Adverserial Agent, Minimax, Alpha-Beta Pruning
Infexion is an adversarial two-player game developed by the UniMelb AI teaching team. This project involved developing and experimenting with AI agents that could play, and win, games.
The codebase in the GitHub repository below allows you to pit various adversarial AI agents against each other. There you can also find rules so you can play Infexion against a friend.
GitHub Repo

flow_free_solver {
C, AI, Dijkstra's Algorithm, Deadend Pruning
This univeristy project involved developing an AI agent that could solve Flow Free puzzles in an efficient manner. The agent utilises Dijkstra's algorithm to solve the puzzle and incorporates dead-end pruning to improve space and time efficiency.
GitHub Repo

RPC_system {
C, Unix, Client-Server Architechture, Application Protocol, Multiprogramming
This university project involved the design and implementation of a custom RPC (remote procedure call) system. The RPC protocol was designed from scratch and is accompanied by documentation that can be found in the GitHub repository below.
The protocol runs over TCP and is designed for Unix operating systems. Additionally, the implementation supports non-blocking operations through the use of multiprogramming.
GitHub Repo