Skip to main content

My Python Journey: Blog #1

It has been a while since my last blog entry. Today, I want to document my thought process on how I created a Python program that would generate a step-by-step solution to Statistics worded problems.


It started with a why: "Why should I automate the writing of solutions to Statistics problems?" My first reason was that I encounter certain problems in the tutoring platform that are frequently recurring. Only the givens in the problem changes but the steps are all the same. This means that every time I encounter these problems, I have to re-type the procedure with all the LaTeX formatting involved in certain formulas. And, that is somewhat frustrating. Time is gold has never been this real to me. And the time I spend on one problem means a delay in solving other problems. The delay means decreased revenue on my part since I can solve only a limited number of problems within a day. 

Because of this frustration, I thought of an idea. "What if I create an MS Excel or Word Document template that I will just copy and paste and then input the associated given in the problem?" This way I will be more efficient. I proceeded to make an MS Excel document. Here is an example of a probability calculator when given a contingency table.




While this is convenient and I will only input the given values in the contingency table for the next related problem, this is not efficient since I still have to write the step-by-step procedure and also the associated formulas. In other words, it minimized the calculation part but the problem with spending so much time writing the procedure on how to solve the problem was still there.


What I did next is to create a template so that writing the procedure would be minimized, and all I need to do is insert the associated tables/pictures within the procedure. Here is an example of the template for linear regression analysis.



The next challenge for me was to make the template adaptive. What I mean by this is, whenever a related problem comes along how fast can the template generate the step-by-step solutions for me. Currently, it was not so fast. At least, not in the way I intended it to be. There are still times when I struggle to use the template which makes it a little non-user friendly. I am the one who made the template so how much more if I teach this template to others. If I am struggling, it follows that they will also struggle. There are still a significant number of manual inputs involved.


There's no other way. I have to muster the courage to journey into the unknown. I have to learn how to code. I have already encountered this on Youtube before but I just let it slide since I don't have much use to it back then. I mean my job does not involve programming so there is no urgent need to learn it. But it did give me a spark for the possibility of learning something new.


And so, I dedicated minutes and hours each day trying to learn this. I remember spending at least a minimum of 20 minutes every day. 20 minutes trying to understand the theory of the lesson and applying the knowledge I learned on some practical exercises on the video. 20 minutes since sometimes I get drained by the information that was presented to me. And each day, for 20 minutes or more, the possibility and opportunity became more and more evident. I can do this!

Comments