Byron Knoll
**** ***** ****, *********, ** V*T *K9 Canada
604-***-**** *****@**********.*** http://byronknoll.com
Education
University of British Columbia Vancouver, BC, Canada
M.Sc. Computer Science, 2009 to present
University of British Columbia Vancouver, BC, Canada
B.Sc. Double Major: Computer Science and Cognitive Systems (Cognition and Brain Stream), 2004 to 2009
Selected Coursework:
Computer Science Software Engineering Object-Oriented Programming Models of Computation
Functional and Logic Programming Computer Hardware and Operating Systems Algorithm
Design and Analysis Arti cial Intelligence Machine Learning and Data Mining Scienti c
Computing Relational Databases Bioinformatics Convex Optimization Computational
Linguistics Computer Vision
Mathematics Calculus Matrix Algebra Linear Programming Probability Statistics
Philosophy Logic and Critical Thinking Symbolic Logic Computability, Decidability, and Recursion
Theory Decision and Game Theory Perception Philosophy of Mind
Electrical and Computer Engineering Digital Logic Design Microcomputers
Psychology Biological and Cognitive Psychology Developmental, Social, Personality, and Clinical
Psychology Cognitive Neuroscience Neurobiological Bases of Behaviour Principles of Animal
Learning Principles of Animal Behaviour
Professional Experience
Google (May 2010 to August 2010)
Software Engineer in Test Intern
Performed data mining on test/compilation data to extract useful metrics.
20% project: implemented a Gmail Labs feature.
UBC Computer Science (September 2009 to December 2009)
Teaching Assistant
Graduate teaching assistant for Computer Science 322 (Arti cial Intelligence).
UBC Michael Smith Laboratories (May 2009 to August 2009)
Junior Bioinformatician
Designed and implemented a database system for storing the relationships between laboratories, activities,
experiments, and samples.
Compared di erent tools and algorithms for expressed sequence tag assembly. Designed a new algorithm to
cluster large amounts of data and perform sequence assembly in parallel. Applied the algorithm to assemble
the mountain pine beetle genome and sandalwood genome.
UBC Computer Science (September 2008 to December 2008)
Teaching Assistant
Undergraduate teaching assistant for Computer Science 121 (Models of Computation).
Microsoft (May 2008 to August 2008)
Software Development Engineer Intern
Summer internship as a software developer for O ce Live Workspace (http://workspace.o ce.live.com).
Worked on two product features. One of the features (user pro le page) was successfully launched during the
internship and is live on the website.
UBC Computer Science (May 2007 to April 2008, January 2010 to April 2010)
Research Assistant
Software developer for AIspace under supervision of Alan Mackworth and David Poole. AIspace is a
collection of Java applets used to teach fundamental arti cial intelligence concepts.
Designed the AIspace website (http://aispace.org).
UBC Psychology (September 2006 to May 2007)
Lab Assistant
Provided technical support for equipment and computers in the lab.
Designed the o cial lab website (http://www.psych.ubc.ca/~cjlab).
Helped design a survey website to collect data for a study.
Performed video editing.
Competitions
Advanced to semi- nals in Marathon category of TopCoder Open 2010.
Advanced to semi- nals in Game Design category of ImagineCup 2010.
Member of Thunderbots RoboCup team. Team leader for the arti cial intelligence module. Competed in
the RoboCup 2009 small size league competition in Austria and 2010 competition in Singapore.
Member of UBC* programming team. Placed 5th at the 2008 ACM International Collegiate Paci c
Northwest Programming Contest and 15th place at the 2009 contest.
Member of KeepItSimple BattleCode team. Competed in BattleCode 2009, placing 10th place (and 2nd
place in the non-MIT category).
Competed in the Robotics and Algorithm category of ImagineCup 2009. Advanced to the world nals in
Egypt and placed 2nd (winning a $4000 prize).
Competed in the IJCAI-09 AI Video Competition. Nominated for best short award.
Competed in the Net ix Prize competition.
Competed in several TopCoder/Google Code Jam/Al Zimmermann programming contests (2007-present).
Publications
Knoll, B., Kisy ski, J., Carenini, G., Conati, C., Mackworth, A., Poole, D. 2008. AIspace: Interactive Tools
n
for Learning Arti cial Intelligence. In Proceedings of the AAAI 2008 AI Education Workshop.
Academic Honors and Awards
University of British Columbia
Dean s Honor List (2004-2009)
NSERC Undergraduate Summer Research Award (summer 2007)
Trek Excellence Scholarship for Continuing Students (2006)
Science Scholar (2006)
Member of Golden Key International Honor Society (since 2006)
High School
Excellence award in Computer Science (12th grade)
National Honour Society (11th and 12th grades)
Three Certi cates of Excellence for volunteer social work (11th and 12th grades)
Two Tahr Pin hiking awards (10th and 12th grades)
Excellence award in Computers (9th grade)
Excellence award in Mathematics (9th grade)
Skills
Specialized in machine learning, arti cial intelligence, and algorithm design
Pro ciency in software development (in decreasing order of familiarity) using: Java, MATLAB, R, Perl, C#,
C, JavaScript, Prolog, C++, Python, Haskell, Assembly, Whitespace, Pascal, and QBasic
Familiarity with HTML, CSS, AJAX, SQL, PHP, L TEX, and JUnit
A
Familiarity with UNIX, GNU/Linux, and Win32
Activities
Attended ACM ICPC World Final as a guest (China, 2010)
Attended Neural Information Processing Systems conference (Vancouver, 2009)
Presented poster and demonstration about AIspace at AAAI conference (Chicago, 2008)
Presented poster about AIspace at e-Learning Open House (Vancouver, 2008)
Attended Visual Analytics conference (Vancouver, 2008)
Volunteered at Uncertainty in Arti cial Intelligence conference (Vancouver, 2007)
Attended Robotics for Society conference (Vancouver, 2007)
Yearbook committee/social committee (India, 2003/2004)
Assisted design of website for Kodaikanal International School (India, 2003)
Volunteered social service work, 90+ hours (India, 2002-2004)
Programming Projects
Program Name Team Size Programming Description
Language
Amnesia 4 Prolog Text adventure game.
Arlisy 1 C++ Neural network program.
(http://www.sourceforge.net/projects/arlisy)
Cryptomni 1 Java File encryption program using the one time pad cipher.
(http://www.sourceforge.net/projects/cryptomni)
EternityII 1 Java A solver for the Eternity II puzzle using stochastic local
search.
Fractal 1 Java The Mandelbrot set.
(http://byronknoll.com/fractal.html)
Jabberchat 4 Java Google Talk plugin for Eclipse.
Keyboard 2 Java Keyboard layout optimization program using stochastic
local search.
Marvin 4 Haskell Chatterbot using natural language processing.
Mona 1 Java Performs vectorization using stochastic local search.
Net ix Prize 1 Java Predicting user movie ratings using a neural network.
Nort 1 Java Two player game based on Tron.
(http://byronknoll.com/nort.html)
Music Library 1 Java MP3 organizing software.
Olymipicmaster 4 Java Ticket manager using a SQL database.
Padomni 1 Java Simple text editor.
Path Finder 3 C# A maze solver for tablet PCs (using A* search algorithm).
Pattern Recognition 1 Java Uses neural networks to predict temporal patterns.
(http://byronknoll.com/pattern.html)
PCA 1 Python Performs principal component analysis on a series of
images using singular value decomposition (SVD) and
projects them to a 2D display.
Ping 1 Java A simple game based on the classic game Pong.
(http://byronknoll.com/ping.html)
siarco 1 Java Arithmetic coding. (http://code.google.com/p/siarco)
Search Engine 1 Python Latent semantic indexing using SVD.
Soku 1 Java Simple game involving dodging soccer balls.
(http://byronknoll.com/soku.html)
Solar Hamster 4 C# Silverlight game made for ImagineCup 2010.
RPS 1 Java Rock, Paper, Scissors AI made using hierarchical
temporal memory. (http://byronknoll.com/ping.html)
Recognizer 1 C# Handwritten digit recognition using backpropagation
neural networks (achieves over 90% accuracy).
Swarm 1 Java A game which involves controlling a swarm of dots.
(http://byronknoll.com/swarm.html)
Tagger 1 Java Performs part-of-speech tagging using hidden Markov
models (achieves approximately 80% accuracy).
Thunderbots 3 C++ Designed and implemented the AI responsible for
controlling a team of ve robots for the RoboCup soccer
competition. Created a graphical simulator to test the AI.
Time Stop 1 C++ Time Stop is a 2D physics-based puzzle game. It uses the
Box2D physics engine and OpenGL.
(http://sourceforge.net/projects/time-stop)