Iowa State University, Class of 2020 Course Work

Languages and Coursework

And other important skills

Java

The first language I learned was Java. I started by taking Introduction to Object Oriented Programming which taught me the framework of java syntax and using objects and I have taken Introduction to Data Structures which is Iowa State's second semester of Java programming. I have also completed a three month full time internship developing in Java and am still a part-time Java development intern.

C/C++

Last semester, I took a class called Advanced Programming Techniques. In this class, I learned the fundamentals of C and C++ programming while created an ASCII based game. After I finished the class, I was offered a teaching assistant position for the class. Now, I am improving my understanding of C and C++ as I hold weekly office hours for students and grade and debug their assignments.

Python

I am self-taught in python. I learned the language in the summer of 2017 by working through a book called "Python for Biologists." Most of my Python programming skills are based on string manipulation and parsing large data files for biological reasons. I also often use python for simple scripting. Lately, I have not had used python regularly, though I do use it do run simulations for my statistics homework.

        Biopython

        I learned biopython in a short, informal course taught by my mentoring professor when I was a summer student researcher at Auburn University.

        Python Mentorship

        While at my summer research program at Auburn University, I worked with a number of biology PhD students with no programming experience. For an average of 2 to 3 hours a day for 5 weeks, I worked with the two graduate students to help them develop Python competencies so they could use their skills to solve problems with the large amounts of data in their projects. This allowed me to gain a deeper understanding of python and learn it better myself. I was able to take what I learned and explain it to beginner programmers in enough detail to get their work done.

BASH shells and HPCs

Through all of my research experiences, I have taught myself to be comfortable working in a terminal environment. I began informally on the windows command line, to run command line programs. My first exposure to the lack of GUI was a learning curve, but I eventually became comfortable. When I began research at Auburn University, I was introduced to terminal emulators, allowing me to become incredibly comfortable with Linux commands. Throughout my experiences, I have written a number of scripts that utilize Linux commands and/or call upon python scripts to run as well. My experience is not limited to my own computer. I have worked in the Alabama Super Computer and am now working in Iowa State's supercomputer clusters. I have even had some fun in a Raspberry Pi. This has helped me develop a flexibility and ability to work out how each environment works, whether there are different modules available, queue systems, or scripting rules. Working in these systems has also exposed me to high complexity programs that require me to read and understand input specifications and other important parts of the programs.

Through my internship at Workiva Inc., I was able to gain valuable experience developing on the command line. I mainly naviaged my computer using the terminal and feel very comfortable. Additionally, in my C/C++ class, I developed only in the command line without an IDE. Because of this, I am able to use both Emacs, and VIM.

Git

While setting up a new Git repository is still challenging, I am very comfortable using git as a version control software.

HTML

My experience in HTML is very basic. I thought it would be fun to learn to code a website so one quick google search later and I discovered how easy it is to make an HTML website! Now, I understand the basic requirements for HTML code and the framework as well as making css files. I have enjoyed learning and am excited to try expanding my knowledge to Javascript and incorporating it into my HTML work.