CS Projects

Here you will find a collection of small programming projects that I have created. I have always been passionate about coding and love to take on new challenges. Take a look at the demos! I welcome any feedback you may have.

Mandelbrot Set

A C++ program generating pictures of Mandelbrot set using multi-threading. It first initializes a 2D array, then each entry is associated with a complex number in the complex plane. Color is obtained by iterating the function f(z) = z^2 + c where z starts from 0 and applying arctan to normalize the color. Pixels in extreme bright areas are colored pure black, for the aesthetics of visualization.

Graph Coloring

A Java program that finds all possible graphs on n vertices with coloring up to k colors, up to isomorphism. Each graph found can be pretty-printed using latex. Nicer recursive algorithms were developed alongside with rigorous math proofs to solve the problem on complete graphs and paths, as a part of my graph theory course midterm paper.

Connect4

A C++ implementation of the game Connect 4 and a competitive AI named zephyr using tree search, convolution, and alpha-beta pruning. Players can select from a difficulty of 1 - 9, which is the search depth of the AI.