Mahmudul Rapi Portfolio Website
Computer Science Student @ Princeton

Profile Image

About Me

About me

Profile Image

My name is Mahmudul and I'm from NYC!

I'm a senior at Princeton University studying Computer Science and pursuing a minor in Robotics and Intelligent Systems. I am passionate about software engineering as a career, because I love programming, problem solving, and creating an impact through software development! You can find my resume below.

Scrolling below are some of my projects highlighting my programming skills and experience.

View Resume

Programming Experience & Projects

TigerClimb

I worked on a semester-long web application in a group of 4 called TigerClimb, which is built using Python and Flask (server-side), HTML/CSS/Javascript (client-side), and PostgreSQL (database). Our web app allows the hundreds of Princeton students involved with the Princeton Climbing Wall to query climbing routes, add favorite routes, and comment on routes. Admins are able to use our built graphical user interface to add new routes and set holds for a given route.

Website Link

Princeton Registrar Application

I created a Python graphical user interface (using PyQt5) that allows Princeton students and other interested parties to query an SQLite database of classes and courses offered during a semester. The application handles server-side concurrency and client-side concurrency.

Github Link

YouTube Timestamp Extension

I programmed a Chrome extension using the Chrome Storage API to allow users to save timestamps of a YouTube video as they view it and return back to video at the saved timestamps. The core functionality is programmed in Javascript and the popup element is coded in HTML/CSS.

Github Link

HTTP Proxy

I implemented a Golang web proxy that passes requests and data from local web clients to remote web servers for improved web performance by leveraging DNS prefetching, data caching, and content filtering specified HTML elements.

Github Link

Choose Your Target

As a part of my work as a research assistant for Princeton's Intelligent Performance and Adaptation Lab, I worked on the development of a web version for an motor-learning based Unity experiment called Choose Your Target. I wrote software in Unity C# which fetches trial and orders settings from Google Firebase using REST API, which was previously stored as local CSV files. I created a script in Javascript (Google Apps Script) which uploads and deletes these CSV data into Firebase.

Website Link

LC3 Instruction Set Computer

I programmed a microprocessor in Verilog that implements the LC3 instruction set, a 16-bit processor with a simple but versatile instruction set. This processor is Turing complete and is a full-fledged stored program computer. A description of the assembly functions my computer implements can be found here.

Github Link

Seam Carving Project

In Java, I programmed a seam-carving algorithm, which is a content-aware image resizing technique where the image is reduced in size by one pixel of height (or width) at a time. Unlike scaling or cropping, seam carving preserves the most important features of the image. The project implements dynamic programming and backtracking to find the seam which can be removed.

Github Link

Power Electronics Java Library

I programmed my own power electronics library in Java containing various power electronic topologies (diode-rectifier, buck converter, boost converter, flyback converter), user-interactive to ask for circuit parameters, and computes the output current and output voltage, and ripple inductor current, ripple capacitor voltage, and peak switch voltage/currents (for design choice).

Github Link

My Personal Website

You're looking at it right now! My personal website is programmed in HTML, CSS (Bootstrap), and Javascript. It's a responsive single page website, and contains information about me, my resume, projects, socials, and contact information.

Github Link

Coursework

COS461 Computer Networks (Go)
COS375 Computer Architecture (C++)
COS418 Distributed Systems (Go)
COS316 Computer System Design (Go)
COS346 Robotics (Python)
COS470 Principles of Blockchains (Rust)
COS343 Algorithms in BioInformatics (Python)
COS333 Full-Stack Programming Techniques (Python, SQL, HTML, CSS, Javascript)
COS396 Quantum Computing (Python)
COS324 Machine Learning (Python)
COS226 Algorithms and Data Structures (Java)
COS217 Systems Programming (C, x86 Assembly)
COS306 Contemporary Logic Design (Verilog)
COS445 Economics and Computing
COS240 Discrete Mathematics
COS126 Intro Java Programming (Java)

Skills

Profile Image

Languages: Java, Python, C, HTML, CSS, Javascript, SQL, R, Verilog
Frameworks/Libaries: React.js, Flask, Bootstrap, Node.js, jQuery, SQLAlchemy, NumPy, PyQt5
Tools: GraphQL, PostgreSQL, Google Firebase, Git/GitHub, Heroku

Contact

Feel free to reach out to me!

Email

Cell Phone