Skip to content
View cjbcoombes's full-sized avatar
🌅
🌅

Block or report cjbcoombes

Block user

Prevent this user from interacting with your repositories and sending you notifications. Learn more about blocking users.

You must be logged in to block users.

Maximum 250 characters. Please don't include any personal information such as legal names or email addresses. Markdown supported. This note will be visible to only you.
Report abuse

Contact GitHub support about this user’s behavior. Learn more about reporting abuse.

Report abuse
cjbcoombes/README.md

header

Let's get the boring stuff out of the way...

My name is Christopher Coombes
My username in most places is cjbcoombes
You can find me at cjbcoombes@gmail.com, LinkedIn, GitHub (You're already there!)
Here is a copy of my resume
I am a full-time undergraduate at Northeastern University studying Computer Science and Mathematics with expected graduation in May 2027

What am I doing? (or have done)

Learning!

I'm a student, after all. I'm taking classes in Computer Science, Math, and Spanish. I love logic, patterns, and formalism—I currently plan to finish my degree focusing on Algorithms and their mathematical foundations. I think the best way to learn any language, skill, or tool, is to go build something with it, looking stuff up as you go.

I'm also passionate about teaching, and I've taken opportunities to work on an education research project (see below), be a teaching assistent for CS courses, and volunteer as a tutor at 826 Boston.

My current most relevant courses:

  • Completed: Grad-level Algorithms, Object Oriented Design, Advanced Linear Algebra, Theory of Computation, Multivariable Calculus
  • In Progress: Computer Systems, Advanced Group Theory, Graph Theory

A Research Project on LLM-Powered Feedback for CS Students

Feedbot

I worked with a professor and a small team to integrate an LLM into the autograding infrastructure of a computer science course. The system utilizes the LLM to provide constructive feedback on introductory computer science assignments. It is written in Python, and involves parsing submitted files, making asynchronous API requests, and collecting responses to be presented to students.

It was deployed to 500+ students in 1st year CS classes, with active feedback-driven development. It lead to a published paper (https://dbp.io/pubs/2025/feedbot.pdf) finding quantitative benefits for students, to be presented at ITCSE 2025.

Building Math Education Software at ShepherdXR

ShepherdXR is creating a mathematics teaching intervention program designed to bridge the gap from arithmetics to algebra. It presents math equations as something students can physically manipulate with their hands in VR, while also placing them in an immersive and exciting environment.

I worked as the lead software developer at ShepherdXR, developing a VR mathematics education platform from scratch using Unity/C# and OpenXR, implementing 180 classes and 21k lines of code. I worked closely with CEO Femi Fadugba and the other members of our team to both design and implement the software. It will soon be undergoing testing and a research study to determine its pedagogical effectiveness.

More about my specific accomplishments
  • Designed a state machine architecture and event system for modular implementation of core gameplay.
  • Engineered a 3D math rendering engine turning LaTeX strings into interactive animated equations.
  • Built a system recognizing six hand gestures from raw XR tracking data, including denoising and correction for false positives and ambiguous cases.
  • Created a fish control system allowing fish to perform precise animations while exhibiting organic schooling behavior, using a modified boids algorithm.
  • Developed an adaptive learning algorithm that tracks student progress and selects optimal problems based on several learner metrics.
  • Integrated Unity Sentis and an MNIST model for machine-learning-powered handwriting recognition.

Personal Projects

Zed Powerdle Advent of Code Parser Combinators Demo Fractal Viewer

Zed My favorite personal project so far—my own programming language and compiler. I intentionally undertook this project with minimal reference to actual compiler knowledge and research, wanting to find as many of my own solutions as possible. I learned a TON, really enloyed it, and it was a great hands-on way to get C++ skills (data structures, algorithms, standard library, and proper memory management).

I completely designed a custom bytecode as my compile targed, and a virtual machine to run it, a parser, and a tokenizer. The compiler is partially implemented, with a basic type system and IR but minimal actual generation of bytecode from that IR. It will likely never get finished but it was an extremely valuable learning experience.
Powerdle A friend made a graphic of the Wordle but packed with reward systems. I thought it was funny, and perhaps a commentary on games nowadays, so I made it. Built with vanilla JavaScript, CSS, and HTML. Playable at https://cjbcoombes.github.io/powerdle/.
Advent of Code (aoc-2024) I think Advent of Code is a wonderful way to practice new languages/tools and algorithm skills. The past two years I've done AoC in Haskell (very enjoyable) and this past year I used NeoVim as my editor (slightly less enjoyable... steep learning curve).
Parser Combinators Demo Parser combinators are a super cool and extremely expressive way of doing parsing, and Haskell lends itself to them extremely well. I implemented parser combinators myself to get a better understanding, and then used my system to implement a fun little game (see the README for more info about that).
Fractal Viewer I learned some WebGL to make an interactive fractal viewer in the browser with vanilla JS, CSS, HTML, and a modular fragment shader. Lots of fun to play with, and I even discovered my own cool-looking fractal while testing different equations! It specifically deals with Mandelbrot-style fractals in which a function is repeatedly applied to a starting point, and that point is colored based on whether that process eventually yields really large numbers (and how many iterations it takes to do so). Play with it yourself: https://cjbcoombes.github.io/fractal-viewer/.

Tech and Tools


Pinned Loading

  1. fractal-viewer fractal-viewer Public

    A WebGL viewer for the Mandelbrot and various related fractals

    JavaScript 1

  2. powerdle powerdle Public

    The wordle, with every possible reward system

    JavaScript 1 1

  3. Zed Zed Public

    A compiler for a custom language, built from scratch in C++

    C++ 1

  4. parser-combinators-demo parser-combinators-demo Public

    A little game I created while I learned about Parser Combinators and implemented them myself

    Haskell 1