Anthony Morast

Glendive, MT 59330 · (406) 891-0809 ·

I am an experienced software and research professional having spent years in industry and academia. I am skilled in C/C++, Java, Python, R, Matlab/Octave, and SQL programming and have experience with various web technologies (HTML, CSS, JavaScript, and PHP).

I have a strong interest in parallel computing and enjoy spending time building small clusters from SoCs and old computers to run and test parallel algorithms. My interest in computing coupled with my passion and experience in mathematics draw me to research in compuational mathematics such as Computational Fluid Dynamics, Data Sceince, Machine Learning, Numerical Methods, and Combinatorics and to professional fields where I can best apply my talents, abilities, and knowledge.


South Dakota School of Mines and Technology

Master of Science
Computational Sciences and Robotics
Thesis: Learning From the von Karman Vortex Street (Deep Learning) - [PDF]

GPA: 4.00

August 2016 - May 2019

South Dakota School of Mines and Technology

Bachelor of Science
Applied and Computational Mathematics
Thesis: The Symmetry of Mutually Orthogonal Latin Squares - [PDF]
August 2010 - May 2015

South Dakota School of Mines and Technology

Bachelor of Science
Computer Science
Capstone: Telecommunications Wholesale Billing Application
August 2010 - May 2015


Software Developer II

Software Developer I

Software Associate


Developed and maintained NISC's Subscriber Information System (SIS). In particular I worked on the application's marketing, rating and billing, payment processing, reporting, credit and collections, and cooperative management functionalities. I became largely responsible for the continued development and maintenance of NISC's marketing project while still developing my knowledge of other billing and reporting functionalities.

January 2021 - Present
July 2018 - January 2021
June 2015 - July 2018

Graduate Research Assistant


Developed parallel implementations of a novel algorithm for building more optimal classification and regression trees using the C++ and Python programming languages. Assisted in the analysis of datasets to determine when the algorithm will outperform CART's greedy splitting decisions. Took responsibility of presenting the work to SPAWAR who supported the research.

September 2017 - April 2019

Data Analyst


Worked on a team formed to analyze student data and determine factors leading to success in mathematics during a student's first few years of college. This analysis was presented to the South Dakota State legislature to help secure departmental funding for various mathematical programs.

August 2016 - June 2018


HyTex Software Solutions

Worked as a software consultant/freelancer developing innovative solutions in a variety of industries. Took responsibility for the completion and correctness of all software delivered to my clients. Developed projects ranging from hundreds of lines of code to tens of thousands in languages including Python, C++, and Java as well as some web languages.

April 2015 - November 2017

Software Developer Intern

CHR Solutions

Learned new languages, technologies, and business practices while developing back-end telecommunications billing applications in an Agile/SCRUM environment. Was part of a small team working to innovate CHR's newest addition to their billing software suite.

January 2014 - May 2015


Caudle, K., Pyeatt, L., Morast, A., Karlsson, C., Hoover, R. C. (2019). Building a Better Decision Tree by Delaying the Split Decision. Proceedings of the 2019 3rd International Conference on Compute and Data Analysis - ICCDA 2019. doi:10.1145/3314545.3314548


Programming Languages
  • C++
  • C
  • Python
  • Java
  • R
  • SQL
  • C#
Experienced With
  • Lua
  • Julia
  • LaTeX
  • HTML
  • JavaScript
  • CSS
  • LISP
  • ARM Assembly
  • PHP
  • Progress 4GL
Tools and Technologies
Version Control
  • GIT
  • GitHub
  • GitLab
  • TFS
  • Subversion
Project Management and Methodologies
  • Agile/Scrum
  • Trello
  • GitHub Projects/Issues
  • Microsoft Project/Visio
  • TFS/Visual Studio Online
  • FishEye
  • Crucible
  • Jenkins
  • Bamboo
Development Environments
  • Linux (GXX + Vim/Atom)
  • Visual Studio
  • IntelliJ
  • NetBeans
  • Android Studio
  • RStudio
  • Qt Creator
  • SQL Server Mgmt Studio
  • MonoDevelop
  • PyCharm
Libraries and Other
  • Django
  • libGdx
  • OpenGL
  • MPI/OpenMP/Pthreads
  • CUDA
  • Tensorflow
  • NumPy
  • Keras
  • SciPy/scikit-learn
  • Docker
  • Oracle VirtualBox
  • WildFly/JBoss
  • Hibernate
  • JDBC
  • EJB


Although not exhaustive, below is a list of select projects that I have worked on in the past or that I am currently working on.

Under Construction

Some projects can be found on my GitHub

Interacive projects can be found on my projects website.

Open Source

I think it is vastly important to give back to communities that have supported you or to projects you find important or interesting. As a software engineer, one of the ways I can give back is to contribute to open source projects (with the added benefit of growth and enjoyment). Contributions to OSS help me to develop programming skills while also assisting in providing necessary products that might otherwise not exist or which have commerical counterparts that are inaccessible to many.

Below is a list of some of the OSS projects that I have either contributed to or use and am interested in contributing to but have not yet found the opportunity.

  • GNU Octave
    • GNU Octave is a high-level programming language that is primarly intended for numerical computations and is mostly compatible with Matlab. The Octave community also creates and maintains multiple packages via Octave Forge which provide additional functionality.
    • Contributions: I have made multiple contributions to the Octave interpreter as well as to the finance, econometrics, and statistics Octave Forge packages.
  • NumPy
    • NumPy is a Python library almost essential for scientific computing. It contains powerful N-dimensional array/tensor objects, C/C++ and Fortran integration tools, and linear algebra capabilities among other things.
  • TensorFlow
    • TensorFlow is an end-to-end platform for machine learning providing a flexible ecosystem of tools and libraries for quickly developing state-of-the-art machine learning applications.
  • Keras
    • Keras is a high-level neural network API which supports a variety of backends; namely TensorFlow, CNTK, and Theano. Keras allows fast experimentation by letting researchers go from idea to implementation with little delay.
  • scikit-learn
    • scikit-learn is a Python module for machine learning built on top of SciPy. I would need another website to begin discussing all of the capabilities of this Python module.
  • OpenFOAM
    • OpenFoam is a C++ toolbox for developing customized numerical solvers and pre-/post-processing utiilites for solving continuum mechanics problems, prominently including computational fluid dynamics.
  • Gerris
    • Gerris or GNU Flow Solver (GFS) is a generic tool for numerical simulation of fluid flows. Half of the simulations in my thesis were done with this software, although it doesn't appear to be maintained/developed anymore.
  • DEAP
    • Distributed Evolutionary Algorithms in Python (DEAP) is a evolutionary computation framework designed for rapidly prototyping ideas.
  • Matplotlib
    • Matplotlib is a 2D plotting library for Python which produces high quality figures in a variety of formats. My research and coursework would have been greatly hindered without the use of this library.

Honors, Awards, Associations, and Extracurricular

  • Outstanding Computational Sciences and Robotics Graduate Student (2019)
  • IARC Mission 7 (2017)
  • SDSMT Unmanned Aerial Vehicle (UAV) Team
  • Mathematics on the Northern Plains - Research/Model Presnetation (2014)
  • Mathematical Contest in Modeling - Honorable Mention (2014)
  • P. DeForrest and Edith M McKeel Scholarship in Mathematics (2011)
  • Phi Eta Sigma National Honors Society