As a long time educator I’ve taught 500,000+ students to code. In that time I’ve learnt one thing about you, the coding student….
A 6 hour online course that teaches you how to write software from scratch. The language is Python but the principles are universal. By the time you’re done you’ll have principles you can apply to any programming language.
The course explains everything in simple, understandable language. No tech jargon here!
Sometimes, learning to code leaves you with more "why" than "wow". This course serves an XL helping of "wow"!
The course is in Python, the world's most popular language. But the principles taught are used in all languages.
Everything is aimed at making you a fully fledged software engineer - not just a code monkey.
I show youthe best way to think about problems and what you're making. Good habits now = better software later.
Discover my stories of freelancing and some truly horrific coding (but those apps still earned $100k+).
A few more reviews (there are over 18,000 to choose from!):
After years of teaching online I've discovered the only true method you need to become a software engineer. Each section in this course is modelled after that realisation in the following way:
A BASIC explainer video with me chatting face to face and drawing on my iPad. I want to you to "get" the concept before we touch a single line of code!
A real world coding example that you can either watch or follow along with. It's in Python but the principles apply to all languages.
Then I set you a task just outside of your comfort zone. Yes, you need to think. Thinking like that will elevate you above 95% of your peers.
We then look at my solution and I ask you some hard questions about the code. Just like the questions you'd get in an interview - except those guys have nothing on me!
We start by explaining the concept, using pictures (on my iPad) and real life analogies. I want you to understand what variables and types are, plus how they are used effectively.
For example, do you know why we have variable types? If you don't know that then you'll have a hard time in an interview.
Also, not knowing why will lead to dreadful mistakes in your code. Mistakes in code cost millions. Just ask any company that's had an outage and they'll confirm it!
So, join me in session 1 to discover the untold secrets of variables!
A collection of objects is a convenient way to store unknown numbers of the same kind of item.
Although I say "unknown", sometimes these collections expect a known quantity. That distinction can be the difference between a win or a fail!
In this section I will show you the properties of each and their pitfalls. You will also see these in action in the task section.
You are guaranteed to save about a year of developer time if you nail this topic!
A real tricky section. The concept is simple but reality needs a bit of explanation (by yours truly).
How do you multiply things? What if you multiple apples with bananas?
What happens if you “add” two words?
What happens if you add a word and a number? Hint - This actually works and you may do it pretty often.
Operators can be tricky, but with my help you’ll see right through their devious ways!
Hot on the heels of variables we have conversions, a very tricky subject.
The problem lies in human perception. For example: When we "see" a number it can equally be part of a maths equation or part of a sentence. Simple enough.
BUT computers (code) cannot see the same thing as our brains so we have to specify a conversion on occasion.
There are many pitfalls here and this subject is probably the one area that gives beginners a “crashy” application.
Fear not though, I’ll get you through this!
Comparisons form the basis of most "logical flow" in your apps.
They are used in EVERY LANGUAGE AND EVERY FRAMEWORK since the dawn of (computer) time.
Comparisons form the basis of algorithms. In fact, I would go so far as to say that comparisons are computing. Not only that, comparisons are also the root of Artificial Intelligence.
With my help you'll soon be comparing many things and really getting into the spirit of how a software engineer thinks!
Loops are insanely useful but also insanely dangerous!
Many beginner developers come undone when attempting loops because they can get stuck in "endless loops". These are a logical trap that will destroy your application.
Loops also let you query arrays efficiently (you'll probably also perform comparisons at the same time!).
Watch me as I lay out when to use loops, when not to use them and most importantly how to use them.
Functions can be tricky and for that reason it's where most beginners get stuck!
Functions are actually a VERY simple concept (a block of code). However the problem lies in how simple that block should be and when you should divide up the block.
Unfortunately most teachers leave out that extremely important concept!
Behold in wonder and amazement as I unravel this complexity of the universe! Bonus: I will make you 30-50% more productive once you get it (that's not an exaggeration by the way).
Variables and functions are the fundamental building blocks of applications, but we need something more. We need classes.
Classes exist for 2 reasons:
To organise your code logically.
To "blueprint" things.
Classes are THE MOST misunderstood concept out there. My YouTube video explaining them is by far the most popular in my channel.
Get even more understanding by completing this section!
I added in this extra section after many hundreds of comments on my YouTube channel about this subject.
Those comments were directed at a single video demystifying "classes vs objects", a normally very confusing subject for beginners.
Once you understand the difference you'll a key element behind successful software design thinking.
Well, no, not that kind of inheritance (unfortunately).
When making an app you can find yourself repeating code in similar classes. Wouldn't it be nice to avoid that problem?
Inheritance is one of the solutions for that but it should be used sparingly and in the right contexts.
I'll show you why and when to use inheritance to write less code and save more time!
Now this really is a subject you must know at any cost.
Encapsulation may seem subtle at this point in your learning path but later on it will be more valuable than diamonds!
If you get encapsulation right then your colleagues will thank you. Your future self will thank you. Even your mother will thank you (because you'll save so much time that you can take her out for a nice meal instead of pulling your hair out from debugging "spaghetti" code).
The art of encapsulation is what keeps ALL software running smoothly.
DO NOT SKIP THIS SECTION!
All apps need a way for the user to interact with them. Even a very basic Python app needs it!
Here I show you how to do it, when to do it and how to structure your inputs.
The knowledge here doesn't just apply to Python. I also drop my years of hard won knowledge concerning "do's and dont's" when it comes to generating a User Interface for your users.
This section applies to all languages and frameworks because interaction is driven by human nature (and not by the language you're using).
Get interaction right and your app will absolutely take off!
Not to be missed!
Once you've completed this course you're ready to make software.
No, that's not a joke.
In fact I'll prove it to you. In this section you will make an accounting app that keeps track of sales and costs for a coffee shop.
Not only that, you'll also calculate the shops daily profit and be able to recall previous days figures all in a simple to use command line app. No fancy graphics required!
Yeah, I bet you didn't think you'd be capable of making a full application so soon in your learning journey 😉
Bonus: I challenge you to make the app better. I also point out that 2 more additions to the app would make it a product that people would pay for!
All lessons and assignments are accessible 24/7 online. Lifetime access is guaranteed (I’m not going anywhere!)
If you are unsatisfied for any reason whatsoever I will give you a full refund. No quibbles (but I may ask why after I have refunded you – so I know what went wrong!)
When this course gets updates, so will you. No extra charges. No subscriptions. Just quality content for life.
Just a web browser and your computer (Windows, Mac or even Linux!). All code editors are totally free!
Tempus Fugit – Time Flies. The best time to start your journey is right now.