Education
Ph.D. Computer Science -- Machine Learning and Optimization
  • 2003 - 2006
  • Brigham Young University
  • Provo, UT
  • Graduated August 2006
  • 4.0 GPA
  • Phi-Kappa-Phi Honor Society Member
MS Computer Science -- Machine Learning (RL emphasis)
  • 2002 - 2003
  • Brigham Young University
  • Provo, UT
  • Graduated August 2003
  • 4.0 GPA
BS Electrical Engineering with Math Minor
  • 1992 - 1998
  • Brigham Young University
  • Provo, UT
  • Graduated Cum Laude December 1998
  • 3.81 GPA
Publications
  • Monson, C. K., Seppi, K. D., Confident but Weakly-Informed: Tackling PSO's Momentum Conundrum, In Proceedings of the IEEE Symposium Series on Computational Intelligence (IEEE SSCI 2014), Orlando, Florida, 2014
  • Monson, C. K., Seppi, K. D., Under-Informed Momentum in PSO, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2014), Vancouver, British Columbia, Canada, 2014
  • Monson, C. K., Simple Adaptive Cognition for PSO, In Proceedings of the Congress on Evolutionary Computation (CEC 2011), New Orleans, Louisiana, 2011
  • Monson, C. K., Seppi, K. D., and Carroll, J, A Graphical Model for Evolutionary Optimization, Evolutionary Computation Journal (2008), 16(3):289-313
  • Carroll, J., Monson, C. K., and Seppi, K. D., A Bayesian CMAC for High-Assurance Supervised Learning, In Proceedings of the International Joint Conference on Neural Networks Workshop on Applications of Neural Networks in High-Assurance Systems 2007, Orlando, FL, 2007
  • McNabb, A. W., Monson, C. K., and Seppi, K. D., Parallel PSO Using MapReduce, In Proceedings of the Congress on Evolutionary Computation (CEC 2007), Singapore, 2007
  • Monson, C. K., Seppi, K. D., and Carroll, J. A Utile Function Optimizer, In Proceedings of the Congress on Evolutionary Computation (CEC 2007), Singapore, 2007
  • McNabb, A. W., Monson, C. K., and Seppi, K. D., MRPSO: MapReduce Particle Swarm Optimization, In Proceedings of the Genetic and Evolutionary Computation Conference Poster Session (GECCO 2007), London, England
  • Monson, C. K., No Free Lunch, Bayesian Inference, and Utility: A Decision-Theoretic Approach to Optimization, Ph.D. Dissertation, Brigham Young University Department of Computer Science, 2006
  • Monson, C. K. and Seppi, K. D., Adaptive Diversity in PSO, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2006), Seattle, Washington, 2006
  • Mullen, P. B., Monson, C. K, and Seppi, K. D., Particle Swarm Optimization in Dynamic Pricing, In Proceedings of the Congress on Evolutionary Computation (CEC 2006), Vancouver, B.C., 2006
  • Monson, C. K. and Seppi, K. D., Linear Equality Constraints and Homomorphous Mappings in PSO, In Proceedings of the Congress on Evolutionary Computation (CEC 2005), Edinburgh, U.K., 2005
  • Monson, C. K., Seppi, K. D., Exposing Origin-Seeking Bias in PSO, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2005) (to appear), Washington, D. C., 2005
  • Monson, C. K., Seppi, K. D., Bayesian Optimization Models for Particle Swarms, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2005) (to appear), Washington, D. C., 2005
  • Monson, C. K. and Seppi, K. D., Improving on the Kalman Swarm: Extracting Its Essential Characteristics, In Late Breaking Papers of the Genetic and Evolutionary Computation Conference (GECCO 2004), Seattle, Washington, 2004
  • Monson, C. K. and Seppi, K. D., The Kalman Swarm: A New Approach to Particle Motion in Swarm Optimization, In Proceedings of the Genetic and Evolutionary Computation Conference (GECCO 2004), Seattle, Washington, pp. 140-150, 2004
  • Monson, C. K., Wingate, D., Seppi, K. D., and Peterson, T. S., Variable Resolution Discretization in the Joint Space, In Proceedings of the International Conference on Machine Learning and Applications (ICMLA 2004), Louisville, Kentucky, 2004
  • Monson, C. K., Reinforcement Learning in the Joint Space: Value Iteration in Worlds with Continuous States and Actions, Master's Thesis, Brigham Young University Department of Computer Science, 2003
