Hi there!

I am Godfried Boateng, a 4th-year undergraduate computer science student at UCLA, class of 2022. Welcome to my website!

You can find my contact information and resume using the button below. I look forward to meeting you.

Introduction

I am a 4th-year undergrad computer science student at UCLA with particular interest in software engineering, game design/development, and machine learning. My proficiencies lie in the following languages: C++, Java, C, and Python. I am accustomed to using Git version control, as well as GNU/Linux command line.

My goal is to continue to acquire a deep understanding of best practices in software design and construction, and become in tune with all of the components that constitute a coherent system, so as to apply them to my subjects of interest.

Completed Coursework

  • CS Coursework
  • Intro to Computer Science (2 courses; both in C++)
  • Intro to Computer Organization (low-level C, basic x86-64 assembly)
  • Software Construction Laboratory (C programming, Linux bash, Git version control)
  • Operating System Principles (C/POSIX)
  • Programming Languages (worked with many langs: OCaml, Java, GNU Prolog, Racket, and Python)
  • Algorithms & Complexity
  • Data Science Fundamentals (Python)
  • Fundamentals of Artificial Intelligence (LISP)
  • Database Systems (PostgreSQL)
  • Computer Network Fundamentals (C++)
  • Compiler Construction (Java)
  • Introduction to Machine Learning (Python -- Sklearn & PyTorch)
  • Introduction to Computer Graphics (JavaScript -- WebGL)
  • Logic Design of Digital Systems
  • Digital Design Laboratory
  • Engineering Design: Internet of Things (Sensor Tile IoT research under Dr. William Kaiser)
  • Other Coursework
  • Neural Signal Processing & Machine Learning
  • Physics Laboratory (Electricity & Magnetism; using Arduinos and Python for data collection and analysis)
  • Physics (3 courses: Mechanics; Electricity & Magnetism; Electrodynamics, Optics, & Special Relativity)
  • Integration and Infinite Series
  • Calculus of Several Variables (2 courses)
  • Linear Algebra
  • Differential Equations
  • Discrete Structures
  • Introduction to Probability


Personal/Hobbies

To explore my passion for computer science beyond what is offered by my classes, I work on personal projects to gain practical experience with programming and game designing. You can find some of the things I have been working on in my Github linked at the bottom of the page.

I am also an enthusiast of the video game genre of fighting games, and its community, the fighting game community (colloquially "FGC"). The intricate psychological exchanges that take place between two players, as well as the continuous quest for self-improvement, have always been intriguing to me. I have fond appreciation for the strong sense of community and the boundless opportunities to bond with new people.

As such, I felt it necessary to replicate that in my local community. I am one of the founders of an on-campus student org dedicated to the FGC, called the Fighting Game Community at UCLA. I am the head organizer of events, and manage the YouTube channel where replays of past events can be visited.

Finally, I enjoy greatly the sport of soccer, which I started playing in 2007. Having played for club soccer teams such as De Anza Force and West Valley Vision, and also having been a referee for AYSO Region 64 for two seasons, I found it gratifying to be involved in competitive settings with a team, and seeing the game from both the player's and the referee's perspective further diversified and enhanced my experience. While I have not been a part of organized competitive soccer ever since entering college in 2018, I continue to enjoy the sport as a fan of the professional scene -- rooting for my favorite team FC Bayern Munich.

Projects

Spotlighted below are two of the noteworthy projects I have been working on. Use the Learn More button for details.

KAT - a UNI VOD Auto-Timestamper

KAT is an auto-timestamping tool written in Python using OpenCV. Given a VOD of the video game Under Night In-Birth (UNI), it analyses the VOD and automatically generates YouTube-chapter-compatible timestamps with the characters that fought in each match that took place in the VOD. The VOD can be from either a YouTube URL, or from an on-disk video file. I wrote this to make it more convenient for myself and for the community to quickly navigate through UNI footage, and to grow more accustomed to computer vision and image processing facilities.

WindBot - an AI for the YGOPro Client

WindBot is a set of executor programs written to serve as an AI opponent for the YGOPro client, which is a simulator for the Yu-Gi-Oh! trading card game. It takes information about the current game state, and uses it to make a most optimized play for the particular deck it is using. Leveraging YGOSharp (C#) libraries, as well as Lua-scripted cards, it is able to store and filter game information on the spot to make adaptive decisions.

LSTM Stock Dashboard

A simple Python web app built using the Dash framework that uses a deep learning model trained on historic stock price data to make predictions on what future closing prices of that stock will be. I made it to become more comfortable working with the Keras library for deep learning, as well as gain more practical experience with Python. Currently only AMD stock data are used. I used Heroku to deploy the app to the web.

JavaFX 8 Minesweeper

A JavaFX 8 realization of the classic game of Minesweeper. I built this as I was learning concepts key to object-oriented programming, such as defining and utilizing interfaces, and exploiting abstraction to create a core functionality (MinesweeperModel) that can be used both for both graphical and Terminal implementations of Minesweeper.

Contact Info & Resume

You can find my resume linked below; I prefer email as the primary form of contact. Also linked below is my GitHub and my LinkedIn. Thank you for visiting my website.