Hi, I'm Alex Karapetkov.
I'm a Computer Science graduate from James Madison University (2024) focused on secure,
user-centered solutions across cybersecurity, low-code development, software development, and IT
infrastructure.
This portfolio showcases a mix of academic and personal projects, from a Bash-like command line shell built
in C to hardware modeling with Verilog and business applications developed with the Microsoft Power
Platform.
I'm currently exploring opportunities in cybersecurity, software development, IT support, and Power Apps
development. If you'd like to connect, collaborate, or just say hi, feel free to reach out to me on
LinkedIn.
As part of Microsoft’s Power Up Challenge, I developed a parking management solution for Contoso High School
using Power Platform. The project included a Dataverse data model, a model-driven app for submitting parking
requests, a tablet-friendly canvas app for logging inspections, a Power Automate flow to confirm requests via
email, and a Power BI report to analyze parking trends and identify unauthorized usage. This end-to-end solution
highlights my skills in app development, automation, and data visualization with Power Platform.
For best quality, click the ⚙️ Settings icon in the video player and choose 720p or higher.
Concurrent Systems Programming
These labs are my completed assignments from CS 361: Computer Systems II at James Madison University, focusing
on concurrent systems programming in C. They cover topics such as process and thread management, inter-process
communication with pipes and spawning, signal handling, finite state machine simulation, and
client-server networking with sockets. All work reflects my own understanding and effort to master foundational
concepts in operating systems and network programming.
This project, co-created with Joey Blethen for a Computer Architecture course, implements an 8-bit RISC-V
Arithmetic Logic Unit (ALU) in Verilog using Vivado, supporting AND, OR, addition,
subtraction, set-less-than, and NOR operations. It features a hierarchical design with 1-bit full adders forming
ripple carry adders/subtractors, and an ALU control unit that decodes instruction opcodes and function codes to
select operations safely. Combining structural and behavioral Verilog, the design balances control and
abstraction, ensuring accurate operation, overflow detection, and clear modularity. This work demonstrates
practical digital design trade-offs within a RISC-V architecture subset.
GridKid is a spreadsheet application that is designed to run in the terminal. I started working on it as part of
my CS 430 class at JMU (Programming Languages) with Dr. Chris Johnson and am using Ruby to implement it. It's
designed to present a table of cells that the user can fill with data and/or formulae to perform computational
tasks, as you would with a spreadsheet application like Microsoft Excel, for example. The project is broken down
into four separate milestones: Model of the Spreadsheet, an Interpreter, an Interface, and Variables and Control
Flow.
For this project, I implemented and compared two approaches to the classic Traveling Salesman Problem (TSP): an
approximation algorithm using a Minimum Spanning Tree (MST) and Depth-First Search (DFS), and an exact solution
using the 2-Opt heuristic. The goal was to evaluate trade-offs between runtime efficiency and solution accuracy
on weighted, undirected graphs provided as user input. I created a set of test cases to validate correctness and
performance, and summarized the results in a final presentation. This project strengthened my algorithm design
skills and gave me hands-on experience with optimization techniques and automated testing in Python.
As part of a semester-long UX design project, my team and I researched the challenges college students face when
managing dietary restrictions and food allergies. Through user interviews, affinity diagrams, and competitive
analysis, we identified gaps in existing solutions and designed a mobile app to help students find safe places
to eat and shop. The final deliverables included wireframes, user scenarios, storyboards, and a high-fidelity
prototype built in Figma. We also presented our findings and design decisions in a final paper and slideshow.
EatSafe emphasizes personalized recommendations, intuitive navigation, and inclusive design tailored to users'
unique dietary needs.
This VR app simulates climate change’s dangerous effects, including floods, hurricanes, forest fires, melting
icebergs, and droughts.
Built with Unity as a JMU elective project, users can explore and interact with each scene.
Labs coded in Python for an Applied Algorithms class at JMU, covering recursion, backtracking, dynamic
programming, greedy algorithms,
Prim’s, Bellman-Ford, and Dijkstra’s algorithms.