Bryant Nelson, Ph.D.
9409025460
Austin, TX
I have a strong interest in Language Design and feel it is arguably the most important branch of computer science. A programming language is what computer scientists use to convey their thoughts and to distribute their solutions. I have had multiple professors express to me that a program is to a computer scientist what a proof is to a mathematician; it is the cornerstone of our field. If this is the case, then the quality of the programming language directly impacts the quality of its users’ proofs, their programs.
I had a Numerical Analysis professor, Dr. Robert Kirby, who said, “Computers were invented to automate tedious and error-prone tasks, programming is a tedious and error-prone task. Why not get a computer to do it?”
Education
Doctor of Philosophy (Ph.D.), Computer Science, 4.0
2012 – 2016
Texas Tech University
Bachelor of Science (BS), Computer Science, Summa Cum Laude
2007 – 2012
Texas Tech University
Bachelor of Science (BS), Mathematics, Summa Cum Laude
2007 – 2012
Texas Tech University
Professional Experience
Software Development Engineer
July 2012 – Present
Texas Multicore Technologies (TMT), Austin, Texas
- Develop and extend the programming language, SequenceL. SequenceL is a declarative, automatically parallelizing, high level language developed by Dr. Cooke of Texas Tech which is currently being commercialized by Texas Multicore Technologies.
- Develop and maintain the primary libraries and tools that are shipped with SequenceL.
- Work closely with many companies porting existing projects to SequenceL to make use of high performance multicore hardware.
- Speak and present at technical conferences and briefings. Design and lead technical workshops and training.
Software Developer
March 2011 – August 2012
Tyler Technologies
Worked as a Software Developer on the Public Safety Team on projects such as, Computer Aided Dispatch, Unit Mapping and Control, Records Management Systems, Mobile Unit Interfaces, and Statistical Crime Analysis.
Primary Languages:
Visual Basic 6, C# .NET, SQL
Undergraduate Research Assistant
August 2010 – July 2012
Texas Tech University
Worked closely with NASA improving and rewriting flight code in a more efficient new language, SequenceL. SequenceL is a declarative, automatically parallelizing, high level language developed by Dr. Cooke of Texas Tech.
Supplemental Instructor
August 2009 – May 2010
Texas Tech University
Taught a Supplemental Computer Science class multiple times a week. The class is intended to supplement the information given by the professor, and to assist students in preparing for tests and developing good study habits.
Remote Software Apprentice
April 2009 – August 2009
National Instruments
Designed and implemented a self-updating offline catalog for use by traveling salespeople who are regularly disconnected from the internet.
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
2015
Developed an interpreter for the SequenceL programming language in the SequenceL Programming language. Developed in SequenceL.
<a href="https://github.com/bethune-bryant/Easel">EaselSL: Purely Functional Game Engine</a>
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.
Publications
<a href="http://dx.doi.org/10.1016/j.cpc.2016.12.012">Computational Performance of SequenceL Coding of the Lattice Boltzmann Method for Multi-Particle Flow Simulations</a>
Apr 2017
Co-Author · 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.
<a href="https://ttu-ir.tdl.org/ttu-ir/bitstream/handle/2346/68087/NELSON-DISSERTATION-2016.pdf?sequence=1&isAllowed=y&lipi=urn%3Ali%3Apage%3Ad_flagship3_profile_view_base%3BLfWqj2%2FRQi%2B5g%2F8GDwOGBA%3D%3D">Automatic Distributed Programming Using SequenceL</a>
Aug 16, 2016
Sole Author · Dissertation
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.
<a href="http://worldcomp-proceedings.com/proc/p2014/SER3582.pdf">Easel: Purely Functional Game Programming</a>
Jul 2014
Lead Author · The 2014 International Conference on Software Engineering Research and Practice
Abstract – In response to a growing interest in functional programming 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.
<a href="http://worldcomp-proceedings.com/proc/p2014/SER3581.pdf">An Experiment Comparing Easel with Pygame</a>
Jul 2014
Co-Author · 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.
<a href="http://worldcomp-proceedings.com/proc/p2013/PDP4059.pdf">Fully Automatic Parallel Programming</a>
Jul 2013
Lead Author · 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 href="http://worldcomp-proceedings.com/proc/p2013/FCS7083.pdf">A Functional Approach to Finding Answer Sets</a>
Jul 2013
Lead Author · 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.
Skills
C#
Software Development
4-25-2017