About

I'm Jacob McDonnell. I have been interested in computers since I was young. My father has been in the technology field since before I was born, so I guess that interest came from him. Currently, I am a 4th semester student at Penn State studying computer science.

My interests, with respect to computers, are programming, UNIX/Plan9, and electronics/hardware. Thanks to AP Computer Science A, I have a good understanding of Java. In college, I picked up Python and, most recently, C. I would like to write my own unix-like operating system one day.

I do not know what I will do with this website just yet, maybe I will write articles about projects that I am working on.

Projects

Personal Projects

This Website is written in Python using Flask. It is hosted on VPS running Red Hat Linux using NGINX as a proxy.

Quick and Dirty MIPS Assembler is a MIPS assembler written in Go. QDMA supports the Executable and Linkable Format for binary executables. It is a two pass assembler where the first pass tracks the labels for functions and data and the second pass assembles the instructions.

Quick and Dirty MIPS Emulator is a MIPS emulator written in C. It supports 32-bit ELF binaries and emulates a simple MIPS processor.

Class Projects

!!! Some of the project will not be uploaded until the class is complete !!!

!!! These projects are uploaded for potential employers, students do not copy !!!

MIPS Implementation: This is an implementation of a pipelined 32-bit MIPS processor in Verilog. This project was the course project for Penn State's CMPEN 331 Computer Organization and Design.

JBOD Server: This is a C server that provides an interface for a user to connect to a remove JBOD (Just a Bunch of Disks) server. It implements a fully associative cache for faster reads and writes. This was the course project for Penn State's CMPSC 311 Introduction to Systems Programming.

Dynamic Memory Allocator: This is my implementation of the malloc, free, and realloc functions in C. This project leverages a segregated free list for fast allocation and boundary tag coalescing for better memory utilization. This is one of the course projects for Penn State's CMPSC 473 Operating Systems Design & Construction.

Penn State Advanced Vehicle Team (AVT)

Penn State AVT is a club competing in the AutoDrive Challenge II, working to build a self driving car. I join the club in the Fall of 2024, working in the Guidance Navigation and Controls team. Currently I am working on some software to help score the car after each test run.