Ming Cheng
About Me

Welcome!

My name is Ming Cheng, currently a master student majoring in computer science in UC San Diego.

As a computer science student, I am interested in software engineering, machine learning and computer graphics. I am procifient in C++ and C, and familiar with JavaScript, Python and Java. Recently, I am learning Go and trying to build some application with it. I have experience with web devlopment as well as game development.

Projects

Sorting Visualizer

Sorting algorithms are important in computer science. In order to learn about the mechanics behind different sorting algorithms, I built a web-based visualization tool to picture merge sort, quick sort, etc.
Built with React.js, JavaScript, HTML, and CSS
Link to Website

Pathfinding Visualizer

Interested in different path finding algorithms such as Dijkstra's Shortest Path, A Star Seaching, Breadth first search and Depth First Search, I develoepd a web-based algorithm visualizer to help picture the process of these algorithms.
Built with React.js, JavaScript, HTML, and CSS
Link to Website

Nutrition Games

I worked with Kiran Bhadury, Sam Lee, and Yangyi Hu on nutrition gamification. We developed a learning system with two web-based mini games. I was responsible for one of the game that taught people about healthy recipes through simple 2D interaction in game.
Built with JavaScript, HTML, and CSS
Link to Website

Multiplayer of Warcraft II

I worked in the team to build Warcraft II on cross-platforms such as Linux, Windows and Mac. We developed the multiplayer support for the game using a client-server model. We built a TCP server that supports mutiplayer gameplay and in-game chatting for at most 8 people via LAN.
Built with C++, Boost Asio and Protobuf

Curve Line Drawing System

Intersted in how to draw a curve line from scratch, I developed a simple system that can draw two types of curve lines: Bezier and B-spline curve. It's an application of curve line drawing algorithm in computer graphics.
Built with C++ and OpenGL
Link to Github

Phong Model with Gouraud Shading

Phong reflection model is one of the simpliest light model. I implemented a system that utilizes the phong equation and simulates the Phong model with Gouraud Shading. I also added half-toning to simulate shades of grey.
Built with C++ and OpenGL
Link to Github

3D Translation and Project System

Have a hard time imaging 3D objects? I developed a system that draw simple polyhedras in different perspective. I implemented orthogonal and oblique projection as well as 3D transformation such as translation and rotation.
Built with C++ and OpenGL
Link to Github

Schedule!

As college students who are taking a lot of classes, we need a scheduler to stay on track of our daily routine. I worked in a team to build a website that can personalize people's schedule for a day.
Built with JavaScript, HTML and CSS
Link to Website

Contact