Bryant K. Nelson, PhD (940) 902-5460 [email protected] bethune-bryant bryant-nelson

Education:  Doctor of Philosophy in Computer Science, Texas Tech University 2016 “Automatic Distributed Programming Using SequenceL”  Bachelor of Science in Computer Science, Texas Tech University 2012  Bachelor of Science in Mathematics, Texas Tech University 2012

Professional Experience:  Texas Multicore Technologies Inc., Software Development Engineer Jul 2012- Present Austin, Texas o Develop and extend the programming language, SequenceL, including work on the , , debugger and IDE. Develop and maintain the primary libraries shipped with SequenceL. o Work with companies porting existing projects to SequenceL to make use of multicore hardware. o Speak at technical conferences and briefings. Design and lead technical workshops and training. o Primary Languages: SequenceL, ++, C#, Haskell, Bash, make, Python o Primary Tools: Jenkins, Git, Jira, Cross-OS Development (/Mac/Windows)  Tyler Technologies Inc., Software Developer Mar 2011- Aug 2012 Lubbock, Texas o As part of the Public Safety Team I worked on projects such as, Computer Aided Dispatch, Unit Mapping and Control, Records Management, Mobile Unit Interfaces, and Statistical Crime Analysis. o Primary Languages: Visual Basic 6, C# .NET, SQL  Texas Tech University, Computer Science Undergraduate Research Assistant Aug 2010-Jul 2012 Lubbock, Texas o Worked closely with NASA improving and rewriting flight code in a more efficient new language, SequenceL. SequenceL is a declarative, automatic-parallelizing, high-level language.  Texas Tech University, Computer Science Supplemental Instructor Aug 2009 - May 2010 Lubbock, Texas o Taught a Supplemental Computer Science class multiple times a week intended to supplement the information given by the professor, and to assist students in developing good study habits.  National Instruments, Remote Software Apprentice Apr 2009 - Aug 2009 Lubbock, Texas o Designed and implemented a self-updating offline catalog for use by traveling salespeople who are regularly disconnected from the internet. Developed in C#.

Noteworthy Projects:  SequenceL Distributed Extension 2016 Extended the SequenceL compiler to automatically generate C++ which uses a combination of MPI and Intel's TBB to achieve scalable distributed and shared memory parallelizations.  SequenceL Bootstrapped Interpreter 2014-2016 Developed a bootstrapped interpreter for the SequenceL programming language using SequenceL.  Jira Interfacing Automatic Time Tracker 2014-2016 A time tracking application that interfaces with Jira's rest API and can export to a formatted excel spreadsheet. Developed in C#.  EaselSL: Purely Functional Game Engine 2014 Implementation of the Easel Framework, which describes an engine for creating real time games by defining pure functions, in SequenceL. Developed in C#, C++, SequenceL.  Top-Down Recursive Descent Compiler and Interpreter 2010 Built a Top-Down Recursive Descent Compiler for a procedural language which supported integers and infinitely dimensional arrays. The compiler produced byte code, similar to Java, which was interpreted at runtime. Developed in C#.

Page 1 of 2 Skills: Languages: SequenceL, C++, C#, Visual Basic, Java, HTML, PHP, Python, MySQL, SQL, BASH, Batch Scripting, XML, CSS, JavaScript Tools: OpenMPI, Jira, GIT, Jenkins

Publications:  Computational Performance of SequenceL Coding of the Lattice Boltzmann Method for Multi-Particle Flow Simulations, Co-Author Apr 2017 Computer Physics Communications, Volume 213 Abstract (reduced) – This paper reports, for the first time, the computational performance of SequenceL for mesoscale simulations of large numbers of particles in a microfluidic device via the lattice- Boltzmann method. The performance of SequenceL simulations was assessed against the optimized serial and parallelized (via OpenMP directives) FORTRAN90 simulations.  Automatic Distributed Programming Using SequenceL, Sole Author Aug 2016 Dissertation, Texas Tech University Abstract (reduced) – This dissertation reports the results of testing this hypothesis by extending the SequenceL compiler to automatically generate C++ which uses a combination of MPI and Intel's TBB to achieve scalable distributed and shared memory parallelizations.  Easel: Purely Functional Game Programming, Lead Author Jul 2014 The 2014 International Conference on Software Engineering Research and Practice Abstract – In response to a growing interest in and its use in game development we’ve developed the Easel Framework which describes an engine for creating real time games by defining pure functions. This paper describes the framework and an implementation of this framework in SequenceL.  An Experiment Comparing Easel with Pygame, Co-Author Jul 2014 The 2014 International Conference on Software Engineering Research and Practice Abstract – A framework for developing games using a functional language was designed and implemented at Texas Tech. After it was created, a study took place. It consisted of taking a group of developers with the same task, splitting them in half and giving one group our system, and the other group a well-known system. This paper describes the experiment, results, and future work.  Fully Automatic Parallel Programming, Lead Author Jul 2013 The 2013 International Conference on Parallel and Distributed Processing Techniques and Applications Abstract – SequenceL is a small, statically typed, purely functional programming language, whose semantics enable compilation to parallel executables from function definitions. This paper reports the results of experiments on the performance of parallel programs automatically generated by the SequenceL compiler. In particular we examine the parallel speedups obtained in running SequenceL programs on multicore hardware.  A Functional Approach to Finding Answer Sets, Lead Author Jul 2013 The 2013 International Conference on Foundations of Computer Science Abstract – A naive answer set solver was implemented in the functional programming language SequenceL, and its performance compared to mainstream solvers on a set of standard benchmark problems. Implementation was very rapid (25 person hours) and the resulting program only 400 lines of code. Nonetheless, the algorithm was tractable and obtained parallel speedups. Performance, though not pathologically poor, was considerably slower (around 20x) than that of mainstream solvers (CLASP, Smodels, and DLV) on all but one benchmark problem.

Selected Honors/Awards:  AT&T Chancellor's Fellowship, Texas Tech University Graduate School Aug 2012 A recruitment fellowship requiring a faculty recommendation.  Letter of Commendation, Tyler Technologies Inc. Mar 2012 Letter of commendation in recognition of outstanding performance.

Page 2 of 2