A study desk in warm window light: an open laptop showing the OmniTaught Python for Humans course, a mug of coffee, an open notebook with a fountain pen, and reading glasses
A hand holding a phone running the OmniTaught app, at a sunlit table with a mug of coffee and a notebook
OmniTaught 🔥 6Topics

Course

Python for Humans

7 of 12 lessons complete

✓ Reading Code You Did Not Write
Skim it, narrate it, trace it · 6 min
100%
9 The Ways AI Code Lies
Seven failure patterns to hunt for · 6 min
10 The Verification Workflow
A repeatable checklist for shipping with confidence · 6 min
11 When It Breaks: Reading the Error
A traceback is a help message wearing a scary costume · 9 min

Lesson 8

Test It Before You Trust It

Reading told you what the code claims to do. Running tells you what it actually does. Testing sounds technical, but at its heart it is simple: ask the code a question whose answer you already know, and see if it agrees with you.

Key idea: The first test is never just does it run. It is: does it give the answer I already know is right? Code that runs without errors can still be confidently, quietly wrong.

Suppose the AI wrote you a function that averages a list of numbers. Do not feed it your real spreadsheet first. Feed it avg([2, 4, 6]), because you can do that one in your head: the answer must be 4.

Quiz now, while it is fresh. 9 questions, no timer.

1 of 9

What is the best first test for an AI-written function that averages a list of numbers?

The question on the screen is a real one

Learn Python for real
and actually remember it.

12 lessons, 138 practice questions, 74 flashcards, and 1 timed exam set. Other Coding Courses.

Other Coding Courses

Built the same way, and every one of them is included.

And if the thing you need is not on the shelf at all, the Topic Genie builds a full course on anything you name, with the same lessons, questions and review schedule as this one. Beta testers get a code the day they join.

Who builds this

Built by a teacher who became a National Certified Counselor.

OmniTaught is developed by Michael C. Shedrick, M.S., PLPC, NCC: a teacher with a master's degree in educational leadership who went on to become a National Certified Counselor. Both jobs kept exposing the same problem: learning tools that stop at definitions. So this course teaches the working version of its subject, the part you actually use when the real thing is in front of you, and it teaches it the way memory works: a short lesson, a quiz while it is still fresh, and review that brings it back before you lose it.

Also from the same desk, in case they are useful: OmniPsyche Counseling Tools, which preps your next session and not just your notes; OmniPsyche.org, free mental health education with no paywall and no signup; and NOTICE, a free guided meditation app.

What this course covers

Every lesson is short enough to finish in one sitting and ends with questions that make you use what you just read. The last ones are timed, in exam conditions.

  1. What Code Actually IsA recipe the computer follows to the letter5 min
  2. Variables: Boxes with LabelsGiving names to values so you can use them later5 min
  3. Decisions: if, elif, elseTeaching your program to respond differently to different situations6 min
  4. Loops: Doing Things Many TimesWrite the step once, let the computer repeat it6 min
  5. Functions: Name a RecipePackage steps under a name so you can reuse them anywhere6 min
  6. Lists and DictionariesOrdered collections and labeled collections, the two shapes of everyday data6 min
Show all 13 lessonsShow fewer
  1. Reading Code You Did Not WriteSkim it, narrate it, trace it6 min
  2. Test It Before You Trust ItKnown answers, edge cases, and print5 min
  3. The Ways AI Code LiesSeven failure patterns to hunt for6 min
  4. The Verification WorkflowA repeatable checklist for shipping with confidence6 min
  5. When It Breaks: Reading the ErrorA traceback is a help message wearing a scary costume9 min
  6. Text and FilesWhere the syntax finally does something useful9 min
  7. Python Timed Simulation: Set A30 items, 35 minutes, exam mode35 min

A whole lesson, start to finish

Not a sample and not a summary. This is all of lesson 2, exactly as it reads in the app, and then one of the 8 questions that follow it.

Lesson 2 of 13 · about 5 min

Variables: Boxes with Labels

Giving names to values so you can use them later

A box with a label on it

A variable is a labeled box. The line age = 34 means take the value 34 and store it in a box labeled age. From then on, anywhere you write age, Python quietly swaps in 34. You already do this professionally: a client file labeled with a name, a folder labeled Q3 Grades. Label once, refer to it forever.

Careful

In Python, = is not the math equals sign. It never asks a question, it gives a command: store the thing on the right under the name on the left. Reading count = count + 1 as math looks impossible, reading it as 'take what is in count, add 1, put the result back in the box' makes perfect sense.

Boxes can be refilled. If you run x = 5 and later x = 8, the box labeled x now holds 8 and the 5 is gone. The label stays, the contents change, exactly like updating a client's session count each week.

Numbers versus text

Python treats 7 and "7" as different things. Without quotes it is a number you can do math with. With quotes it is a string, which is just the coding word for a piece of text. Strings can hold anything typeable: names, notes, emails. Adding two numbers gives a sum, but adding two strings glues them together, so "3" + "4" gives "34".

To weave a variable into a sentence, use an f-string: put an f before the opening quote and wrap the variable in curly braces. With name = "Ada", the line print(f"Hi {name}") shows Hi Ada. Think of it as a form letter where the braces mark the blank to fill in.

Key idea

Names are for humans. Python is equally happy with s or session_count, but future you, reading this code in three months, will thank you for the descriptive one.

Remember

Valid names use letters, numbers, and underscores, with no spaces, and cannot start with a digit. client_count works, 2clients and client count do not.

That is genuinely all a variable is: a name pointing at a value. Every impressive program you have ever used, from scheduling software to your phone's messages, is mostly thousands of these labeled boxes being filled, read, and updated.

In 'age = 34', what does the = sign do?

Questions people ask

Is there an app for learning Python from scratch?

Yes. OmniTaught opens in any browser and installs to a phone or a computer like an app, and it works offline once you have opened it. Python for Humans is 12 lessons, 138 practice questions and 74 flashcards, and the first week is free with no card.

What does Python for Humans cover?

Code from zero, then check what AI writes for you. It is 12 lessons long, plus 1 timed exam set in exam conditions, and every lesson ends with questions on what you just read.

How long is each lesson?

About 6 minutes. There are 12 of them, so the reading comes to under 2 hours in total, and it is built to be done a lesson at a time rather than in one sitting.

How much practice is in it?

138 practice questions, every one with an explanation of why the right answer is right, plus 74 flashcards that come back on a schedule built from how well you knew them last time.

What does it cost?

Nothing for the first week, and no card is asked for. After that OmniTaught is $9.99 a month or $79 a year, which opens every course on the site, this one included, plus one Genie course a month.

Free for a week. Then $9.99 a month.

No card to start.

EVERYTHING INCLUDED
$9.99a month, or $79 a year
  • Every course in the ever-growing library, every quiz, & your review deck.
  • One Genie course a month, built on whatever you name. Extra courses are $6.99 each. Add narration to any Genie made course for $9.99.
  • A free week first, no card needed. Cancel any time from Settings.
Start Python for Humans free

Flashcard apps have the science but no content. Content sites have no retention engineering. This one has both, built one craft at a time.