Andrew Cameron
*B Systems Design Engineering, University of Waterloo
*** ********** *****, ******** **, N2T 3A1
********@*********.**
Skills SummaryExperienced with object-oriented programming and design:
2 years each with C/C++, MATLAB, and PythonExperienced in embedded development on multiple platforms,
including Arduino and PIC32Experienced in system modelling, analysis, and control,
with applications to thermodynamic, electromechanical, and
aerodynamic systemsExperienced in applying and implementing pattern
recognition theoryExperienced with GNU/Linux and Windows operating
systemsOther programming experience: R, Verilog, LaTeXBilingual; graduate of the BC French Immersion
program with work experience in Montréal and Ottawa
Work ExperienceWorkSmart Labs, Inc.Software Engineering Intern
May 2011 – September 2011
Performed unsupervised clustering to group related foods for
improved usability in meal-logging application; validated results.
Improved food search performance and usability on the Android
mobile platform by improving caching and by tokenizing search queries
for more intelligent search results.Improved user experience by designing and implementing
context-dependent volume adjustments to balance background music with
voice notifications and incoming calls.Aided Machine Learning consultant in exploratory data analysis
and visualization of findings.VBT Innovations, Inc., on contract for Shaw-Almex
IndustriesSystems Design Engineering Co-op
May 2010 – August 2010
Designed many components of an integrated process automation
system used on mining sites.Modelled thermodynamic process and analyzed model using
statistical techniques to aid in control system design.Developed user-side applications for the Android operating
system to control industrial machinery, with a focus on
usability.VBT Innovations, Inc.Senior Product Development Engineering Co-op
September 2009 – December 2009
Co-invented patent-pending core intellectual property for
flagship VBT product (US Pat. 12590009).Developed code to run on PIC32 microcontroller,
including pattern recognition algorithms and
analog signal acquisition.Mentored new co-op students, teaching them various pattern
recognition algorithms, design considerations, good coding
practices, etc., improving their productivity and work
quality.Convinced senior executives to migrate version control
systems from Subversion to Git; subsequently performed
migration and set up Gitosis to manage repository
administration.Product Development Engineering Co-op
January 2009 – April 2009
Designed and implemented an essential pattern recognition
algorithms in C++, improving the accuracy and efficiency of the
Virtual Button.Convinced senior executives to protect source code in a
version-control system; subsequently set up Subversion.Innovated and developed new features for the Virtual Button,
adding value to VBT's flagship product.Maintained and refactored existing LabVIEW codebase in
order to fix bugs, add new features, and improve code
maintainability.University of WaterlooResearch Assistant
May 2008 – August 2008
National Research Council of Canada
Institute for Aerospace ResearchEngineering Intern
September 2007 – December 2007
Planned, prepared, and surveyed outdoor testing area for
research experiment with dGPS hardware and software.Redesigned power system for research devices to be used in the
experiment, solving both temperature and charging problems.Coordinated with lead designer for software redesigns and
hardware modifications to research devices.Canadian Space AgencyRadarsat Planner – Client Support
January 2007 – April 2007
ExtracurricularsSoftware Development (personal projects)Created an application to crawl a popular social news
website and visualize relationships between categories.Currently developing an Android application to analyze the
call log and display statistics to the user, such as histograms
of call lengths, contact categorization based on frequency of
call and time of day, etc.2009 CAIAC Precarn Intelligent Systems Challenge
Applied various Intelligent Systems concepts to develop software
to recognize and classify maritime encounters between two vessels.
Concepts applied include feature extraction, pattern recognition,
and system identification. Developed software using Python.Project Euler – Level 1 Eulerian
Learning and applying mathematical and programmatic theory in order
to solve problems which usually cannot be solved by mathematical or
programmatic methods alone.Vice-President – University of Waterloo Photography ClubTeaching photographic technique and theory to inexperienced
club members.Preparing meeting topics and directing club meetings.Coordinating with external organizations to photograph their
events.
Awards and Scholarships4th Place – CAIAC Precarn
Intelligent Systems Challenge, 2009President's Scholarship –
University of Waterloo, 2006Euclid Math Contest School Champion –
Kelowna Secondary School, 2006BC Provincial Scholarship –
BC Ministry of Education, 2006Carl Dunaway Trophy (Outstanding Senior
Music Student) – Kelowna Secondary School,
2006
EducationUniversity of WaterlooCandidate for Bachelor of Applied Science, Honours Systems
Design Engineering
September 2006 – Present
Designed and implemented state estimation and linear
feedback control scheme for hang glider, tested in simulation
for fourth-year design project.Selected courses: Introduction to Control Systems;
Digital Control Applications; Multivariable Control Systems;
Statistics; Applied Statistics; Numerical Methods;
Engineering Optimization; Data Structures and Algorithms;
Digital Systems; Circuits, Instrumentation, and
Measurements