In-Depth Study 2022 – Python

In-depth Studies are one of the most valuable experiences of the TALONS program. It is a unique chance to pursue any passion, find a mentor, and show our learning over a period of five months. It is the perfect opportunity to build a skill useful in the future.

My vision, rationale, resources, and plan.

I have learned Python in the past, specifically in Grade 8, but I feel that the concepts I learned neither built solid foundations nor have stuck with me. Last time, I used an online book, which, although detailed, did not provide enough practice and covered too much at once. I also did not put the needed effort into practicing/memorizing what I had learned.

My plan for this project is very simple: I will use a 22-hour online video course on Udemy that teaches both concepts I have already learned in Python, and more importantly, new, more advanced topics such as object-oriented programming. Throughout, I will do my best to make sure what I learn is ingrained into my mind, using the resources provided by the course (practice problems, assignments, projects), and at the end, by creating a program – whether a game, script, algorithm, etc. – that demonstrates everything I will have learned. This will be the “product” of my journey. Throughout, I will keep track of my progress with weekly logs (along with these blog posts), and I am aiming to work on Python for at least thirty minutes a day. In this fashion, I will finish the course by the end of March and proceed to spend the last two months on the program.

My rationale for continuing to pursue programming is centred around the fact that I have always had a deep interest in technology, and a career in this field is a very great possibility. Understanding just how computers, operating systems, and apps work has always puzzled me, and thus I hope being able to code will answer this question. Furthermore, learning Python specifically opens up areas such as machine learning and software development.

Current challenges and my mentor.

Given we are nearing the end of January, I have already made significant progress in the online course. It has taught me many new concepts, even in areas that are not new to me. For example, the course introduced the Anaconda Navigator, Jupyter Notebooks, and Sublime Text, all of which are Python environments that I have never been exposed to before, as I have only used the old-fashioned IDLE editor that comes default with Python. Similarly, when covering “basics” that I had already previously learned, I came across gaps in my knowledge – e.g., lists, indexing, slicing – that I now fully understand, thanks to the course.

However, a major challenge I have already faced is time management. Although thirty minutes is not a long period of time, procrastination, “other” homework, and simply fatigue make it difficult to consistently work on Python every day. To combat this, I embraced time blocking – scheduling every minute of my day into “blocks.” After returning from school, I simply incorporate my assignments, routines, and learning Python into my schedule. It has significantly increased my productivity, and over this semester turnaround week I have managed to make up for those days I have missed.

My mentor for this project is Bill Zhang, a family friend and colleague who is a senior software engineer and systems architect at Teradici, a company recently acquired by HP that develops remote desktop, PCoIP technology. He has very kindly accepted the role of assisting me along this journey. As a software engineer, Bill will without a doubt be invaluable to me with his experience and passion for technology. I will be having biweekly meetings with him starting in February, where I will be asking Bill about issues and problems I am having, concepts I don’t understand, advice, guidance, and more!

I am very excited to continue learning Python for my In-depth Study! I will bring you updates in my next post.

Leave a Reply

Your email address will not be published. Required fields are marked *