Mahdi Rizk

EECS 281Winter 2025

SillyQL Relational Database Engine

An in-memory relational database engine in C++ that runs a small SQL-like command language, with a top 10 runtime out of 1000+ submissions.

  • C++
  • Hash Maps
  • BST Indexing
  • Valgrind
EECS 370Spring 2025

Pipelined CPU and Cache Simulator

A cycle-accurate 5-stage pipelined LC-2K CPU simulator in C, with a configurable write-back cache.

  • C
  • Computer Architecture
  • Pipelining
  • Caches
EECS 493Live demo

Asteroids Browser Game

A jQuery dodge-the-asteroids game with a landing page, settings panel, tutorial, levels through portals, shield pickups, pause, and game over.

  • JavaScript
  • jQuery
  • DOM
  • game loop
MHacks 2025Video

Snap-Shot

Voice-guided campus navigation on Snap Spectacles for blind and visually impaired students, with real-time directions and obstacle detection.

  • Lens Studio
  • TypeScript
  • Gemini
  • Google Maps Platform
EECS 497Video

EarnedIt

An iOS app for impulsive shoppers that turns purchases into rewards: finish productive tasks to earn points, then spend them on items from your wishlist.

  • iOS
  • Mobile
  • Product Design
  • User Research
EECS 493Live demo

Artist Search Music App

A Vue 3 single-page app that searches the iTunes API by artist and lets users filter, sort, favorite, and play 30-second track previews.

  • Vue 3
  • JavaScript
  • REST API
  • Bootstrap 5
EECS 281Winter 2025

Zoo Routing: MST and Traveling Salesperson

Graph algorithms over 2D cage coordinates: a minimum spanning tree with a wild-area border rule, a fast heuristic TSP tour, and an exact TSP solved by branch and bound.

  • C++17
  • graph algorithms
  • Prim's MST
  • TSP
EECS 370Spring 2025

LC-2K Assembler, Simulator, and Multiplier

A two-pass assembler that turns LC-2K assembly into 32-bit machine code, an instruction-level simulator that executes it, and a shift-and-add multiplier written in LC-2K assembly.

  • C99
  • assemblers
  • ISA design
  • instruction encoding
EECS 281Winter 2025

Zombie Defense Simulation

A round-based simulation where a player with a limited quiver shoots approaching zombies in priority order, with optional verbose, running-median, and statistics output.

  • C++17
  • priority queues
  • heaps
  • running median
EECS 281Winter 2025

Priority Queue Implementations

Four interchangeable priority queue containers behind a common abstract interface: unordered, sorted, binary heap, and pairing heap.

  • C++17
  • binary heap
  • pairing heap
  • templates
EECS 484Fall 2025

SQL Queries for Booktown and University Schemas

Twelve Oracle SQL queries and a view answering questions over a bookstore schema (authors, books, editions, publishers, subjects) and a university schema (students, courses, enrollments, projects).

  • SQL
  • Oracle
  • joins
  • aggregation
EECS 485Fall 2025

Distributed Search Engine

A search engine over 3,062 Wikipedia pages, with a MapReduce-built inverted index served by parallel Flask index servers and ranked by tf-idf and PageRank.

  • Python
  • Flask
  • MapReduce
  • SQLite
EECS 485Fall 2025

Insta485 Templated Static Site Generator

A Python CLI that renders a static Instagram clone from Jinja2 templates and a JSON config, plus a hand-coded HTML version of the same pages.

  • Python
  • Jinja2
  • Click
  • HTML5
EECS 298Fall 2024

Naive Bayes Sentiment and Emotion Classifier

Bag-of-words text classifiers trained on IMDB movie reviews to predict positive or negative sentiment, plus a multi-class extension that predicts emotion labels.

  • C++
  • machine learning
  • Naive Bayes
  • NLP
EECS 280Fall 2024

Two-Sample Statistics Tool

A command-line tool that splits a CSV column into two groups, prints descriptive statistics for each, and estimates a 95% confidence interval for the difference in means using bootstrap resampling.

  • C++17
  • statistics
  • bootstrap resampling
  • unit testing
EECS 280Fall 2024

Doubly Linked List and Text Editor Buffer

A templated doubly linked list with a bidirectional iterator, used as the storage for a cursor-based text buffer that drives a terminal text editor.

  • C++17
  • templates
  • linked lists
  • iterators
EECS 280Fall 2024

Binary Search Tree and Map

A templated binary search tree with a custom comparator and in-order iterator, wrapped into an associative Map<Key, Value> container.

  • C++17
  • binary search trees
  • recursion
  • templates
Hack Dearborn: Rewind Reality (Hack Dearborn 3)Video

PySurfers

Play Subway Surfers with your whole body, tracked by a webcam with Python and OpenCV.

  • Python
  • OpenCV
  • Computer Vision
Hack Dearborn: Disrupt Reality (Hack Dearborn 2)October 2023

NeuroScanAI

A deep learning model that detects and classifies brain tumors in MRI scans.

  • Python
  • PyTorch
  • YOLOv8
  • TensorFlow
Procrastination 1012026 - Present

This Portfolio Website

The site you are reading, rebuilt as a multi-page Astro site with a theme picker and live demos.

  • Astro
  • TypeScript
  • CSS
  • SEO