- Ph.D., Computer Science & Engineering, University of Washington 2016.
Thesis: High performance parallel systems for data-intensive computing
- M.S., Computer Science & Engineering, University of Washington 2012.
- B.S., High Honors, Electrical Engineering & Computer Science, University of California, Berkeley 2010.
University of Iowa - Lecturer Aug 2016 - present
Develop and deliver courses in Computer Science at all levels. Conduct scholarship of teaching and learning projects.
University of Washington - Research Assistant Sep 2010 - July 2016
mentors Mark Oskin and Bill Howe
Conducted research in parallel computing, data management systems, and compilers
Microsoft - Research intern Jun 2013 - Oct 2013
mentors Byung-Gon Chun and Rusty Sears
Improved data plane performance, explored iterative and asynchronous algorithms, fixed bugs in Apache REEF
Amazon.com - Software design intern May 2009 - Sep 2009
mentor Brad Porter
Center of Integrated Nanomechanical Systems (COINS), UC Berkeley - Software developer Oct 2008 - May 2009
mentor Jeffrey Grossman
Developed physics simulation tools for nanohub.org
Amazon.com - Software development intern May 2008 - Sep 2008
mentor Adam Berlinsky-Schine
Developed UI and data collection for order fulfillment traffic
- 2018 Fall, UIowa, CS 2230 Data Structures and Algorithms
- 2018 Fall, UIowa, CS 2630 Computer Organization
- 2018 Spring, UIowa, CS 2230 Data Structures and Algorithms
- 2018 Spring, UIowa, CS 2630 Computer Organization
- 2018 Spring, UIowa, CS 4980 Special Topics II, Application-specific processors
- 2017 Fall, UIowa, CS 1000 First year seminar
- 2017 Fall, UIowa, CS 2230 Data Structures & Algorithms
- 2017 Fall, UIowa, CS 2630 Computer Organization
- 2017 Summer, UIowa, CS 2630 Computer Organization
- 2017 Spring, UIowa, CS 2230 Data Structures & Algorithms
- 2017 Spring, UIowa, CS 4400 Database Systems
- 2017 Spring, UIowa, CS 2630 Computer Organization
- 2016 Fall, UIowa, CS 2630 Computer Organization
- 2016 Fall, UIowa, CS 4400 Database Systems
- 2015 Winter, UW, CSE 374 Programming Concepts and Tools
High-performance parallel systems for data-intensive computing.
In Ph.D. thesis, University of Washington 2016.
Supporting Guided Inquiry with Cooperative Learning in Computer Organization.
In SIGCSE (to appear) 2019.
Apache REEF: Retainable Evaluator Execution Framework.
In TOCS 2017.
The Myria Big Data Management and Analytics System and Cloud Service.
In Conference on Innovative Data Systems Research (CIDR) 2017.
Compiling queries for high-performance computing.
In Technical Report UW-CSE-16-02-02, University of Washington 2016.
Latency-Tolerant Software Distributed Shared Memory.
In USENIX ATC (Best Paper Award) 2015.
REEF: Retainable Evaluator Execution Framework.
In SIGMOD 2015.
Integrating query processing with parallel languages.
In Ph.D. Symposium @ ICDE 2015.
Grappa: A Latency-Tolerant Runtime for Large-Scale Irregular Applications.
In WRSC @ Eurosys 2014.
Flat Combining Synchronized Global Data Structures.
In PGAS 2013.
Pomace: a Grappa for Non-Volatile Memory.
In NVMW 2013.
Compiled Plans for In-Memory Path-Counting Queries.
In IMDM @ VLDB 2013.
Do we need a crystal ball for task migration?.
In USENIX HotPar 2012.
Crunching Large Graphs with Commodity Processors.
In USENIX HotPar (HotPar'11) 2011.
- 2017 SIGCSE Special Projects Award, Active learning materials for Computer Organization & Architecture
- 2018 University of Iowa, ICRU Research Fellows Program
- 2018 University of Iowa, Teaching in Higher Education Travel Grant
- 2018 University of Iowa, Innovations in Teaching with Technology Award, Learning to build tomorrow's computing
- 2017 University of Iowa, Research or Professional development funds for teaching a First year seminar
- 2015 USENIX ATC Best paper award, Grappa: A Latency-Tolerant Runtime for Large-Scale Irregular Applications
- 2011 NSF, Graduate Research Fellowship (Honorable mention)
- 2005 Eagle Scout
Conference and Workshop talks
- "Integrating query processing with parallel languages". PhD Symposium @ ICDE 2015, Seoul, South Korea.
- "Compiled Plans for In-memory Path-counting Queries". IMDM @ VLDB 2013, Trento, Italy.
- "Do We Need a Crystal Ball for Task Migration?". HotPar 2012, University of California, Berkeley.
- "Memory Concurrency and Crunching Large Graphs with Commodity Processors". Cascadia FPGA Workshop 2011, University of Washington.
- Guided Inquiry in Computer Organization. University of Illinois Urbana-Champaign, Nov 2018.
- Active Learning Materials for Computer Architecture and Organization. STEM Collaborative Symposium, May 2018.
- Active Learning Materials for Computer Architecture and Organization. Iowa Undergraduate Computer Science Consortium, April 2018.
- Integrating query processing with parallel languages. IEEE HPEC, September 2015.
- Integrating query processing with parallel languages. University of Utah, ECE, May 2015.
- Integrating query processing with parallel languages. Seoul National University, CSE, April 2015.
- How to make queries go fast and play nice with parallel languages. UW CSE Industrial Affiliates, October 2014.
- Reviewer, Papers, CompEd 2019
- Reviewer, Papers, SIGCSE 2019
- Session chair, SIGCSE 2018
- Reviewer, Papers, SIGCSE 2018
- Reviewer, Demos, SIGCSE 2018
- Reviewer, Papers, ITiCSE 2018
- Reviewer, Journal of Functional Programming, 2017
- Reviewer, Papers, ITiCSE 2017
- Reviewer, Tips Tricks & Courseware, ITiCSE 2017
- Reviewer, Student Research Competition SIGCSE 2017
- Reviewer, Demos SIGCSE 2017
- External reviewer, Workshop on Irregular Applications @ Supercomputing 2015
- External reviewer, Journal of Parallel and Distributed Computing (JPDS) 2014
- External reviewer, Symposium on Cloud Computing (SoCC) 2013
Honors contract, University of Iowa
- 2017, Kevin Blicharski, Data Structures and Algorithms, An efficient AI for minesweeper puzzles
- 2017, Harley Waldstein, Data Structures and Algorithms, Building a query engine for the UI course catalog
- 2017, Kallin Khan, Computer Oganization, Code Optimization in the MIPS assembly language
Independent Study, University of Iowa
- 2017, Kevin Blicharski
Undergraduate research, University of Washington
- 2016, Iris Wang, Studying the tradeoffs between performance and reliability in big data processing systems
- 2014 - 2015, York Wei, Middleware for data intensive systems
- 2018, POGIL Writer's Retreat
- 2018, POGIL 3-day Training
- 2017 - present, Learning Design Collaboratory Faculty Fellow, University of Iowa
- Re-designing large lecture courses
- 2017 - 2018, Empirical CSEd cohort member
- 2017, Course Design Institute, University of Iowa
- 2016, TILE Essentials Training, University of Iowa
Volunteer teaching and outreach
- Summer 2018, Summer 2017. Academic partner for Sibling Program, University of Iowa
- Jan 2014 - Jun 2016. Instructor for the Mountaineers
- Jun 2012 - Aug 2012. Mentor for Saturday Computing Experience with Richard Ladner
- 2012 Spring, 2011 Spring, 2011 Winter - K-12 computing education seminar and Computer Science Unplugged activities
- March 2012 - Paws On Science - Blind Access to Science
- 2011 Fall, 2011 Winter, 2010 Fall - Tutor for CSE 351 Hardware/Software Interface
- 2016 Spring, 2011 Spring - Tutor for CSE 332 Data Abstractions
- 2008 - 2009 - Tutor for EECS courses (Eta Kappa Nu)
- 2013 Spring, UW, CSE 471 Computer Architecture with Susan Eggers
- 2013 Winter, UW, CSEP 524 Parallel Computation with Brad Chamberlain
- 2010 Spring, UC Berkeley, CS150 Digital system design (senior design) with John Wawrzynek
Local professional service
Computer Science, University of Iowa
- 2018-2019, Faculty Sponsor for ACM Chapter
Computer Science & Engineering, University of Washington
- 2015, Faculty recruiting co-liaison
- 2014, Coordinator for New Grads Mentor Program
- 2011-2013, New Grads Mentor
- 2012, 2013, Ph.D. application reader
Electrical Engineering & Computer Science, University of California, Berkeley
- 2008 - 2009, Historian, IEEE Eta Kappa Nu (HKN)
- prepared annual chapter report to win 2008-2009 Outstanding Chapter Award
Selected software projects
- Raco: relational algebra optimizer
- Radish: query compiler backend for distributed systems
- Grappa: C++-embedded partitioned global address space (PGAS) language
- Crimp: certified relational query to imperative language compiler
- REEF: application framework on Hadoop YARN
- Active Learning Materials for Computer Architecture and Organization, SIGCSE 2018 (Abstract, Poster).
- Compiled query plans using high performance parallel languages, Intel Science & Technology Center for Big Data Retreat 2015.
- Grappa: PGAS for Irregular Applications, PGAS booth, IEEE Supercomputing 2014.
- Grappa: enabling next-generation analytics tools via latency-tolerant distributed shared memory, USENIX OSDI 2014.
- REEF: Retainable evaluator execution framework, Demos @ VLDB 2013.