Alex Chitham

Hi, I'm Alex

SOFTWARE ENGINEER / COMPUTER SCIENCE STUDENT

alexchitham@hotmail.co.uk
(+44) 07980 662340

Profile Picture

About Me

I am a recent Computer Science graduate, currently looking for a Software Engineering graduate role in London. As part of my degree, I spent a year working at PQShield, an Oxford-based start-up specialising in post-quantum cryptography. I believe this industry experience, along with my consistently strong academic performance, will enable me to be successful in any technical role.

First in Computer Science from the University of Bath
A-levels: A* in Computer Science, Maths, Further Maths, Physics
GCSEs: Five 9s, three 8s, two 7s including Maths (9) and English (7)

Technical Skills

Languages and Build Systems

  • C - Used professionally with the CMake build system on commercial projects
  • Python - Including for data processing, AI and machine learning projects
  • Java - Experience with OOP and data structures
  • C++ - Modified a ray tracer code template to create complex images
  • C# - Developed a 3/4 view stealth game in Unity
  • Dart - Currently learning mobile app development via Udemy
  • HTML, CSS - Used in building this portfolio website
  • Haskell - Experience in functional programming coursework
  • SQL - Knowledge of declarative query languages
C logo CMake logo Python logo Java logo C++ logo HTML logo CSS logo

Software Engineering Skills

  • Version Control - Proficient with Git, including complex rebase commands, and GitHub
  • Development Environments - Competent using Linux command line
  • Methodologies - Experience in Agile/Scrum and Kanban, with Jira to monitor progress and keep on track with large commercial projects.
  • CI/CD - Used GitLab pipelines for automated builds and verification
  • Docker - Built and ran complex products with multiple Dockerfiles
  • Static Analysis in C - Used tools to ensure code developed was CERT-C and Clang compliant
Git logo GitHub logo Linux logo Atlassian logo GitLab logo Docker logo

Libraries and Frameworks

  • NumPy - For data manipulation and analysis
  • PyTorch - Used for training deep reinforcement learning agents
  • NLTK - Used for natural language processing, extracting tokens out of large datasets
  • OpenAI Gym - Library that provides reinforcement learning environments
  • Unity - Developed a 2D stealth game using C# and pixel art animations
  • Flutter - Learning app development through a Udemy course
NumPy logo PyTorch logo Unity logo Flutter logo

Other Technical Skills

  • IDEs - Competent using VSCode, Visual Studio, and experience with Android Studio and Eclipse
  • Operating Systems - Competent across Windows, macOS, and Linux (Ubuntu)
  • Technical Documentation - Used Latex typesetting for formal reports
  • Virtualisation - Experience using virtual machines
  • Productivity Tools - Microsoft Office and Google Workspace
  • Project Management - Familiar with Jira and Confluence
  • Computer Construction - Built my own desktop for productivity and gaming
VSCode logo Visual Studio logo Windows logo Ubuntu logo Latex logo Office logo Google logo

Projects

Explainable Reinforcement Learning Dissertation - Python

  • Implemented two state-of-the-art explainable reinforcement learning methods from scratch on an autonomous driving environment.
  • Assessed the effectiveness of each method at generating clear and meaningful explanations of the autonomous driving agent.
  • Compared the two methods against each other and explored why their results may have differed.

PQNoise - C

  • For PQShield, I co-wrote a C library for a post quantum secure communication protocol, called PQNoise.
  • Used a static analysis tool to comply with CERT-C standards throughout development.

Cryptopals - C

  • Completed the first 16 challenges of Cryptopals using C.

Raytracer - C++

  • Took a basic raytracer in C++ and added support for complex objects and interactions such as reflection, refraction, and photon mapping.

Atari Breakout Reinforcement Learning Agent - Python

  • Implemented a DQN reinforcement learning agent to play the Atari breakout game to a super human level in python.

Personal Website - HTML and CSS

  • Designed and implemented this website from scratch with no template, using HTML and CSS.

IMDb Movie Review Classifier - Python

  • Used natural language processing techniques to extract features from movie reviews to classify them as positive or negative.