In 2023, why learn Python
I’ve made some various allusions to learning Python but never really discussed this. As someone with a background in finance, why would I learn python? And with the threat of AI taking over junior software developers, again, why would I learn python?
Well, here’s a few reasons why I’m learning Python:
- In case Excel VBA goes away, I have a backup program to use. Power apps seem to affect files or directories, things of that nature, but do not seem to do math type operations, so Python is my substitute.
- When I research data science, R, Matlab and Python are often mentioned as the language used and Python is often touted as the easiest language of the three to learn. So, Python it is.
- Python is also often touted as a language well suited for data visualization. Can’t hurt to learn that.
- I eventually want to learn machine learning and artificial intelligence in the sense of how these areas of computer science work and it appears having some knowledge of Python might aid me. I’m under the impression that one can do machine learning using Python.
Now, some of this stuff, such as machine learning, is a real stretch for me but hey, it couldn’t hurt to have that as a far-off goal for me.
How am I doing this? Well, someone sent me an ad for Harvard’s CS50 Python offered under edX and so I enrolled, not thinking about how much time it was going to take.
I will admit, the further into the course I go, the harder the problem sets get. In recent lectures, at least one of the problem set I run into serious problems and have to spend hours coming up with alternative solutions in order to pass the course’s “grader”. There are nine lectures which tend to run an hour or hour half. Lecture 8 though is almost 3 hours and lecture 9 is about 2 hours. Each lecture has about 4 problem sets, but there was one with 6 problems, lecture 8 has 3 and lecture 9 is actually a project.
It is said that the average student spends about 10 to 20 hours on each lecture’s problem sets (so 4 problem sets taking a total of 10 to 20 hours). If you are on the 20 hours side, then half of the working week is spent on these problems.
Yeah, a lot of hours.
After a couple of lectures under my belt, I started coming across YouTube videos on CS50 and it was there that I learned about the average length of time on those problem sets. In addition, when reading the comments to the videos, I learned that quite a few people would quit because the course was hard. At least I can pat myself on the back for sticking with the program. We’ll see if I can get through the project.
There were also a couple of comments where people said, “Oh, it only took me a few days to go through the course”, or something similar. Okay, for me, it’s taking about 8 months. Maybe those people are already programmers.
One or two people said that they just attend the lectures; they don’t bother with the problem sets. That’s a mistake! On one hand, the problem sets are difficult because they often bring up stuff that were not addressed in the lectures. Once, the professor said that he would talk about “raising exceptions” or “raising errors”, but he never did. He talked about “try” and “except” but not “raise errors”. There were quite a few problems that would bring up techniques or situations not addressed in class, and you would have to go out and research it. And that’s when you run into very cryptic language or to put it inelegantly, gobbledygook.
Reading through the gobbledygook took a lot of time.
But quite often, the problem sets would impart very important information about where to find techniques or libraries that could help you out in the future.
If you don’t do the problem sets, then you miss those additional information about libraries or techniques.
Next week I’ll be listening to the final lecture and then the final problem will be a project. I don’t know what the requirements or rules are for the project. Maybe I will learn in the final lecture.
Cross my fingers, I’m close to wrapping up the course.