Ian Wetherbee
********@********.***
http://layer.cc
Education
University of Illinois at Urbana-Champaign
B.S. Computer Engineering
Graduation: May 2013
GPA: 3.6 (Tech: 3.7)
James Scholar Honors
Lincoln-Sudbury Regional High School
Courses
Core ECE
Intro to Computing Systems
Data Structures
Analog Signal Processing
Computer Engineering I
Intro to EM Fields
Computer Systems Engineering
Semiconductor Electronics
Digital Systems Lab
Electives
Indiv. Study - Parallel Programming
Applied Parallel Programming
Database Systems
Artificial Intelligence
Distributed Systems
Computer Security I
Technology Entrepreneurship
Senior Project/Thesis
Skills
Technologies
Python
Java
OpenCL/CUDA
C
HTML/CSS/JS
MySQL
Git
GDB
Linux
OpenCV
Interests
Parallel Computing
Distributed Systems
Security
Web Applications
Computer ArchitectureWork Experience
Google Software
Engineering Intern
Created a publish-subscribe protocol for Git repository updates to greatly reduce the
bandwidth and time needed to update many repositories (such as Android). Designed and
implemented the client and server in the JGit library.
May 2012 -
August 2012
Mtn View, CA
Google Software Engineering Intern
Built critical-path client-side features for a complex Google Web Toolkit/Java
application that was open-sourced as "Collide". Designed elegant subsystems with our UX
designer and implemented them quickly and efficiently while integrating with other
engineers in a large code base.
May 2011 -
August 2011
Atlanta, GA
Town of Sudbury Information Systems Programmer
Developed and launched sudbury.ma.us, and implemented new web and desktop applications to
increase productivity within departments.
June 2007 -
August 2010
Sudbury, MA
Projects & Teams
Marquee turntable.fm visualizations
Created a bookmarklet to overlay turntable.fm with a complex 3D music visualization,
driven by real music data. Reverse-engineered the Flash audio player to extract music
files and used signal processing to detect beats with a backend Python server.
Summer 2012
AccelJava
Built a compiler for easily embedding native C code inside Java applications. Supports
arrays and custom object field access from within C, and works with the Android NDK build
system.
Spring 2012
CUDA Artificial Intellgence for HL2 ECE408 Final Team Project
Replaced existing NPC combat AI algorithms with new fitness functions written in CUDA.
Used map geometry and player positions on the GPU to calculate optimal engagement
distance, cover, line-of-sight and more in parallel for multiple positions to find optimal
AI movement.
Fall 2011
FPGA Wireless IR Chat ECE385 Final Project
Implemented 2-way text chat in VHDL over IR transmitters/receivers from captured PS/2
keyboard input displayed to VGA monitors. Best class project.
Fall 2011
Semantic Commenting Service CS411 Final Project
Created an embeddable widget that focused user interaction on asking and responding to
questions instead of freeform commenting. Implemented secure IFrame communication to
embedded Javascript in third-party pages.
Fall 2011
Operating System ECE391 Final Team Project
Implemented a Linux-like operating system starting from a barebones bootloader. Features
included paging, interrupts, text terminal, basic filesystem, system call library, program
loader, multitasking+scheduling, memory page allocator.
Spring 2011Intelligent Ground Vehicle Robotics Team Vision/AI Leader
Led the Computer Vision/AI team responsible for obstacle detection, sensor integration,
environment mapping, localization, pathfinding and navigation for an autonomous robot.
Fall 2009
Fall 2010
Groups & Awards
Eta Kappa Nu Alpha Chapter
Director of Student Services, UIUC Electrical and Computer Engineering Honor Society.
Fall 2012IMPACT Research GroupUndergraduate Researcher
Creating tools and compilers to improve the parallel GPU programming developer experience
and kernel execution performance.
Fall 2010 - PresentEagle Scout
Held various leadership positions within the troop. Designed, permitted and led
construction of a raised boardwalk for my Eagle Project.
June 2009
Sudbury, M