Kellan Elhai

Sylvania, OH · (419) 460-7189 · [email protected]

I am going to Bowling Green State University for a BS in Computer Science. While I enjoy full-stack development, I really love lower level stuff: Assembly, PCB's, Arduinos, and so much more.


Resume


Skills

Languages & Tools

Java, C, C++, C#, Swift, JavaScript, HTML, CSS, Ruby, Julia, LaTeX, Assembly, Python, Arduino

Workflow
  • Mobile-Friendly Design
  • Live Testing & Debugging
  • Type-Safety

Portfolio

k-01 Emulator

Free, Easy (to use), and Portable is the name of the game. Through a clever use of C, this program will take a program written in binary for the k-01 architecture, and will run an emulator which will print the output of the program. Every aspect of this project was difficult to create. First, I designed and prototyped the k-01 CPU a breadboard, a simple 8-bit CPU similar to the 6502 (used in the Atari 2600, Apple II, C64, and more). Then, I wanted to write programs for it, but manually programming each op-code into the EEPROM was very tedious and annoying. I decided to make an assembler for it (k-asm) which takes a file that is written in the k-asm language and assembles it into a memory file. The memory file is then written onto the EEPROM and tested in k-01. However, small bugs could cause hours of debugging, so I created the k-01 emulator. It uses the original micro-instructions that the k-01 uses. Written entirely in C, this program can run on just about any computer.

Github Link - k-01 datasheet



k-asm Assembler

Closely related to k-01, k-asm is a self-contained language and Turing-complete, written in Python. An example program is included. A few features include: ability to read/write to and from ram, i/o pins, registers, and rom; binary, decimal, and hexadecimal conversions; numerous and descriptive errors with line numbers, warnings (coming soon); (too) many addressing modes, such as implied, absolute, accumulator, x, and y; over 50 op-codes, each with 1 or more addressing modes; conditional branching, jump if greater, equal to, or less than another number; comments; and more!

Github Link - k-01 datasheet



Math Website

A lightning-fast math website. Regular updates to pages. Covers advanced math topics from Calculus to Abstract Algebra. Utilizes Bootstrap and JQuery to create a mobile responsive web-page. Math-gurus love this site. It goes over practical applications of group theory in real life. I mean, how cool is that? It also answers the question, 'how much powdered sugar could I get on a donut?'. Wow, just wow.

Production link - Github Link



Mancala

A free version of mancala for Android. Whenever you win, you get an NFT. Sounds crazy but it is true. Uses the magical powers of Android and gradle to create this wonderful environment. Mancala is a national treasure that everyone enjoys. Stop being spammed by ads while playing or being forced to pay. This one is totally free!

Github Link




References, Recommendations, & Awards

Reference: Tammi Ramsey, Computer Science Teacher at NV High school (419-824-8570 ext 5224)

Workkeys Platinum Award Certificate: Link

National Java Programming Competition

Business Professionals of America

15th Place

2022


National Software Engineering Competition

Business Professionals of America

5th Place

2021


National Web Application Competition

Business Professionals of America

11th Place

2023


Ohio Java Programming Competition

Business Professionals of America

3rd Place, 4th Place

2022, 2023


Certiport Java Certified

Certiport at Dallas Convention Center

Java Certified

2022


AP Computer Science A Exam

College Board

Highest possible score was achieved, a 5

2022


AP Computer Science Principles Exam

College Board

Achieved a score of “very well qualified”, a 4

2019


Scratch MIT Programming

Science Olympiad Invitationals

1st Place

2019