Switch Thumb

Coursework

I have had the opportunity to take many courses in Computer Science. Many of them had large project components; some of those projects are listed below. Many of my projects were much less visual; for a full listing of my coursework, click here.

  • Cloud Computing

    Project description

    Andrew Gaubatz and I developed a virtual billboard application for our final project in Cloud Computing. It's goal was to be a simplified version of Dropbox, removing a folder structure in favor of a canvas that you can drag and drop files onto. It ran on an EC2 instance, using S3 for file storage, RDS to manage metadata, and Facebook for authentication. The project turned out very polished; users could drag and drop files to the browser window the application was running in while the upload occurred in the background.

    Spring 2012 Pair in PHP, Javascript, and MySQL
  • Graduate Algorithms

    Project description

    As a project for a course in graduate algorithms, I worked with Peter Chapman to write a solution to the Slitherlink puzzle, which looks to create a single cycle around squares where all numbered boxes have exactly that number of edges surrounding them. Prior to our efforts, this problem was proven NP-complete with a reduction from Hamiltonian Path. We looked into the subset of 2-by-N boards, and were able to develop a linear-time solution that doesn't consider squares numbered 0. From there, a quadratic-time approximation was made to satisfy approximately 2/3 of all numerical constraints.

    Fall 2011 Pair in Java
  • Human-Computer Interaction

    Project description

    Control Your Typing began as a project for a course in Human-Computer Interaction with Andrew Gaubatz, Jared Harding, Adelin Miloslavov, and Dan Magnusson. The project aims to improve text entry using a standard game controller. Consoles currently bring up a standard qwerty keyboard for users to navigate through letter by letter, but this is highly inefficient. Although voice entry is becoming popular, for complex messages an improved interface is necessary.

    There has been some previous efforts to explore new interfaces; we will suggest a new interface and compare it against other proposed alternatives. We are currently applying for IRB approval and will test participants in the Spring.

    Spring 2011 Class project of five, research project pair, in C#
  • Computer Vision

    Project description

    In Computer Vision, we studied concepts of image and video processing to identify important features. The first project was to implement a Canny edge detector and a basic corner detector. We then implemented a face detector based on the average face of our class and began exploring the concept of eigenfaces. We then visualized optical flow between successive frames of a video sequence. The last assignment was to calculate the distance of various objects from a reference point using stereo vision techniques.

    For my final project, I implemented the Efros and Leung approach to texture synthesis, by which a small texture can procedurally generate a much larger one.

    Spring 2011 Individual project in Matlab
  • Game Design

    Project description

    Throughout Game Design, I made three games. Itten, pictured on the left, was a 3D puzzle game in which the player attempts to direct the flow of particles towards a paint canister. The environment starts off in grayscale and as each of red, green, and blue get added, the environment fills with those colors.

    In addition to Itten, I worked on teams developing a client/server destructible terrain game in Flash and a Source Engine mod in C++.

    Spring 2010 Team of three in C#
  • Computer Graphics

    Project description

    My Computer Graphics course began began by implementing simple resampling algorithms and image filters. From there we moved to casting rays into a scene, handling reflections, refractions, and object transformations. After a brief introduction to OpenGL, we began looking at animation interpolation techniques.

    The picture on the left is part of a scene rendered in OpenGL.

    Spring 2010 Individual project in C++
Copyright © 2012 Daniel Epstein - All Rights Reserved. Design by iStoreDesigns