Patents
  • Yunkai Zhou, Christopher K. Monson, Mark Palatucci, Niels Provos, Panayiotis Macrommatis, Kamal P. Nigam, Rachel Nakauchi, Clayton W. Bavor, Jr., Eric Davis: Intrusive Software Management, (US 8,515,896), Filed October 2007
  • Yunkai Zhou, Christopher K. Monson, Mark Palatucci, Niels Provos, Panayiotis Macrommatis, Kamal P. Nigam, Rachel Nakauchi, Clayton W. Bavor, Jr., Eric Davis: Detecting an Intrusive Landing Page, (US 8,019,700), Filed October 2007
  • Yunkai Zhou, Christopher K. Monson, Mark Palatucci, Niels Provos, Panayiotis Macrommatis, Kamal P. Nigam, Rachel Nakauchi, Clayton W. Bavor, Jr., Eric Davis: Intrusive Feature Classification Model, (US 7,991,710), Filed March 2008
Open Source Projects
Work Experience
Senior Software Engineer
  • March 2014 - Present
  • Google, Inc.
  • Washington, D.C.; New York City, NY; Baltimore, MD
  • Elections Search Results and Civic Now Cards
  • Chrome iOS, 20% time for a few months
  • Machine Learning for predictive hiring
  • Volunteer Python readability reviewer
  • Various recruiting and speaking engagements at BYU
Research Scientist
  • January 2014 - March 2014
  • Data Tactics Corporation
  • McLean, VA
  • Worked on the XData project, specifically Go Circuit (in Go, of course). Built filesystem-based (Fuse) networked concurrency primitives: create, mutex, channel, and select.
Research Scientist
  • February 2013 - December 2013
  • Harbor Labs, LLC.
  • Owings Mills, MD
  • Technical expert report drafting, patent non-infringement and invalidity.
  • Prior art research and report drafting.
  • Code review and evidence collection for patent infringement and non-infringement experts.
  • System design and practice review for content owners.
  • Ongoing research on Bayesian methods for image understanding and particle swarm optimization.
Senior Software Engineer
  • May 2006 - February 2013
  • Google, Inc.
  • Mountain View, CA; Pittsburgh, PA; Zürich, Switzerland
  • Enormous-scale machine learning for ads click prediction
  • AdSense for Search Tech Lead - team of 8 engineers
    • Made modeling improvements with direct and substantial impact on revenue.
    • Made the "Top 10 Accomplishments at Google" list for Q1 2010
  • AdSense for Content - Predictions
  • Regional Maps Data work - Tech Lead at Zürich office.
  • Site Reliability Engineer in Ads Predictions ("root@google")
  • Search Quality Projects - received an Executive Management Group award.
  • Gears-based YouTube uploader
  • Teaching and speaking engagements:
    • Invited talk at Rice University on Bayesian optimization models
    • Guest lecturer at the University of Pittsburgh (Google technologies)
    • Internal Python Training (instructor)
    • CMU 15-505: Internet Search Technologies (instructor)
    • BYU "Why Graduate School?" talk (invited speaker two consecutive years)
  • Volunteer Python readability reviewer - keeping the codebase clean
Engineering Intern
  • May 2005 - September 2005
  • Google, Inc.
  • Mountain View, CA
    • Statistical machine translation - received an Operating Committee award.
Graduate Instructor
  • January 2005 - May 2005
  • Brigham Young University
  • Provo, UT
  • Graduate-level Artificial Intelligence class. Completely overhauled curriculum, wrote new assignments, labs, and tests, and did all of the TA stuff, too, since I didn't have a TA. One of the most enjoyable things I have ever done. Got excellent reviews.
Teaching Assistant
  • January 2002 - January 2005
  • Brigham Young University
  • Provo, UT
  • Freshman introductory CS course. Held (insane but amazing) office hours, gave lectures, graded work, etc. TA stuff.
  • Second-year data structures course. Rewrote entire curriculum, including lectures, assignments, and tests during off hours, when not doing standard TA stuff. New changes officially adopted and integrated.
  • Graduate-level Bayesian Statistics for Machine Learning course. Standard TA stuff, plus developing curriculum and creating tests and assignments.
