Vincent Titterton
M.S. Computer Science, UC Santa Cruz
Notable Projects
Blocky World
Try It Out!
Source Code
Language: Javascript
Framework: WebGL, HTML Canvas
Algorithms: Vertex Shaders, Fragment Shaders, Phong Lighting, Surface Culling
A 3d world made of cubes, developed in WebGL. Uses custom vertex and fragment shaders to implement textures and Phong Lighting. Uses surface culling optimizations to reduce the number of rendered triangles. Includes moving and animated NPCs.
Path Finder
Try It Out!
Source Code
Language: Javascript
Framework: HTML Canvas
Algorithms: Depth First Search, Dijkstra
A shortest path finding program. Includes a 20 x 10 graph with a GUI for setting start / end squares and placing / deleting barriers. It also includes a pull down menu to select between two path-finding algorithms (Breadth First Search and Dijkstra's algorithm). Dijkstra's algorithm enables diagonal moves which have 1.414 units of distance.
Connect Four
Source Code
Language: Java
Algorithm: Depth First Search
Player vs computer connect-4. Computer's AI uses Depth First Search with depth 8. When the 8th move is reached without a guaranteed win or loss, a non-recursive position rating method is used. Backtracking is used to return the board to its previous state after each recursive call.
Sorter
Try It Out!
Source Code
Language: Javascript
Framework: HTML Canvas
Algorithms: Exchange Sorts, Selection Sorts, Insertion Sorts, Merge Sorts, Distribution Sorts, Hybrid Sorts
Visualize Sorting Algorithms!
A sorting program that includes a graph of adjustable size and a GUI made with a custom button class.
23 different sorting algorithms are available to choose from. There are also four different array value-sets to choose from along with 7 non-sorting algorithms (ex: shuffle). The sorting process is done with individual frames for each array operation. After each sort is complete, runtime statistics are displayed.
Minesweeper
Try It Out!
Source Code
Language: Javascript
Framework: HTML Canvas
Classic Minesweeper coded in JavaScript. Features a board of adjustable size with an adjustable number of tiles. Takes inputs from left and right click. Recursive algorithm used to discover adjacent tiles when a non-number, non-mine tile is uncovered.
Other Projects
Sling Shot
Java / Swing
Source Code
Collatz Conjecture
Java
Source Code
Median Heap Sort
Java
Source Code
Battleship
Java / Swing
Source Code
Tic Tac Toe
Python
Source Code
Big Integer
C++
Source Code
Unix Style Shell
C++
Source Code
Listmap Template
C++
Source Code
Client Server
C++
Source Code
OpenGL Shapes
C++ / OpenGL
Source Code
Linked List
C
Source Code
Sparse Matrix
C
Source Code
Variable Base Big Int
C
Source Code
Shortest Path Finder
C
Source Code
Connected Component Finder
C
Source Code
N Queens Problem
Java
Source Code
Dictionary ADT
Java
Source Code
Linked List Dictionary
Java
Source Code
Dictionary ADT
C
Source Code
Linked List Dictionary
C
Source Code
Linked List
Java
Source Code
Binary Search
Java
Source Code
Linked List Queue
Java
Source Code
Cringe Maker
JavaScript / HTML Canvas
Try It Out
Source Code
Tilesets & Chunks
JavaScript / HTML Canvas
Try It Out
Source Code
© 2025 Vincent Titterton.
Website Repository