Dr. Jonathan Mooser's CV: Computer Vision Expert Seeks Software Dev Role
1. Dr. Jonathan Mooser
PhD, Computer Science,
University of Southern California
(323)363-9782 1309 N. Coronado St.
mooser@graphics.usc.edu Los Angeles, CA 90026
jonmooser@gmail.com
http://graphics.usc.edu/~mooser
OBJECTIVE
To find a software development position with a strong R&D emphasis in the areas of computer vision, computer graphics, or machine
learning. I hope to begin following the completion of my PhD.
EDUCATION
University of Southern California. Los Angeles, CA
PhD, Computer Science, Dec. 2009
GPA: 3.97
University of Southern California. Los Angeles, CA
Master of Science, Computer Science (Multimedia and Creative Technologies), Aug 2005
GPA: 3.96
Columbia University. New York, NY.
BA Double Concentration: Physics and Computer Science, May 1994
GPA: 3.46
SKILLS
• Research: Computer Vision, Machine Learning, Computer Graphics, Augmented Reality, Pattern Matching, Probability
Theory.
• Programming: C/C++, OpenGL, OpenCV, Java, Matlab, .NET, C#, Visual Basic, PocketPC, SQL, MFC, HTML, JDBC.
WORK EXPERIENCE
10/2009 – Present
Software Engineer
Facebook, Palo Alto, CA
• Contributed to the Facebook web site and internal tools.
06/2005 – 10/9009
Research Assistant
University of Southern California, CGIT Lab, Los Angeles, CA
• Conducted research and software development in the fields of Computer Vision and Augmented Reality.
• Developed novel recognition and tracking algorithms using state of the art computer vision techniques including optical flow,
approximate nearest neighbor searches, structure-from-motion, and graph-cut segmentation.
• Designed a “3D mouse” system that allows a camera to be used as a pointing device by combining optical flow with a novel
hidden Markov model algorithm.
• Published six research papers at major conferences in the fields of AR and visual tracking for AR.
• Invented “TriCodes,” a barcode-like system of visual patterns to aide in the development of large-scale AR systems.
• Implemented a flexible, reconfigurable AR application on both Windows and Pocket PC using OpenGL as part of CiSoft’s
Smart Oilfield initiative.
• Managed software development interns implementing software solutions and demos.
2. 9/2008 – 12/2008
PhD Student Intern
HITLab, University of Canterbury, Christchurch, New Zealand
• Conducted research and software development in the fields of Computer Vision and Augmented Reality.
• Contributed to the university research community by providing consultation and advice to fellow students working in
Computer Vision.
• Delivered guest lectures on my research contributions.
09/2004 – 05/2005
Lead Developer
University of Southern California, IMSC Lab, Los Angeles, CA
• Lead technical development of a multiplayer game that uses GPS and wireless LAN technology to track player movements
throughout the USC campus and maintain game-state data on a central server.
• Wrote Windows and PocketPC code to implement client/server networking, GPS functionality, and 2D and 3D graphics.
04/2002 - 12/2003
Lead Software Engineer
The Vendare Group, Inc., Sherman Oaks, CA
• Designed, built, and administered a Windows service using C# with ADO.NET to transfers user data to various partners in real
time via HTTP.
• Created Video Poker for Jackpot.com using ASP and SQL Server 2000, responsible for all technical design decisions and
technical project oversight.
• Added JSP, Java Servlet, JDBC and SQL code to BigPrizes.com to interface with the Vendare Group user tracking system that
records registration statistics by advertiser and campaign.
• Designed and built a general-purpose weather site using ASP.NET, C# and SQL. The site includes a .NET Windows service
that downloads and parses XML weather feeds from Intellicast.com,.
• Designed and built NCAA Bracket Blast, Fantasy NASCAR, and Fantasy PGA Golf for FoxSports.com and Maximonline.com
using ASP, Javascript, and PL/SQL, responsible for all technical design and implementation decisions. The games included
credit card token purchases, a user interface to create and edit teams, real-time results processing using an XML feed from
Sportsticker.com, and back-end tools to report winners and usage statistics.
• Designed and built an enterprise wide prize fulfillment system using ASP.NET, C# and SQL for all cash and merchandise
prizes on all games, responsible for all technical design and implementation decisions through the entire lifecycle of the
project.
06/2000-07/2001
Director of Enterprise Applications
StarMedia Networks, Inc., New York, NY
• Managed the development of the corporate intranet, StarMedia Central, through its entire life cycle, using ASP, HTML,
JavaScript, Crystal Reports, Visual Basic COM+ objects, and MTS to access a clustered SQL Server database from IIS 4.0.
The intranet provides tools for all global employees, including news and research, decision support, employee forms,
discussion forums, document sharing, IT help desk, and a corporate directory.
• Implemented a multilingual document management system that allows administrators to upload content in English, Spanish,
and Portuguese and users to browse, search and download files.
• Worked with Human Resources to develop a SQL Server database schema to store all organizational, contact, compensation,
and benefit information for all StarMedia employees in all global offices.
• Directed the Enterprise Applications Group within the Information Technology department, responsible for all management,
scheduling, and resource allocation.
11/1999 – 05/2000
Lead Programmer
EFoodies.com, New York, NY
• Designed, managed, and programmed a three-tier server architecture, consisting of ASP pages, C++ and Visual Basic COM
object middleware, and back-end SQL database code. Built the eFoodies database schema using MS SQL server, creating all
tables, indexes, T-SQL stored procedures, and triggers. The stored procedures provided a single, modular layer of
functionality to the web server.
• Created reporting tools to extract usage data and other statistics from the SQL database.
• Created an administration toolset in MS Access so that administrators could view and change site content from anywhere on
the Internet.
• Administered the eFoodies SQL database, implementing and maintaining all SQL Agent backup jobs and all security policies.
• Programmed eFoodies middleware COM objects in Visual Basic, allowing front-end ASP pages to access data through a
consistent, scalable API.
3/1997 − 11/1999
Game Developer
3. Playlink division of UGO, New York, NY
• Engineered an automated software installation and updating system in Java that allows users to log on once, see which games
are uninstalled or out of date, and choose what to download accordingly. The program uses HTTP sockets to download data
from the server.
• Built a Java animation engine, providing tools to create smooth system-adaptive animations using the Java AWT.
• Developed Java code to interface with two third party ad servers, a Real Media Open Ad Stream server and the Net Gravity
server. The code allowed Java applications to download and display banner ads exactly like a web browser, so that the ad
server can maintain accurate impression and click-through statistics.
• Designed, produced, and programmed Mad March, an arcade-style online Java game.
• Designed, produced, and programmed Blocktionary and Contortion, two multi-player online Java word games.
• Enhanced and debugged a network monitoring application that oversees the Playlink server and notifies systems engineers in
case of failure.
• Assisted in the development and maintenance of a system of load testing “robots” used to simulate several thousand users
simultaneously connected to the Playlink server.
6/1994 – 3/1997
Children’s Television Workshop, New York, NY
Programmer II 2/96 – 3/97
• Assisted in enhancing and debugging Sesame Street: Elmo’s Preschool released July 1996.
• Provided initial technical oversight and game implementation for Sesame Street: Search and Learn Adventure, released
August 1996.
• Designed and developed a bitmap processing tool in C++ for the creation and management of onscreen text now used in the
production of a line of interactive storybooks.
• Implemented a series of generalized game templates, used in conjunction with the existing CTW C++ game engine in the
design and creation of all CTW CD-ROMs.
• Acted as lead programmer for The Three Grouchketeers, the first in a series of interactive storybooks, responsible for the
implementation of all game designs and product functionality.
Programmer I 6/94 - 2/96
• Developed C++ code for the Windows version of the Sesame Street: Let’s Make a Word, a multimedia educational game for
children ages three to six shipped as a shrink-wrapped CD-ROM product.
• Reviewed and suggested changes in game and art design to ensure technical feasibility.
• Ported Sesame Street: Let’s Make a Word to the Macintosh, using Metrowerks Code Warrior C++.
• Debugged Macintosh C++ code to produce a hybrid CD version of Sesame Street: Let’s Make a Word.
• Acted as lead programmer for Sesame Street: Get Set to Learn, one of four pre-school titles listed in PC Magazine’s top 100
CD-ROMS, finalized on schedule and under budget.
• Expanded and modified the capabilities of a proprietary, object-oriented scripting language to use in the production of all
CTW CD-ROMs.
10/1992 - 5/1994
Programmer
Columbia Astrophysics Laboratory, New York, NY
• Designed LabVIEW and C language software on a Macintosh to drive instruments and to test an ultraviolet detector to be
flown on a rocket and a satellite.
• Wrote code for machine/machine and human/machine interface, working with instruments including a residual gas analyzer, a
GPIB controlled stepping motor, and a digital oscilloscope.
• Developed data acquisition and analysis software.
• Organized and maintained analog electronics.
• Trained junior programmers.
• Assisted in LAN management.
AWARDS AND FELLOWSHIPS
Engineering Fellowship, University of Southern California, Viterbi School of Engineering, 2005.
PUBLICATIONS
For a list of academic publications, please visit http://graphics.usc.edu/~mooser