"Once you’ve learned a small subset of a language like Python—variables, functions, control flow, arrays, and dictionaries—then features are no longer the issue. Sure, you won’t know all the software engineery stuff like exceptions and micromanagement of variable and function scopes, but it’s more important to learn how to turn thoughts into code before there’s any mention of engineering.
My real template for a first programming class is this: Teach the bare minimum of language features required to do interesting things. Stop. Spend the rest of the semester working on short assignments that introduce students to problem solving and an appreciation for the usefulness of knowing how to write code."
Sympathy for Students in Beginning Programming Classes