ComputerExperience
Filed in: Main.ComputerExperience · Modified on : Wed, 23 Apr 25
I have worked on a wide variety of computer related projects. These projects have given me experience with the following languages:
- C++, Java, $\LaTeX$, Quarto, JavaScript/HTML5/CSS/JQuery, Linux(Debian based), R (RStudio/tidyverse/ggplot/dplyr/tidymodels), Python (sci-kitlearn/numpy/sympy/mathplotlib/pandas), SQL/MySQL, PHP, Mathematica/Maple/SageMath/Matlab, SPSS/PSPP, and more.
Here is a time line and description of several projects.
- Python: I've used Python's scikit-learn package to work on machine projects in our data science program. I've used python as part of SageMath and during a student senior project that used MonteCarlo methods for analyzing different strategies of the card game "Dominion". I regularly help students learn matplotlib/numpy/sympy for graphical visualizations and computations in multivariate calculus. For fun, I've dabbled with python computer animations to creating NFTs for sale on OpenSea.
- R, Tidyverse, ggplot, dplyr, Shiny: In 2019 I began using R and tidyverse in our Data Wrangling and Visualization course. In 2021, as a cocreator of our Applied Calculus for Data Analysis, I wrote several RShiny applets we use to give students feedback on their project work. In 2022, I collaborated to create a book (task list) for our Data Wrangling and Visualization course, using bookdown.
- Git/GitHub: I use github on a regular basis for work related project, as well as personal projects (such as a wordle word finder). Git is an integral part of our data science courses. I am spearheading an initiative to move our math majors over to using Git along with Quarto for high quality publication ready work.
- SageMath: In addition to a website hosting various SageMath demos for my courses, I have written PHP code that enables SageMath calls in my $\LaTeX$-enabled course wikis. Students can explore topics with a powerful CAS directly in the course materials without needing anything other than a web browser.
- Mathematica/Maple/Matlab: I have used these program for mathematical computations, visualization, and more. I am most proficient in Mathematica, but can utilize the others as needed.
- R, for modifying Brightspace XML (2015): When our university started using D2L's Brightspace for our LMS, I picked up and then integrated R with GoogleSheets to automate the creation of course package zip files. This guaranteed that thousands of course options were consistently set based on instructor preferences, saving 5-10 hours a semester, per course, of mindless button clicking (Brightspace had no API). Overall time saved may have been around 1000 hours before we stopped using BrightSpace and moved to Canvas. I chose R because I saw our department moving that directions, and decided to support the department using a language that our team could maintain.
- JQuery/CSS (2014): I added custom scripts to our statistics text to enable customization based on section, instructor, and audience, as well as many other features.
- JavaScript/HTML5/CSS (2014+): When web browsers began blocking Java, I decided to recreate an in house normal probability Java applet using JavaScript/HTML5/CSS. Over a weekend, I picked up JavaScript (and the accompanying HTML5 and CSS) to make a new applet. This website has been the number 1 google search for many years with the search string "normal probability applet." Some day I'll port the project to a phone app.
- MySQL, MediaWiki, Webmaster (2013+): Statistics faculty were using MediaWiki for a textbook. When an IT support person changed jobs, they found no support from the rest of the college IT staff. They turned to me to take over maintenance of the site. In one week, I created and became webmaster for byuimath.com, moved the wiki over to the new site, and removed thousands of pages of wikispam and secured the wiki. Over the next year, we added many other things to this site. I have become the department webmaster, housing any projects that the IT department will not support. I manage both hosting, and server roles. We host wikis (both flat file and database storage), WebWork, and textbooks for statistics and our general education math course (Math for the real world).
- (2009) I wrote the code for PMWiki's jsMath cookbook, enabling users to integrate the $\LaTeX$ language with PMWiki, before MathJax was available.
- PHP (2008+): I became an early adopter of using Wiki's for collaborative development at BYUI. Since our IT department would not allow our Windows server to install PHP programs, accessible outside the firewall, I began running websites on various hosts. I started using and modifying PMwiki and a host of other PHP based wikis.
- SPSS/PSPP/Excel (2006+): My first year full time teaching, our college license to SPSS crashed during the 3rd week of school. I created a pseudo-clone of SPSS inside of Excel. That clone has since been adopted and adapted to be used by the faculty in our current introductory stats courses, impacting over 1000 students a year on campus and world wide.
- Linux (2003-present): I swapped over to RedHat linux in 2003, and have since used various flavors. I'm currently using Ubuntu, and able to take care of any issues that arise.
- $\LaTeX$ (2002 - present): I use $\LaTeX$ on a daily basis to create instructional materials (textbooks, problem sets, websites, and more). I am proficient with tikz for graphics construction (used pstricks before tikz became popular), including creating 3D graphical visualizations. I'm currently intrigued by how well Quarto incorporates mathematics, and am piloting it's use in our upper division math courses.
- Java (2002): While in graduate school, I used Java to construct a visualization tool for exploring knot theory. In 2023-2024 I picked up Java again and played with IntelliJ and SceneBuilder.
- C++ (1996-2000): I learned to code using C++, including dynamic allocation and object oriented programming.