Hand build 20x10 LED display with Tetris

As part of an embedded systems class, we were instructed to create a project powered by an Arduino or Raspberry Pi, using various electrical components, to display competence in the class material. A classmate, Brendan, and I decided to create a display using individual LEDs with the goal to implement a game of Tetris. In order to power the classical 20x10 Tetris display, we needed a way to wire and control 200 LEDs with less than 30 general-purpose input/output, GPIO, pins on the Raspberry Pi. Little did we know that the final project would employ 4 breadboards and 350 hand cut wires.

Read More

Boids Flocking Simulation

This project consists of independent bodies, boids, acting on certain characteristics to simulate the nature of a flying flock of birds. A world is created and boids are given three desires to fly based on Craig W. Reynolds paper, “Flocks, Herds, and Schools: A Distributed Behavior Model.”

Read More

Song Year Prediction on the Million Song Dataset

The sound of music has changed throughout the past century and continues to change. The Million Song Dataset collects song features from popular contemporary songs ranging from 1922 to 2010. By using the sound characteristics of songs, this project applies linear regression models, namely ordinary least squares and ridge regression, to the segments pitches and segments timbre features found in the dataset. These features are used to build a model matrix of predictors and to predict song release years using residual sum of squares and leave-one-out cross-validation.

Read More

Dynamic Virtual Tour of Crested Butte

This project consists of a Flask website running off of an Sqlite server. The tour consists of pins on a map to mark locations and pictures that are uploaded corresponding to the pin. Pins have already been placed on the tour so users can visit and interact with the website. Everything is stored in a database and dynamically loaded so users can add their locations and pictures to the virtual tour.

Read More

StartPy Game Object Library

For this project I was asked to maintain a pygame library for a fun, introductory class to game programming. The objective of the StartPy library is to create an easy to use interface for first time programmers to create simple games such as pong. I was responsible for developing, maintaining, and testing compound objects (multiple objects being added together as one object), labels, buttons, backgrounds and more, mostly dealing with the GObj.py file.

Read More

Sum of Even Fibinici Terms

The Fibinici sequence is renowned for its golden ratio that is found throughout our world. It starts with the first two terms as 1 and is formed with each subsequent term being the sum of the two previous terms (1, 1, 2, 3, 5, 8, 13,…). Suppose one wanted to know the sum of every even term less than 4 million. While the solution is straight forward, a little cleverness can be used to improve efficiency.

Read More