In addition to my work in physics, I occasionally program, mostly in python.
I’ve been programming since my Junior year of high school, where I had the privaledge of taking “Object Oriented Programming with Java” at the Oklahoma School of Science and Mathematics (OSSM). I went on to take two additional programming classes at OSSM, “Data Structures 1” and “Data Structures 2.” Unfortunately, and a math and physics double major at OSU I did not manage to fit in any additional programming classes. However, from my freshman year I did work on undergraduate research in the lab of Prof. Flera Rizatdinova, where I used C/C++ and and the ROOT package to analyze particle physics data, first from the DZero experiment at Fermilab’s Tevatron collider and later from the ATLAS experiment at CERN’s Large Hadron Collier.
When I got to UT, I intended to switch from particle experiment to particle theory, but I was still required to get a semesters worth of experimental research experience. UT had just hired ATLAS collaboration member Prof. Peter Onyisi the year prior, and so given my previous ATLAS experience, I asked him if I could complete my experimental requirement with him over the summer. Fortunately for me, he agreed on the condition that I go with to Geneva to work at CERN. Under Prof. Onyisi, I was tasked, along with another student, with first writing software in Python to retrieve configuration files from a database, and second with studying, using Monte Carlo simulated data, the optimal feature set for detecting the production of a Higgs boson along with a top quark anti-top quark pair. For the latter, we used the boosted decision tree from an internal CERN machine learning package, the Toolkit for Multivariate Analysis (TMVA).
Since my time in Geneva with Prof. Onyisi, I have not had occasion to use much programming for my research (I do use Wolfram’s Mathematica extensively). However I have enjoyed programming since I was first exposed to Java at OSSM. Occasionally, I write something on my own to keep up my skills. These days I mostly use Python for these purposes. I’ve also played around with JavaScript (do to client side execution) and Haskell (out of an interest in functional programming).
Below are some samples of code I’ve written:
I have attempted a couple of the competitions at Kaggle.
I have solved the Titanic challenge a number of times. The first time, I used my own implementation of the perceptron algorithm, whose source code can be found here. Subsequent times i have used built in implementations of algorithms from Scikit-Learn. A Jupyter notebook representing my most mature solution to the Titanic Challenge can be found here.
I also participated (with teammates) in the Toxic Comments competition.
After coming accross Al Swiegart’s python books, I decided to play around a bit with Pygame. The result was a cellular automaton implementation. The source code is hosted on GitHub here.
This is the website you are currently viewing. It makes heavy use of material from the templates at w3 schools, is styled with w3.css, and is put together in Jekyll from pieces written in markdown and HTML. The source code can be found at GitHub
This is a website made with Kimberly Carmona for our wedding. In construction is is very similar to the above. Source code can be found here.
I’ve spent some time playing around with JavaScript. The result, such as it is, can be viewed here. The source can be seen on GitHub.