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 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.