Original question from Quora:

Are there any good websites to learn and do projects in Python?

I want to learn & do some projects which are worthwhile to demonstrate my ability & hands on experience in my resume.

Thank you !!

My Answer:

There is one website you need if you REALLY ant to learn Python. And I mean really learn.

This is one of my favorite websties in the world because it is so brilliant at teaching you in the way that is most important to learning…

Let me explain how I learned to code decades ago.

When I was like 10 years old, I fell in love with computers. In 1995, my parents bought a Packard Bell computer at Radio Shack. It had Windows 3.11 for Workgroups (whatever those are), a 66 MHz processor, 8 MB of RAM, and I think a 512 MB hard drive.

We also got the internet via AOL 2.0 or 2.5, whatever version there was at the time. Yes, it was dialup on a 14.4 kbps modem.

Oh and it had a CD-ROM drive!

I loved that computer and it was the family computer for probably 5 or more years. We got a lot of mileage out of that old beast.

So, on that computer, I decided I wanted to learn how to program computers and my mom took me to the bookstore to find books on computer programming.

Somehow I found out that professional programmers used a programming language called C, so I convinced my mom to buy “Teach Yourself C in 21 Days”. I was in middle school/junior high and I would read the book, do my best to understand things like variables, loops, and so on.

And I did something remarkable…

I would type in the exercises to my computer and would make these little programs that would print out “hello world” or would do basic calculations.

I wasn’t very good, but I was learning and practicing and getting better.

So then, I decided I wanted to make VIDEO GAMES!

That led me down the most bizarre rabbit hole of learning C++, Assembly, and oddly low level programming to do things like change the screen resolution, paint pixels to the screen, and stuff like that.

I read a lot of books and surfed the internet to find whatever I could about how to make video games. Eventually I found a compiler called djgpp that could do 32 bit mode and also there was this great little game programming library called Allegro that made graphics programming easier.

So, somehow I found a handful of tutorials for Allegro and started building my own games. I made Pong, a tilemap editor, and a rudimentary version of Tetris.

By this time I was in 7th or 8th grade. I knew more about writing software than anyone I knew. There were no mentors, the internet was a terrible place to find anything, there was no Google.

Yet, I learned and got better to the point that by high school and college I already could code at a near professional level. Whenever I wanted to do something, I just figured out how to do it, and hacked together something that worked.

And that is really the only way to learn. You don’t learn by reading, you learn by doing.

Writing software is a skill, like throwing a football or playing guitar. Books and videos are helpful prompts, but the skill of building software comes with practice.

So, there is really only one website out there I can point to that will teach you how to write Python in the best possible way….

Learn Python the Hard Way

The magic of that book is that it is designed around doing the exercises. So, go buy the book, and do the exercises for each chapter.

Type them in your computer BY HAND!!!

I’m not exaggerating. The experience of typing in a program teaches you something remarkable. It gives you some repetitions of writing a program. It puts the patterns into your fingers and your brain.

Reading by itself won’t do that. Copy/paste robs you of the learning too.

Only by typing in programs, making mistakes, debugging, and finally making stuff work will you learn the real skills of programming.

So, if you want a website to learn how to write Python code, that is the best one to use.

-Brian

P.S. Have you subscribed to Code Career Genius yet?