Index What I've Done

To look at my projects and courses, go to the orange-lettered subjects tabs below and select either a programming language or a topic of interest and the body of work will be shown. You will be able to click on a other links for more information beyond the brief summary. The downloads page also has a complete list of downloadable content.


This is a website highlighting my programming expertise. Most of the courses were taken independently online with Coursera. Quite a few are college-level material.


Projects:

  • Random Name Generator - parsed data from a variety of sources, then utilized Markov chains and Scala's random modules to randomly generate names
  • AnimaLogic Puzzle Solver - started as a Java project, then was rewritten in Scala with recursion to more efficiently solve puzzles
  • See Downloads for other Scala projects

    Courses:

  • Scala Courses (Swiss Polytechnic university École Polytechnique Fédérale de Lausanne) - learned best practices, recursion, parallel, functional, and object-oriented programming, network latency, lazy vs. greedy algorithms, analyzing data parsed from persistent storage and networks with Apache Spark, and much more


  • Projects:

  • AnimaLogic Puzzle Solver - solved puzzle boards from AnimaLogic game, collaborated with its game creator and programmer Mark Engelberg to improve code, and was featured in a YouTube presentation
  • Splash Data Parser - a small program that parses course data from the website of college-student-taught Splashes and helps narrow down options (found in Downloads page under Java section)
  • See Downloads for Algorithms Part I & II and Algorithms on Graphs projects

    Courses:

  • Algorithms Part I & II (Princeton University) - learned about algorithms, data structures, best practices, optimization, and scientific performance analysis
  • Algorithms On Graphs (Stanford University) - learned about algorithms pertaining to graphs, including graph exploration and shortest-path algorithms, including those used in the real world


  • Projects:

  • Class Scheduler - written for local nonprofit, it handles student class preference, teacher availability, class size, and other variables in order to maximize the number of students which receive their preferred classes
  • See Downloads for other MiniZinc projects

    Courses:

  • Discrete Optimization with MiniZinc (Universities of Melbourne and Hong Kong) - learned how to optimize and refine constraint programming code in order to find solutions to computationally difficult problems typically classified as NP or NP-hard such as seating, traveling salesman, rostering, resource management, and packing problems


  • Projects:

  • See Downloads for some of my older Python projects

    Courses:

  • Python (University of Michigan) - learned Python starting from the basics, then advancing into topics such as databases in SQL, data analysis, web data and formatting, and data structures


  • Projects:

  • Multiplication Program - made with assembler lanauge
  • Memory Chip - contructed from lower-level simulated hardware chips

    Courses:

  • Automata Theory - learned about Automata Theory and the complex concepts which
  • Computer Architecture - develop a basic operating system from the hardware level by progressively abstracting design concepts


  • Animations (made with Blender):

  • Nobbie's Casual Journey
  • Where Sheep Fly

    Projects:

  • Zombie Runner (Made with C# in the Unity Game Engine) - used textures, modeling, and code to craft a 3D world, populated it with spawners for pathfinding zombies, then fought with quaternions to model realistic day-night cycle complete with sunrises and sunsets
  • 3D Game (Made with YouthDigital's front-end Owl Game Creator, a Platinum Arts Sandbox-based custom game engine) - populated world with models, arranged lighting and rendered world, implemented triangle-based pathfinding, coded enemies, bosses, custom items and effects, cutscenes, quests, conversation trees, and more
  • 2D+ Platform Game (same as above) - built entire world from the ground up, textured and modeled buildings, areas, and small items, added lighting, rendered scenes, placed enemies, teleporters, powerups, and other items

    Courses:

  • Unity Game Development with C#: created panopoly of 2D and 3D games with Unity and C# to cement programming principles and best practices, as well as utilizing unit testing and refactoring effectively
  • 3D Game Design 1 & 2 - created 3D games as capstone project to utilize newly learned concepts
  • 3D Animation and Character Animation (Youth Digital) - animated custom characters with facial expression, walk, and run subroutines and keyframes, created backgrounds, panned, rotated, and zoomed cameras, developed and combined scenes, added music score and sound effects, and rendered animations


  • Automata Theory Course

    An advanced, college-level course from Stanford that teaches the basics of Automata Theory, the theoretical framework behind computer science

    More

    Awards

    A list of various honors and awards

    More

    Downloads

    A list of downloads that showcase my work

    More

    Algorithms Project

    Two programs, one in Java, the other in Scala, that solve AnimaLogic puzzle boards

    More

    Random Name Generator Project

    A Scala project that randomly generates names using Markov chains

    More

    Algorithms Course

    A course for first- and second-year college undergraduates which covered algorithms and data structures, with emphasis on applications and scientific performance analysis of Java implementations

    More