CourseCraft

Introduction to Python Programming

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.

Don't miss out
It's the best course ever

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)

  • Boolean Logic

  • Repetition using for and while loops, nesting loops

  • Lists (similar to arrays in most other languages)

  • String processing

  • Random number generation

  • Functions

  • 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

Section 1: Introduction
Assignment and Video Checklists
Purchase Optional Assignment Feedback
Lecture 1: Introduction to the Course
video
Lecture 2: Install Python and the Wing IDE on a Windows System
video
Lecture 3: Install Python and the Wing IDE on a Mac
video
Lecture 4: Using a Raspberry Pi Computer for the Python Course
video
Lecture 5: Basic Instructions on Using the Wing Editor
video
Section 2: Variables, Input, Types, and Type Conversions
Lecture 6: Variables in Python
video
Lecture 7: Getting Input From the User, Converting Variable Types
video
Section 3: If Conditional Statements, Boolean Logic, Math Precedence
Lecture 8: Introduction to the If Statement
video
Lecture 9: Boolean Logic
video
Lecture 10: Creating a Compound If Statement
video
Lecture 11: Using Nested If Statements
video
Lecture 12: Precedence of Math Operations
video
Lecture 13: Boolean Operator Precedence
video
Section 4: Lists and For Loops
Lecture 14: Introduction to Python Lists
video
Lecture 15: Creating a For Loop, the Wing Debugger
video
Lecture 16: More For Loop Practice, Loops & Lists
video
Lecture 17: Operations With Python Lists
video
Lecture 18: Additional List Operations
video
Lecture 19: Sorting and Reversing Lists
video
Lecture 20: Nested For Loops
video
Section 5: Random Numbers and Strings
Lecture 21: How to Generate and Use Random Numbers
video
Lecture 22: Manipulating Strings in Python
video
Section 6: While Loops
Lecture 23: How to Create a While Loop
video
Lecture 24: Using a Boolean Variable to Control a While Loop
video
Lecture 25: More on While Loops
video
Section 7: Python Functions
Lecture 26: Introduction to Python Functions
video
Lecture 27: Passing Arguments to a Function
video
Lecture 28: Returning Values From a Function
video
Lecture 29: Using Functions With Named Arguments And Default Values
video
Lecture 30: Modularizing Code With Functions
video
Lecture 31: Dog-Human Age Calculator Assignment Given Using Functions
video
Lecture 32: Variable Scope, Global And Local Variables
video
Lecture 33: Rock, Paper, Scissors Assignment Given Using Functions
video
Section 8: Tic Tac Toe: Text-Based Example of Creating a Larger, More Complex Program
Tic Tac Toe Code Files
Lecture 34: Tic Tac Toe Program Introduction and Overview
video
Lecture 35: Tic Tac Toe Board Setup
video
Lecture 36: Tic Tac Toe Player's Move
video
Lecture 37: Tic Tac Toe Player Loop
video
Lecture 38: Tic Tac Toe Computer's Move (Random Selection)
video
Lecture 39: Tic Tac Toe: Check For a Win or a Tie
video
Lecture 40: Tic Tac Toe: Improve The Computer’s Playing Logic (If Statements)
video
Lecture 41: Tic Tac Toe: Improve The Computer’s Playing Logic by Testing For A Win
video
Lecture 42: Tic Tac Toe Final Wrapup
video
Section 9: Programming Assignment Solutions and Explanations
Lecture 43: Assignment 1 Solution: Variables, Input, and Print
video
Lecture 44: Assignment 2 Solution: Simple If Statements
video
Lecture 45: Assignment 3 Solution: If Statements With Boolean Operators
video
Lecture 46: Assignment 4 Solution: Branching Story With If Statements
video
Lecture 47: Assignment 5 Solution: Simple Math Calculator
video
Lecture 48: Assignment 6 Solution: Intro to Lists
video
Lecture 49: Assignment 7 Solution: Student Test Scores
video
Lecture 50: Assignment 8 Solution: Madlib
video
Lecture 51: Assignment 9 Solution: Players Scores
video
Lecture 52: Assignment 10 Solution: Random (Silly) Sentences
video
Lecture 53: Assignment 11 Solution: Pig Latin
video
Lecture 54: Assignment 12 Solution: Race/Contest Simulation
video
Lecture 55: Assignment 13 Solution: Tip Calculator
video
Lecture 56: Assignment 14 Solution: Dog-Human Age Calculator
video
Lecture 57: Assignment 15 Solution: Rock, Paper, Scissors
video

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 vicki@vickiwatson.com.

Don't miss out
It's the best course ever