Name: Keir Lewis

Education: King's College, University of Cambridge

Course: Computer Science

Graduation: 2020

CV: KeirLewisCV.pdf


Make something cool;

Jazz Dash
The best method of learning is doing so I learnt OOP concepts by making an Android game. Jazz Dash is an endless runner in which you have to jump and slide to avoid obstacles while hitting bad guys with a baseball bat. It was made using LibGDX over a week or so and has taught me that making pixel art is a pain.
Markov Text Generator

Initially austere in understated waves of tropical fruits, and overall smoothness.

There's a slight herbal quality that recalls beef jerky and bacon.

Very oaky, it shows a bright beam of citrus and salt. Drink now through 2022.

Aromas of spice and vanilla flavors along with soft tannins and touches of earth and stone.

Generously filling and satisfying, this appellation blend is partially barrel fermented.

An exciting new producer. It's tart and moderately rich, dotted in sultry spice.

Made in the glass, it starts off easily enough by acidity that's almost heavenly.

This light-orange-colored wine has crisp citrus and sweet fruits, the wine is, however, compromised by a smoky character.

This bio wine comes from an estate vineyard takes the lead aroma along with fig, chocolate and pepper flavors.

Vanilla and toasted flavors are silky and linger on the nose of this pristine expression with great black-plum fruit and blackberry jam.

I experimented with Markov Chains for text generation. Starting with a big corpus of tweets, I tried a model on individual letters, then individual words for first, second, and third order. I settled on a second order model using entire words so that sensible sentences were produced without just recreating the input data.
Snazzy Snake
Get it on Google Play
I made an Android game that involves no pixel art. This one took a couple of days and is simply a snake clone with good gesture controls and snazzy colours.
Chess Bot
I could have learnt to get better at chess, but I didn't have the time so I wrote some code to play the chess for me. The chess bot that uses a minimax algorithm with alpha-beta pruning to calculate moves. It has weightings for pieces and board positions for specific pieces. The hardest part about this project was not writing the algorithm to win at chess, but was writing the algorithms for keeping track of the rules and generating all possible moves for all possible pieces in a fast and efficient way.