Hey, I'm Garrett.

Broadly speaking, I am interested in software, hardware, math, and art. I enjoy extending the capabilities of open-source projects, developing algorithms to obtain a certain goal, and scripting repetitious tasks. I am interested in a wide range of different areas such as artificial intelligence, machine learning, robotics, computer vision, embedded systems, automobile safety systems, acoustics and fluids, and computer graphics.

Right now I'm working on a PhD in Computer Science and have been primarily focused on artificial intelligence and machine learning — in particular "adversarial transfer learning," drawing on work in the areas of generative adversarial networks (GANs) and domain adaptation.


Washington State University

Expected: May 2021
GPA: 4.0

PhD in Computer Science
Focus in Artificial Intelligence & Machine Learning

Walla Walla University

June 2016
GPA: 3.99

B.S. in Engineering: Concentration in Computer Engineering
Minor in Mathematics


  • General - Research, programming, debugging, teaching, self motivation
  • Languages - Python, C++, C, Bash, JavaScript, SQL, PHP, HTML, CSS, Matlab, LaTex, [ARM Neon and assembly, Prolog, Lisp, APL, Snobol, Swift, VHDL, APDL, ...]
  • Tools - TensorFlow, Numpy, ROS, Nevergrad, Yocto, GStreamer, Scikit-learn, Tornado, PyMC, Boost, OpenCL, OpenCV, Jupyter, CppCMS, Eigen, Qt, PoDoFo, Docker, git, ...
  • Embedded systems - NVidia Jetson, Raspberry Pi, Arduino, Wandboard, Mbed, Gumstix, Pixhawk


Research Assistant

August 2017 - Present
Washington State University
  • Comparing random forest (Scikit-learn) and deep activity learning (TensorFlow), various feature sets, domain adaptation and generalization, hyperparameter tuning with Nevergrad
  • Implementing Variational Recurrent Adversarial Domain Adaptation in TensorFlow (authors did not publish code)
  • Robotic Activity Support (RAS) project to help older adults retain functional independence longer
  • Created object detection datasets for use with YOLO and Tensorflow
  • Trained CNNs on a high performance computing cluster with Slurm
  • By writing Python ROS nodes, integrated object detection, finding 3D coordinates of objects from bounding boxes and point clouds, saving/querying locations to/from database, and controlling the Turtlebot 2 and 3
  • Set up and included the Arduino camera pan-tilt in the robot model
  • Wrote webpage for human interface on a tablet using roslibjs
  • Helped with debugging navigation issues, creation of state machines with SMACH, and integrating all components together
  • Helped drive robot during user experiments since complete autonomy was not functional at that point


Summers of 2013, 2014, 2015
Solution Engineering, Inc.
  • Developed and tested a UAV vision landing system prototype with Piccolo and Pixhawk autopilots
  • Accelerate algorithms with Arm Neon and OpenCL allowing a PID controller to run in real time
  • Corrected Raspberry Pi camera driver stride length calculation and Qt Gstreamer YUV to RGB color conversion
  • Developed Gstreamer workaround for unreleased buffers in camera driver and integrated Qt GStreamer into a Qt QML app
  • Created Yocto Project layer for embedded Linux setup with Gumstix camera
  • Developed in-house Windows Phone app for balancing UAV motors
  • Rewrote Matlab code for Kalman filter in C++ with unit tests

STEM Instructor

Summers of 2016, 2017
Sunset Lake Camp
  • Taught game programming with Unity, Boolean and fuzzy logic with Lego Mindstorms, and RF propagation with a "fox" hunt
  • Led students building a hydraulic claw, surface-mount Softrock SDR kit, and through-hole soldering a Velleman Microbug kit
  • Built an inexpensive 2-axis hanging CNC drawing machine using an Arduino

High School Math & Computer Teacher

August 2016 - June 2017
Yap SDA School, Micronesia
  • Taught 8th grade math, Algebra 1, Geometry, Algebra 2, Precalculus, and 1 semester of 12th grade computers
  • Configured / managed a lab with 18 Windows computers using WDS and batch script unattended software installs
  • iTALC for monitoring, mandatory user profiles on server and software restriction policies for student accounts


  • Wilson, G., Cook, D. (2018). Adversarial Transfer Learning. Manuscript submitted for publication. Preprint:
  • Wilson, G., Pereyda, C., Raghunath, N., de la Cruz, G., Goel, S., Nesaei, S., Minor, B., Schmitter-Edgecombe, M., Taylor, M.E., Cook, D.J., Robot-Enabled Support of Daily Activities in Smart Home Environments, Cognitive Systems Research (2018), doi:


  • Vision Landing UAV - dataset creation, TF object detection, streaming for off-board processing
    2018 - 2019
  • Computer Voice Control - Google Assistant, Dialogflow, Tornado/nginx web hooks and sockets, OAuth2
  • Thermal Soaring UAV - Bayesian methods vs. GP regression, 2 autopilot C++/Python network interfaces
    2014 - 2016
  • Bubble Form Grading - load PDF, image processing, C++ threading, AJAX web UI, CppCMS backend
    2012 - 2014
  • DHCP Spoofing Prevention - ebtables attack prevention in Mininet, Linux per-process filesystem mounts
  • Collaborative Quiz Website - peak of 1800 monthly visitors, 4 rewrites, used PHP, AJAX, and SQL
    2007 - 2013
  • School Bell System - C++ on Raspberry Pi monitors XML file enabling by serial or GPIO, web frontend
    2011 - 2012


  • Directed Study in Computer Science: Deep Learning
    CptS 595
  • Artificial Intelligence
    CptS 540
  • Structured Prediction
    CptS 580
  • Computational Genomics
    CptS 571
  • Machine Learning
    CptS 570
  • Numerical Analysis
    CptS 530
  • Advanced Algorithms
    CptS 515
  • Gerontechnology I & II
    CptS 485, 486
  • Mobile Application Development
    CptS 479
  • Intro to Artificial Intelligence
    CPTR 445
  • Intro to Database Systems
    CPTR 414
  • Intro to Networking & Computer I/O
    CPTR 425
  • Digital Control Systems
    ENGR 454
  • Digital Design
    ENGR 433
  • Software Engineering
    CPTR 435
  • Engineering Finite Element Methods
    ENGR 468



  • Moahmoud M. Dillsi Family Graduate Fellowship
  • EECS Harold P. Curtis Scholarship
  • Walla Walla University Achievement Scholarship
  • Jensen Math Scholarship
  • Walla Walla University Leadership Award


  • ACM Transactions on Intelligent Systems and Technology