Would you like to learn computer programming, but you've been frustrated by courses or books that give you too much - or too little information - leaving you feeling hopelessly lost?
Those approaches remind me of a guitar teacher I had years ago. He had two instructional methods - neither of which worked for me. He would either teach me to play one specific song by memorizing it, then I could play that song - but nothing else. Or he would play something complicated while I sat, watching him play. I guess I was supposed to pick up his guitar-playing skills by osmosis, but that didn't happen.
I've taught computer programming for many years and have found the most effective approach is to teach the tools one by one, giving exercises or assignments that allow students to practice each new concept until mastered. As the student learns, he or she gradually builds larger, more complex programs. While this may not be the most glamorous technique - it works!
Students gain confidence as they truly understand how to use the programming tools.
What are programming "tools"? Most computer languages have the same basic features. I use Python 3 in this course. (The simplicity, but power, of python makes it an excellent language for beginning programmers). After completing the course, students will be able to go further with python or easily switch to another programming language.
Students learn programming by programming! There isn't a substitute for that. There's inevitably some struggling in the early parts of any programming course. Learn from your mistakes, figuring out what you did wrong - and how to fix it, makes you a stronger, more confident programmer.
I don't give out code files for the assignments. However, each assignment has an accompanying video that reviews my solution. The solution videos should be viewed after completing the assignment to the best of your ability.
If you feel that the video solutions aren't enough and want a little extra support, once you enroll in the course, you'll see an option for a paid upgrade that allows students to submit assignments to me in order to receive feedback.
A printable pdf checklist is included to chart your progress in the course.
Programming is Learned - by Programming!
In this course, students will learn:
How to use a basic code editor (the free Wing IDE)
Variables, variable types, and conversions
Conditional statement (if, elif, else)
Repetition using for and while loops, nesting loops
Lists (similar to arrays in most other languages)
Random number generation
15 programming assignments are given. For each assignment, there is a video showing my solution for that assignment.
The assignments are text-based (no graphics or gui). This keeps the focus on learning the language and programming logic, building a strong foundation for more advanced programming.
Table of Contents
Frequently Asked Questions
How long do I have access to the course?
Forever! Once you've enrolled and paid, you'll have access to the course material for as long as you need. So devour it all in one weekend or take things slow. It's your choice!
What if I'm unhappy with my purchase?
Well, I would be sad. But if you're really unhappy with the course, just email me within 10 days to get a full refund.
I still have a question, how can I contact you?
I'd be happy to answer any questions you might have. Send me an email at firstname.lastname@example.org.