Software
I have a lot of coding experience in several different languages and environments. I strive to write clean, readable, and reusable code in all circumstances. Below list the languages I know, paired with the context.
Python
Python is my go-to language. It is the first object oriented language I learned, and I use it nearly every day. With the help of Andrew Janowczyk, I was able to build and implement a deep learning algorithm. You can learn more about his project here
My last internship for the National Board of Medical Examiners I was tasked with building the entire automation suite using Java and Selenium. Having just been introduced to java at the beginning of the internship, I was not very confident. However, I was able to use python to automate about 50% of the scripts.
Although Python isn't the strongest gaming language, I've build a few simple games in python. I'll put them up when I get a chance.
C/C++
C++ was the second language that I learned. I started learning it at Drexel, and then when I studied abroad I took data structures and algorithms. That class used C++ to teach us common data structures and algorithms such as sorting methods, hashing, etc.
I'm honestly not a huge fan of C++ because it is a hassle to code in. However, it is a low level language that performs very well, so I use it at times when performance is paramount
I also took a class in parallel computing using Cuda, OpenMP, Pthreads, etc. This course was taught using C++. So again, my C++ knowledge is mostly used in cases where performance takes precedence over anything else, including my sanity.
Also at my first coop, I was able to build and program an Arduino to act as a monitor calibrator. I used a photo-resistor and taped it to the monitor. I was able to capture the resistor values and display them on a graph. The reason I did this project is because in Pathology, doctors and technicians are very reliant on image color. In the past, it was typical for pathologists to use microscopes to view slides, however, recent technology has led a a very rapid shift to digital imaging. A slight color change can mean the difference between diagnosing cancer or not. My Arduino monitor calibrator connects directly to the computer and automatically (or manually) can adjust screen brightness, resolution, and color display settings.
HTML/CSS/JavaScript
I was never formally taught HTML or CSS. I was lucky enough to find out that Drexel offers all students a free domain. Having no coding experience at the beginning of my freshman year, I sat down with my sister to build my first person website (this one is version 3). After I took a few more programming classes, I was able to find a stock CSS template and start learning HTML and CSS on my own.
My last coop offered the leaning service Linda.com where I was able to take some more formal online classes on HTML and CSS. Once I took the courses, I felt felt comfortable marketing myself as a freelance developer. Since then, I've been developing client sites using Wordpress with a goDaddy backend, as well as building websites using static HTML, CSS, and JS files. I'm currently working on building a server so that I can personally host my own site as well as a few client sites. I'll be honest in saying that my abilities with back end web development are quite limited as of today (7/9/18), but I'm working on them every day!
SQL
My last coop I was a quality assurance engineer for the National Board of Medical Examiners. This position gave me the opportunity to see how application send and receive data from different sources, SQL databases in particular.
I would still consider myself a novice at SQL programming, but I still know the basic commands to help me navigate around a database.
MATLAB
MATLAB is the first language I ever learned. I was required to take an intro to MATLAB my freshman year in college, and then I have continued to use it in classes such as linear algebra, differential equations, and transforms.
My second coop, for the Geometric Biomedical Computing Group, allowed me to work on image processing using MATLAB and Python. While MATLAB does have limited functionality, it is fantastic for image processing. I used MATLAB to process most of the image analysis data used to create the deep learning algorithm and classifier. I really enjoy image processing, and it is something I can see myself doing in the future!
Bash
I actually took a full class on Bash, however, before taking that class, I learned Bash the hard way.
At my second coop, I got to do everything from OS installs, software development, hardware upgrades, server upgrades, etc. I loved it! Having to install several linux OS was something I had never done before. It gave me some very good experience navigating around the backend of an OS and maintaining it using Bash scripting.
Java and Selenium
My last coop I worked as a QA engineer. While I was part of several different projects, I was tasked with creating the entire automation suite for one of the companies apps. Having never learned Java or Selenium before, this was quite the challenge at first. I was able to learn Java from Linda.com, and the Selenium libraries were pretty easy to learn after learning Java.
I would consider myself extremely proficient at automating with Java and Selenium, however, my development experience in Java is slightly limited. While Java is a great cross platform language, I haven't had a chance to build any applications with it yet. Having learned Python and C++, learning another object oriented language is a simple matter of learning syntax. I know basic Java loops, class creation, method implementation, etc. However, I have never professionally developed applications, other than automation, using Java. It is deftly something I would like to try though!