One of the most useful skills I picked up while pursuing my PhD (in industrial engineering) was coding in Python. I had just begun my research project and was nearly finished with my literature review. Interesting ideas would occasionally enter my head. It was time to put some of those ideas to the test. Then I realized I needed to enter those ideas into a computer program.
As a traditional Industrial Engineer I am a heavy Excel user. I used Excel to model a small problem. From that Excel program, I started to see interesting results. However, I required more experimental findings to support some of the observations. However, I was unable to scale that Excel model to deal with larger problems. I was totally stuck for some time. Then I understood I needed to scale up my experiments using a programming language.
The question now is, which programming language should I use? There are numerous options, including Python, R, Java, C++, and others. I did my research on which programming language to use and also asked my labmates for advice. Finally, I settled on Python. The main reasons for choosing Python were i) its simple syntax and ii) the availability of help. Python code is written in a regular (English) language that is easy to learn. And because my labmates are already familiar with Python, I can seek help from them. Furthermore, Python has a large user base which makes life easier.
Now, the question is, how do I learn Python? There is an abundance of Python tutorials available online. Which is the best option? I was looking for tutorials that are both i) easy and ii) interesting. The term “easy” means something that I already know. For example, I have used Excel to solve mathematical problems: solving those problems in Python. I mean by "interesting" that those mathematical problems ought to fall under my area of expertise. I am, for instance, working on supply chain-related issues. As a result, I was searching for tutorials that use examples from the supply chain industry. I jumped on a tutorial that met these two requirements and began learning Python.
After finishing the tutorial, I started putting my python skills to the test by replicating the previous Excel program for my research. Python then helped achieve many amazing things.
Reflections:
For a student pursuing a PhD in industrial engineering, programming skills are crucial. If you don't know how to code, it's okay; you can just add it to your list of things to learn for your PhD.
Ask for help; help is on the way.
To learn something new, make a link between your current knowledge and the knowledge you want to acquire. Continue to strengthen that link.
December 27, 2022