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 at 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.
CS310 - 3rd Year Project
An analysis on how resilient blink detection to detect DeepFakes is to adversarial noise attacks. The code is available at https://github.com/Mole1424/3rd-year-project. A full blog for this will come soonTM
CS325 - MiniC Compiler
A predictive recursive descent parser written in C++ to convert MiniC (a custom subset of the C language) to LLVM IR. Full AST tree printing, syntax and semantic errors, and type checking was all included
CS342 - Machine Learning
An ensemble of 5 regression trees to attempt the rating of a wine based on the Wine Quality Dataset. Minimum Sample Split was the only hyperparameter allowed and was tuned via Grid Search with 5-folding on DCS' compute cluster Kudu.
CS349 - APL essay
An essay on APL's glyphography: why it was used originally, and the benefits and challenges it introduces.