Warwick Courseworks
A list of courseworks that I have done whilst studying at Warwick University
A list of courseworks I have done whilst at university. (Some implementations are deliberatley left vague to avoid plagiarism)
CS118 - Robot Maze
A Maze Solver written in Java that can learn from its mistakes so a 2nd run is faster than the first.
CS126 - Warwick+
The data structure backend to a movie-rating website, similar to IMDB. Inolved varying complex data structures and algorithms to efficiently store and retrieve ranges of data.
CS132 - Towers of Hanoi
Programming a robot arm in C to solve the Towers of Hanoi problem. Video
CS139 - Booking Website
A full-stack website for ticketing departmental events. Written in python using the Flask framework and a postgres database. (This coursework is what inspired me to make this website)
CS141 - Bean's Gambit
A simplified chess engine and parser written in haskell. Parser needed to use monads (obligatory: a moniod in the category of endofunctors)
CS241 - Packet Sniffer
An efficient multi-threaded packet analyser written in C using the pcap library.
CS255 - Connect-n
A python AI to play connect-n (a generalisation of connect-4) using the minimax algorithm with alpha-beta pruning.
CS258 - Gig Database
The schema and queries for a database to store information about gigs and artists. Written in SQL.
CS259 - Formal Languages
A parser, lexer, and interpreter for a simple programming language limited to positive integer operations.
CS261 - Financial Analyser
A group project to create a full featured system to analyse articles on a publicly traded company and evaluate how that would affect them financially. Code available https://github.com/Mole1424/cs261
CS262 - Tautology prover
Written in Prolog, determines whether a given logical expression is a tautology (always evaluates to true no matter assignment of variables) or not.
CS263 - Cyber Security
Split into 3 parts: a demo lab on a cyber security tool (I chose Ghidra), a short OSINT task, and simulated penetration test of a web server with malware deployment at the end.