Learning Python Week 1 Progress Update
After doing a bit of googling, I found the book ‘Learn Python the Hard Way’ being recommended in a lot of places. So, I was intrigued. When I have read through the first few exercises in the site, it seemed very basic. However, I thought that the book might cover some advanced stuff as the last few exercises talked about building a website, etc. So, I bought the book.
However, after almost going through 40+ lessons, I realized that the book was too basic for me. Then, I skimmed the rest of the book to see whether there would be material that I would find interesting. In the end, I decided to return the book. I DID like a number of things about the book and the book has some great take-aways. I would write about them later.
Given the few bits of python syntax I have picked up from the Hard Way book, I wanted to see whether there is any hands-on way for me to practice. I discovered CheckIO — to me this was pure gold. This site allowed me to practice my amateur Python skills using simple problems. I solved the first problem (find whether all the elements in a given list are the same) and CheckIO ran a series of test-cases to ensure that my code passes all the tests — the test-cases were quite comprehensive. I was so grateful that such a comprehensive series of test-cases have been written for such a simple problem.
After I solved the problem, CheckIO showed me the option to review the code written by others — this is where I found this site to be so valuable. I checked out the Editor’s Choice solutions — around 18 of them. There were a number of solutions that took my breath away due to their brevity and elegance. There were a number of solutions which used many concepts that I did not understand — so, I decided “here is my roadmap of the python concepts to learn. Once I learn these ideas, I can come back and reread these solutions to see whether I understand them”.
One disadvantage I found was that there was not much comments to explain how the solution worked — given that the people who provided these elegant solutions were top-class programmers, I was surprised to find that there was little commenting in the code to explain the logic. Sometimes, I had to read through a lot of discussions to find out how a piece of code works. But I understand that it is because I am a newbie in the world of Python. But despite these minor disadvantages, I love the site and tried to login every day. But on my 3rd problem, I got stuck. I wrote the algorithm for it, but I did not know enough python to use the dictionary to solve the problem. Some googling would have helped. But I decided to read another book.
So, the next book of choice was Automate the Boring Stuff with Python. This book was recommended by both CheckIO in their postTop 5 free books to learn Python as well as in Hackr.IO. I read a little of the intro on the website and I was impressed enough that I bought the 2nd Edition PDF immediately. I have finished about 3 chapters in the book — it is an excellent book for beginners and even for experienced programmers like me. I am taking detailed notes on the book — what ideas I am finding useful, etc. I would post them in the coming days as I make my progress through the book.