Welcome to Zero To Python In 30 Days! In the next thirty days I will be taking you step by step through both the basics of programming with Python. To get there we are building a real Python application. Let's start with brief explanation of how and why the course works.
So let’s start with the why…
I designed Zero To Python In 30 Days around what I call The Simple Learning System. It works like this:
Find a fun project
Write at least one line of code every day on that project
When complete, go back to step 1
The purpose is to build the habit and momentum of writing code every day. Programmers who build fun projects have more fun programming. The more fun you have, the more programming you do.
That's how you become a better programmer. It starts with fun.
On one level this course is about teaching you Python. But it’s also about teaching you something fundamental about being a programmer.
Always have a fun project to play with!
And now the how…
This course has you building a real software application in Python. It’s a real project and at the end you will have something to add to your portfolio.
Building real software is a better way to learn. You aren’t just learning the theory of how programming works. You are putting it into practice right away.
If all you did was follow along and do the assignments, you’d have a successful outcome with this course. To get the most out of this experience, here are the best practices to follow:
Have fun
Watch the videos
Write the code yourself
Do the assignments
Break things
Read the extra docs
Progress, not perfection
Have Fun
Programming is fun. The whole course experience works better if you treat it as something fun. And when it’s fun for you, it is easy for you to find excuses to do more programming and have more fun. Fun is a key part to the learning loop. So have fun!
Watch The Videos
This is a video course. So you need to watch the videos and follow along step by step. It's a bit like painting with Bob Ross. There will be some text notes for each video, but it's best to watch the video and follow along.
Write The Code Yourself
The skill of programming is about being able to take the ideas in your head and turn them into working software. The connection between your brain and your hands is a big part of that. You want to shorten the distance between thinking and typing the code.
I’ve found the best way to develop that is by typing out code. Lots and lots of code. You develop your skills as a programmer much faster by typing out the code, making little mistakes, and fixing them. Copying existing code into your program doesn’t teach you as much and makes you a worse programmer.
So write out the code for yourself. Every single line.
Do The Assignments
Most of the assignments boil down to recreating exactly what I did in the videos. Sometimes I ask you to make a few minor changes for yourself. The main point is for you to type and run the code yourself. You won’t learn much by only watching me, you have to do it for yourself. Anyone can do that, including you!
Break Things
Along the way your code will break. There will be typos, errors, and other problems. That is part of programming. You need to practice dealing with errors, solving problems, and so on. Something like 60% of the time you are programming you will be dealing with bugs, broken code, and strange behavior you don’t understand.
The way to get comfortable with that scenario is to practice breaking your code. First you make it work, then you make little changes and see what happens. Sometimes Python will spit back errors. Part of programming is learning to understand the errors, google them, read documentation, and then fix them.
Broken code is not a failure, it’s part of the process of programming. My code breaks all the time, and yours will too. Be kind to yourself when that happens.
Read The Extra Docs
On many of the lessons I will link to useful documentation. It is a good idea to read the documentation to better understand what we are doing. This course isn’t designed to go into great depth on every Python feature. The docs can fill in a lot of the blanks that I may barely touch on.
Progress, Not Perfection
One thing I always tell the programmers I coach is “progress, not perfection”. You don’t need to be perfect and you won’t get it right every time. That’s fine. The key is to make a little bit of progress each day.
If you get overwhelmed or aren’t able to move as fast as you want, keep going. Even writing one line of code each day is progress. And if you line up little bits of progress each day, it’s amazing what that turns into.
So if you find yourself getting down remember…. Progress, Not Perfection!
That is the end of today's lesson, see you tomorrow!
-Brian