Adjunct Professor of Computer Science
  • August 2001 - December 2001
  • Utah Valley State College (now UVU)
  • Provo, UT
  • Taught discrete mathematics for CS students. Developed and delivered curriculum and lectures, wrote and administered tests, graded papers and programming labs, held office hours, basically did everything and loved all of it. The students did, too, and gave me glowing reviews. I was proud.
Chief Architect and Software Engineer
  • 2000 - 2002
  • Orangatango.com
  • Provo, UT
  • Migrated entire code base to a single-machine development environment, allowing for development in a sandboxed environment using CVS./li>
  • Designed and implemented high-performance template engine for Perl (HTML::CMTemplate) and Python (CMTemplate.py), used for all content in product.
  • Virtualized all data access, built implementations in Oracle, PostgreSQL, and XMLRPC.
  • Rearchitected to scale up using geographically distributed nodes.
  • Developed several management applications in Perl.
  • Co-designed and implemented Bayesian content filtering system as an Apache 2.0 module.
CTO and Software Engineer
  • 2000
  • PageLaunch.com, inc.
  • Provo, UT
  • Designed and implemented a free hosting architecture using PHP, Python, MySQL, QMail, and Apache 1.3 on Linux. The system included bandwidth and space-limiting features, a custom file manager, and administrative tools for the clients as well as the system administrator. The system was load-balanced and scalable in space, CPU, and bandwidth requirements using cheap Intel hardware and free software.
  • Developed an easy roll-out code structure to allow for updates of production servers with minimal service interruption.
  • Managed the technology team, including 4 developers, 1 network administrator, and 1 HTML designer. Assigned tasks and followed up on completion of various tools and web pages.
  • Set up and maintained a Bugzilla bug database.
  • Set up and maintained a CVS repository. Created a web interface for CVS updates on the test server.
Software and Systems Consultant
  • 2000
  • Linux2Order.com
  • Provo, UT
  • Assisted in moving web services to Apache on Linux from IIS on WinNT.
  • Assisted in the configuration of a backend Oracle database.
  • Assisted in the administration of an Apache Web Server with SSL.
  • Trained programmers on the use of CGI to create dynamic archives for immediate download.
Software Consultant
  • 1996 - 2000 (Evening Job)
  • Aptex Video
  • Provo, UT
  • Wrote and maintained custom test and initialization (over RS-232) software used to drive analog LCD flat video screens using Delphi, C++ Builder, and limited x86 assembly.
  • Wrote and maintained a hardware licensing web site. Wrote code to perform secure communication over HTTP without the use of SSL. Wrote tools for administration of the license database over HTTP using Perl and MySQL.
Software Engineer
  • 1999 - 2000
  • Campus Pipeline
  • Salt Lake City, UT
  • Lead Engineer of small Intranet Web Development Team.
  • Designed and developed intranet applications in Perl, SQL (Oracle), HTML, JavaScript, and Java.
Software Engineer
  • 1997 - 1999
  • Access Data
  • Provo, UT
  • Developed and maintained Password Recovery Toolkit version 4.x for Windows using C++ Builder.
  • Assisted in development of Version 5.x using Visual C++.
  • Developed system models for clean plug-in integration and maintenance.
  • Developed compiled code obfuscation and licensing for product protection.
Skills and Experience
Programming, Web, and Databases
  • Go, Java, Python 2 & 3, C, C++, Bash, JavaScript, BigQuery, Google Apps Script (current)
  • HTML5, CSS (insofar as "productive" is even possible), AngularJS (experienced)
  • Perl, Make (experienced but rusty)
  • SQL dialects -- Oracle, MySQL, PostgreSQL (conversant)
  • PHP 3 & 4, Delphi (quite rusty but not overly concerned)
  • Haskell, Racket/Scheme, Clojure (varying levels of familiarity)
Other Experience
  • Google: MapReduce, Flume (MillWheel), Dremel (BigQuery), Borg, GFS and progeny, BigTable, Spanner, Chubby (Paxos)
  • Android - some experience writing apps, iOS - some experience with Chrome iOS maintenance
  • Google AppEngine