Warwick Courseworks

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.