Skip to content

Ellery Yang

I write about products and the PM role.

Menu
  • Home
  • About me
Menu

My Tech Projects

Posted on June 2, 2017July 5, 2025 by Ellery

This page features some of the technical projects I worked on in my 3rd and 4th year of university.

3D Procedural City Generation

street view

This project is the final project for COMP521: Modern Computer Games. In my implementation, the city is generated in a pipeline with 3 stages. Stage 1: Road network generation on a game terrain. Stage 2: Building placement along road segments. Stage 3: Vegetation planting among buildings. In addition, a navmesh is provided for the city generated, which allows the implementation of pathfinding algorithm for agents in the generated city.

Project Proposal: Modern Computer Games Project Proposal

Modern Computer Games projects

AMAZE2

I worked on 3 intensive projects for COMP521: Modern Computer Games. Many topics in game development were explored, but the most important ones include: Abstract terrain (procedural maze generation), heightmap and realistic terrain, 2D game physics, Verlet integration, behavior tree AI, A* and Silver’s pathfinding, multi-threading. All of these projects are done in Unity3D.

Applied Machine Learning project

comp551aml

I worked on 4 intensive projects for COMP551: Applied Machine Learning, each in a different team of 3. Project 1: Marathon predictor. Using publicly-available runner data to predict the outcome of 2017 Miami Marathon. Project 2: Text classifier. Given a Reddit conversation, label it with one of the eight categories (topics) available. Project 3: Image classifier. The training set and test set of this classifier both come from a subset of ImageNet (40 categories). Project 4: A literature survey on the issue of scientific replicability and reproducibility.

Computer Networks project

comp535router

A project by Bobby Yang and myself for COMP535: Computer Networks. This project features simulated router nodes capable of communicating with each other in a simulated network. Network topology is maintained by Link State Routing algorithm.

Artificial Intelligence project

Project for COMP424: Artificial Intelligence. This project is an AI agent that plays the board game Das Bohnenspiel. This agent uses Minimax search with ahpha-beta pruning. Automatic parameter selection was used to improve the heuristic function in the search algorithm, and the resulting agent outperformed 83% of the class.

Computer Graphics project

Bunny mesh

I wrote 4 assignment projects for COMP557, Fundamentals of Computer Graphics. 1: Scene graph, humanoid character creation, OpenGL transformations, key frame animation. 2: Perspective and projection frustum, depth of field and 3D anaglyph. 3: Half-edge data structure and mesh subdivision. 4: Ray tracing, super sampling with Poisson disk, novel scene creation.

ScribeX

ScribeXScreenshot

ScribeX is a web application which extracts handwriting digits out of an image file. It implements K-Nearest Neighbors algorithm, an introductory level algorithm in the field of machine learning.

Dr.Spider

Dr.Spider crawls the web link a user supplies, and performs a Depth-First Search starting from that point. It can detect invalid links in the website, and will display a report if any invalid link is found.

FaceIt

FaceIt screenshot

FaceIt is an android application written in C#, with Xamarin + Visual Studio 2015. This app allows you to choose a picture from Gallery or take a picture with camera, and it will recognize all the faces in the picture, if any.

EllerySearch

EllerySearch is a lightweight search engine. It crawls a website, indexes it, computes page rank, and breaks down page content to single words for users to search. A re-crawl function is also available in this search engine, allowing the search engine to crawl an arbitrary site specified by user. By default, it is configured to crawl elleryyang.com.

Minerva2iCal

Minerva is McGill University’s course registration system. With minerva2ical, McGill students can easily export their school calendars to any major calendar tool. This project uses Regex to match course info, and DDay.iCal library to serialize iCal files.

BonjourOCR

Developed with ASP.NET, BonjourOCR is a web application which extracts text out of an image file. This application implements Microsoft’s optical character recognition API from Project Oxford.

2096

If a machine is smart enough to pass the Turing test, will it be smart enough not to pass? 2096 is a sci-fi short story I wrote exploring the possible destructive power of AI.

VirtualComputer

virtualcomputer

Developed using Logisim, this project features a simulated computer with an 8-bit CPU made from scratch.

PM Blog (2017 - present)

  • April 2024
  • November 2023
  • September 2023
  • March 2023
  • January 2023
  • September 2022
  • July 2022
  • February 2022
  • September 2021
  • August 2021
  • April 2021
  • January 2021
  • December 2020
  • November 2020
  • October 2020
  • September 2020
  • August 2020
  • July 2020
  • June 2020
  • May 2020
  • April 2020
  • February 2020
  • January 2020
  • December 2019
  • October 2019
  • July 2019
  • June 2019
  • April 2019
  • March 2019
  • December 2018
  • October 2018
  • May 2018
  • March 2018
  • December 2017

A Student's Blog (2015 - 2017)

  • July 2017
  • June 2017
  • August 2016
  • July 2016
  • April 2016
  • March 2016
  • February 2016
  • December 2015
  • October 2015
  • September 2015
  • August 2015
  • July 2015
© 2025 Ellery Yang | Powered by Minimalist Blog WordPress Theme