Friday 29 September 2017

Move to Learn Python the Hard Way

I had my last straw with the "Python Beginner to Advanced" course today. It was after I finished a task on API calls using POST requests to the Google URL minimizer. I thought I'd take what I learned to attempt some fancy stuff with my Last.FM library (or even basic stuff)... Yet realised I actually knew very little about what I needed to go. I had a decent, surface-level understanding... But couldn't get anything to work. I realised I needed a course a little deeper. I finally lost it with that course.

So first I tried Codecademy... Which gave me my very, very first coding experience years ago with its intuitive interface. I progressed fairly well, then we got to booleans. They seemed to think the best way to explain it was to copy, word for word, the code they had already explained before you actually type it. So you end up typing stuff you already know, just to get the tick and move on. Don't get me wrong; the course I ended up going with takes pride in asking you to type and retype verbatim what is written. But it at least leaves you to test it first before explaining why it works, then it makes sure you investigate yourself why it works (or, if there's a bug, doesn't work). I was so switched off with Codecademy I left an angry message on their feedback forum... Then hunted elsewhere.

I decided to focus on Learn Python3 The Hard Way for a number of reasons. Firstly... The website looks pretty. Joking; I mean, it's a pretty website, but I'd heard a lot of good things about the course. Not only that, but when I read through the materials earlier in the year it really appealed to my desire to understand code inside-out, rather than just copying snippets "because it works". Even though maybe 90% of the stuff I covered in the first 10 or so exercises was already information I knew, I appreciated the focus on encouraging me to comment each line of code in order to explain exactly what is going on. I felt like some of these ideas on what might be happening were finally given some form... Not only that, but I now feel much more confident creating something very basic from scratch than I ever did following the "Ums" and "Ahs" of the main course I'd been featuring up to now. The flow of activities often includes researching Google for the meaning of something, then coming back and integrating that with what I have already worked on (not that it should be mistaken for laziness on the author's part; he often has the concepts explained in a future exercise). There is also a great focus on hacking and "breaking" your code... The breaking part I find tedious I admit... I mean, I get he's getting us tuned onto debugging and figuring out what's wrong myself. But often I'm pretty honed in on where I make a mistake already just from the error messages I'm left with. Instead, I take "find ways to break your code" to mean hacking it so its purpose and operations become something entirely different from what was initially coded... And including inappropriate expletives wherever I can.

That being said, I have felt extremely lethargic today. Maybe it has been from focusing more on courses in the last week then I have done in a long, long time. I'm surprised I typed as much as I did for this post, as I just feel slow at this moment.

I'm still figuring out the best way to integrate the new course with my GitHub, nonetheless, the old work is still available there. Also, the course I am now following is "Learn Python The Hard Way" by Zed A. Shaw

No comments:

Post a Comment