I built an algorithm in C to play the game 2048 which basically involves swiping up, down, left or right to match tiles. The algorithm uses breadth first search to evaluate all moves to a certain depth and determine which move will lead to the best score. As this game contains a random element expectimax search would have been a better algorithm however the asignment specification asked for breadth first search. Above is the algorithm in action and below a link to the source code (left) or alturnatively you can run the code in your web browser. (right)

Note: I did not code the 2048 game itself (my code can be found in ai.c)


I presented a poster detailing how we can exploit quantum mechanical properties of light to securely send a one-time pad without relying on traditional symmetric/asymmetric encryption. Click image for download.


A sentiment analysis project based on the sentiment140 dataset. This uses a LSTM based recurrent neural network. Input a sentence of at most 16 words and the model will predict if the sentence has a positive or negative sentiment.