John G. Paul IV
Computer Science @ JMU
ML/AI • Game Design • Quantum-curious
About
I’m a third-year Computer Science major at James Madison University pursuing my B.S. in CS. I enjoy building things that blend theory and creativity; lately exploring machine learning, AI, and game design. I’m also eager to dive into quantum computing because it seems like a fun, challenging frontier where I can grow. Last year, I was named to both the Dean’s List and the President’s List, and I’m proud to carry that dedication and curiosity into everything I do.
Featured Project
Virtual Memory Simulation
Course: CS 261 – Computer Systems I
Role: Software Engineer (student)
As part of a semester-long Computer Systems course, I developed a comprehensive simulation of virtual memory, mirroring the Von Neumann architecture’s Fetch–Decode–Execute cycle. This multi-phase project required a deep understanding of low-level system operations, file structures, and assembly language.
In the initial phase, I implemented functionality to read and parse the bytes of a Mini-ELF header file, laying the groundwork for virtual memory mapping. Building on this foundation, I designed a program to interpret and correctly allocate program segments into virtual memory, replicating how operating systems manage process memory spaces.
The next phase involved translating binary data into y86 assembly, bridging the gap between machine-level data and human-readable instructions. In the final stage, I executed the y86 assembly code within the simulated virtual memory environment, completing a full emulation of program loading and execution within a virtualized memory model.
This project strengthened my understanding of computer architecture, memory management, and low-level programming.
Other Projects
Complex Number Calculator
Course: CS 345 – Software Engineering
Role: Software Engineer (student team member)
Click to view details
Hungry Dukes Database Website
Course: CS 374 – Database Design
Role: Software Engineer (student team member)
Click to view details
More projects coming soon…
Complex Number Calculator
Course: CS 345 – Software Engineering
Role: Software Engineer (student team member)
During this Scrum‑style course project our instructor acted as the Product Owner, providing sprint goals and feature requirements. Our team practised agile development, translating requirements into user stories, planning sprints, implementing functionality and presenting at sprint reviews.
- Implemented arithmetic for complex numbers: addition, subtraction, multiplication, division.
- Added magnitude/phase calculations with robust input validation and helpful error messages.
- Practised backlog grooming, stand-ups and sprint reviews to deliver incremental value.
- Wrote unit tests and documentation to ensure correctness and maintainability.
The project culminated in a working calculator and, more importantly, a deeper appreciation for collaborating with a Product Owner, breaking down user stories and delivering to sprint goals.
Hungry Dukes Database Website
Course: CS 374 – Database Design
Role: Software Engineer (student team member)
As part of CS 374: Database Design, my team designed and implemented a full-stack web application centered around a relational database we created from the ground up. We began by identifying a real-world problem suitable for structured data modeling and chose to recreate a JMU Dining–style system, capturing the complexity of campus dining operations.
We designed a normalized database containing detailed information about dining locations, menu items, ingredients, operating hours, and dietary restrictions. Using Python and Flask AppBuilder, we built a web interface that allowed users to view which dining locations were open on campus at specific times, explore available food options by day and location, and filter menu items based on dietary needs such as allergies or restrictions.
This project strengthened my understanding of database schema design, relational integrity, and backend-driven web development, while also emphasizing collaboration and iterative design. I worked on this project alongside John Henry Adams, Joe DiRocco, Lucas Fisher, and Harry Williams to deliver a functional and user-focused application.
- Designed a relational database schema to model dining locations, menu items, ingredients, schedules, and dietary restrictions.
- Implemented the database using SQL with carefully defined relationships and constraints to ensure data integrity.
- Built a web application using Python and Flask AppBuilder to provide an interactive interface for querying dining data.
- Added filtering functionality allowing users to search food options based on dietary restrictions and availability.
This project reinforced my understanding of database design, normalization, and backend–frontend integration, while highlighting how structured data can be transformed into a useful, user-facing application.
Skills
Resume
For a comprehensive overview of my coursework, experience and leadership roles please download my current résumé.
Download Resume