Python Foundations Guide
A beginner-friendly guide for variables, loops, functions, data structures, and debugging habits.
Use programming guides for lecture structure, then connect students to visual tools for algorithms, data structures, debugging, and complexity thinking.
Start here
Each resource is grouped by purpose so students can read a guide first, then open a browser-based tool when they are ready to inspect an example artifact or practice a concept.
Learning guides
Interactive tools
Learning guides
Teaching-first walkthroughs for core programming concepts and coding workflows.
A beginner-friendly guide for variables, loops, functions, data structures, and debugging habits.
Learn decomposition, step-by-step reasoning, pseudocode, and Big-O basics with practical examples.
A practical guide to arrays, linked lists, stacks, queues, trees, and graphs for teaching labs.
Interactive tools
Browser-based programming tools students can use directly while learning concepts.
Run Python code line-by-line and inspect variables, stack frames, and data structures at each step.
Format Python code with PEP 8 style rules and check for syntax errors with line-specific feedback.
Step through classic algorithms — bubble sort, binary search, linear search, factorial — with live variable inspection.
A teaching-first regex playground for testing patterns, flags, capture groups, replacements, and common text-processing examples.
Step through Python for and while loops and see loop variables and accumulator changes at each iteration.
Convert JSON data to equivalent Python dict, list, and literal representations instantly.
Convert plain English pseudocode to structured Python starter code with rule-based mapping.
Practice Python with multiple-choice questions on variables, loops, functions, lists, and more.
Learn and compare time complexity notations with examples, code, and a complexity comparison table.
Visualize recursive Python functions with a call stack view, argument and return value tracking.
Explore how CPUs, cores, threads, parallel work, and overhead affect estimated runtime and speedup.
Execute Python code one line at a time with forward/backward controls and per-step explanations.
Convert CSV data to Python list of dicts or list of lists with automatic header detection.
Generate truth tables for Boolean expressions with AND, OR, NOT, XOR operators (up to 4 variables).
See BST ordering rules and highlight insertion/search paths and deletion cases step by step.
Learn heaps as complete binary trees stored in arrays. Bubble-up and heapify-down steps included.
Build a graph, switch directed/undirected mode, and run BFS/DFS with visited/frontier highlights.
Understand indexed access and shifting on insert/remove with a clean array-cell view.
Learn how priority queues serve next items by priority (min/max) with history and explanations.
Inspect the Python call stack at each execution step — view active frames, local variables, and return values.
Compare two Python code snippets side-by-side with a unified diff view and change summary.
Practice debugging skills by finding and fixing intentional bugs in Python code snippets with hints.
Explore Python lists, dictionaries, sets, and tuples interactively with visual block representations.
See how dictionary keys are hashed, stored, updated, and retrieved step by step.
Learn stack operations step by step with a visual “top” view and underflow handling.
Learn queue operations step by step with front/rear labels and FIFO intuition.
Visualize nodes and next pointers. Insert/delete/traverse with highlighted steps.
Learn tree concepts (root/parent/child/leaf) and traversals with step-by-step highlights.
Learn a double-ended queue with front/rear operations and step-by-step explanations.
Track how Python variables change at every execution step with before/after highlighting.
Auto-generate a variable trace table from Python code execution for dry-run study.
See how sets store unique elements and perform union/intersection/difference.
Start with Python foundations, then move through algorithm thinking, visualizers, data structures, debugging practice, and Big-O complexity.