Exam prep · Free college course
A complete first computer science course taught in Python, built from the 14 chapters of OpenStax Introduction to Python Programming plus a searching, sorting and Big-O unit and a testing and debugging unit. It runs from statements, expressions and types through decisions, loops, functions and scope, modules, strings, lists, and dictionaries, sets and tuples, then classes, recursion, inheritance, files and exceptions. Each chapter starts with a short notes card and then mixes recall, multiple choice, cloze, typed answers, true or false, and a few sequence cards. Many cards show a short snippet and ask what it prints or which exception it raises, and the classic beginner traps are seeded throughout: integer versus float division, aliasing, the mutable default argument, scope shadowing, off-by-one errors, and == versus is. Every snippet was run in real Python 3 before it went into a card. One honest limit: cards cannot run code. This course is the concept half of CS1, terminology, tracing and prediction, so use it alongside an editor or IDE, not instead of one. It does not ask you to write programs.
Copied straight from the course. In the app, each wrong option also gets its own explanation.
Card 1Which list can binary search be used on correctly?
A list already sorted in ascending order. Binary search relies on order to decide which half can be thrown away, so its input must already be sorted.
Card 2Which lists the logical operators from highest precedence to lowest?
not, and, or. not binds tightest, then and, then or, all looser than the comparison operators.
Card 3On [2, 5, 8, 12, 16, 23, 38, 56, 72, 91], searching for 2 (the first item), which search makes fewer comparisons?
Linear search, with 1 comparison against 3 for binary. Best case for linear search is the first item (1 comparison). Binary search still has to narrow down to it (3 comparisons on this list).
Yes. Create a free Encodr account and all 16 units and 1,117 cards are yours to study, with spaced repetition scheduling your reviews.
No, and the course does not pretend to. Cards cannot run code, so it covers the concept half of CS1: vocabulary, tracing and predicting output, scope and mutability rules, naming the exception a snippet raises, and classifying Big-O. Use it next to an editor or IDE where you write and debug real programs.
OpenStax Introduction to Python Programming (chapters 1 to 14, CC BY-NC-SA 4.0), plus the Python documentation and ACM computing curricula for the searching, sorting, Big-O and testing units. The cards are rewritten, not copied.
Python 3. Every snippet was run in Python 3 before it became a card, and cards that depend on error message wording say so or ask only for the exception type.
No. Cards are text only, so call stacks and sort passes are described step by step in words.