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!


Hardware

Hardware is my true passion. I love having my hands in the hardware and the software. It really gives me a sense of ownership, and it's fun!

Microcontrollers


I've been playing with microcontrollers since the say I bought my first Arduino my freshman year. AT my first coop, I was able to use a Raspberry Pi and some sensors (inducive, capacitive, flow, level, ...) to communicate and dynamically display data.

At my second coop, as mentioned above, I created a monitor calibrator using an Arduino and a photoresistor. Working on this project really taught me how to transform data into useful information.

My junior year at Drexel, I took a microcontrollers class. This is my second favorite class I took in college, next to computer organization. In this microcontrollers class, I was introduced to the PSOC board. Projects I completed in the class are listed as follows:

  • Build and program a stoplight to work using a PSOC. This project
    included a pedestrian walk button, which would shorten the time the
    pedestrian needs to wait to cross.
  • Control a DC motor for multiple different functions
  • Digital to analog converter
  • Analog to digital converter
  • Deriving gravity from a dropped object using two light sensors
  • Pulse width modulator operations

3D Printing


I started out at Drexel as a mechanical engineer. My freshman and softmore year I was part of the ASME student design competition team. The goal of these teams are to create a robot to compete in an annual compeititon against other universtieis. To keep building costs down, I was tasked with modeling parts like gears and other components in Solidworks, and then using a Makerbot to print them out. 3D printing is fascinating and extremely fun!

3D Modeling


Having come to Drexel as a mechanical engineer, I took three courses completly dedicated to 2D and 3D modeling. I know Solidworks, Creo, AutoCad, and Google SkethUp. See below for some of my models.

Sensor Knowledge


My first coop, I worked for IFM efector where I was an application support engineer. Here's a small blurb about what ifm efector does:

For over 40 years, ifm has developed, manufactured, and marketed sensors to industries that include assembly and robotics, automotive, material handling, packaging, metal forming, plastics, and food and beverage. We offer a complete family of position sensors, fluid sensors, diagnostic systems, networking products, and wiring solutions.

Working at ifm, I went through a vigorous 4 week training seminar where I learned everything form simple two wire inductive sensors, to much more complicated 3D vision sensor (it's really cool, check it out here!

My job at ifm was to assist customers in troubleshooting their existing systems, as well as recoommending solutions to customer problems. This role gave me some really good insight into how sensors can be used and integreated in eolectroinc system.


Other

I have some random skills that don't necessarily fit well in the other categoreis.

Spanish


I've been taking Spanish classes since middle school! 3 years in middle school, 4 years in high school, and 2 semesters in college. While I'm not yet fluent, some friends I made in Puerto Rico tell me my Spanish is very good! I would consider myself conversationally fluent at the moment. One day I'll be preaching philosophy in Spanish.