Kellan Elhai
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.
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.
Java, C, C++, C#, Swift, JavaScript, HTML, CSS, Ruby, Julia, LaTeX, Assembly, Python, Arduino
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.
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!
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.
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!
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