MicroSims
Interactive simulations that let you explore computer science concepts by experimenting in real time. Click any card to launch the MicroSim.
Total MicroSims: 114 | Chapters covered: 19
Chapter 1: Intro to Computer Science
-
Computational Thinking Pillars
Visualize the four pillars of computational thinking: decomposition, pattern recognition, abstraction, and algorithms.
-
Explore the internal components of a computer and how they work together.
-
Convert between binary and decimal and see how computers represent numbers.
-
Discover how characters are encoded as numbers using the ASCII standard.
-
Test your knowledge of ASCII symbol characters by identifying them by name.
-
Python vs Java Language Trends
Compare the popularity of Python and Java from 2010 to 2025 in an interactive line chart.
-
Compiled vs. Interpreted Languages
Compare how compiled and interpreted languages turn source code into running programs.
Chapter 2: Python Fundamentals
-
Compare interactive REPL mode with running saved Python scripts.
-
Explore Python's built-in data types and how they behave.
-
Try out Python's arithmetic operators and see results update live.
-
Experiment with slicing, concatenation, and other string operations.
-
Learn the difference between expressions that produce values and statements that perform actions.
-
See how formatting and naming choices affect how easy code is to read.
Chapter 3: Boolean Logic
-
Test comparison operators and see how Python evaluates them to True or False.
-
Logical Operator Venn Diagrams
Visualize AND, OR, and NOT using interactive Venn diagrams.
-
Interactive Truth Table Builder
Build truth tables for Boolean expressions and check your understanding.
-
Find out which Python values are "truthy" and which are "falsy."
-
Order of Operations Visualizer
See how Python evaluates Boolean expressions step by step.
-
Explore how NOT distributes over AND and OR with De Morgan's Laws.
Chapter 4: Control Flow
-
Explore the three fundamental control flow patterns: sequence, selection, and iteration.
-
Visualize how Python evaluates chained if-elif-else conditions as a flowchart.
-
Experiment with Python's range() function and see the sequence of numbers it generates.
-
See how break and continue alter the flow of a loop with step-by-step animation.
-
Watch nested loops fill a grid cell by cell to understand inner and outer loop behavior.
-
Compare for loops, while loops, and other iteration patterns side by side.
Chapter 5: Working with Strings
-
See how Python accesses individual characters in a string using positive and negative indices.
-
Type slice expressions and see which characters are selected with visual highlighting.
-
Watch how split() breaks strings into lists and join() reassembles them.
-
Compare f-strings, format(), and % formatting approaches side by side.
-
Type a word or phrase and see step-by-step how Python checks if it's a palindrome.
-
Try out common string methods and see how they transform text in real time.
Chapter 6: Functions and Modular Design
-
Explore the parts of a Python function: def keyword, name, parameters, body, and return value.
-
Trace how Python executes function calls, passes arguments, and returns values.
-
Understand the difference between parameters (in definitions) and arguments (in calls).
-
See how local and global variable scopes work when functions are called.
-
Build a program from small, reusable functions to see the power of modular design.
-
Browse common function patterns: pure functions, predicates, accumulators, and more.
Chapter 7: Higher-Order Functions and Recursion
-
Visualize how functions can accept other functions as arguments and return them.
-
Watch data flow through map, filter, and reduce transformations step by step.
-
See how recursive calls build a tree of factorial computations that unwind to produce the answer.
-
Recursive Call Stack Visualizer
Watch stack frames push and pop as a recursive function executes.
-
Explore the branching tree of recursive Fibonacci calls and see why it grows exponentially.
-
Recursion vs Iteration Side-by-Side
Compare recursive and iterative solutions to the same problem running in parallel.
Chapter 8: Lists
-
Type comma-separated values and see them stored as indexed boxes in a Python list.
-
List Indexing & Slicing Explorer
Type index or slice expressions and see which list items are selected with visual highlighting.
-
Experiment with append, insert, remove, pop, sort, and reverse on a visual list.
-
Click cells in a grid to see double-index notation for accessing nested list elements.
-
Step through a for loop and watch the pointer move through each list element.
-
Watch zip() pair elements from multiple lists together with an animated zipper metaphor.
Chapter 9: Advanced List Operations
-
See how variable names map to list objects in memory and discover the difference between aliases and copies.
-
Shallow vs Deep Copy Visualizer
Compare shallow and deep copies side by side and see how changes to nested elements propagate differently.
-
Enter or generate a list of numbers and see len, min, max, sum, and average update in real time with a bar chart.
-
Push and pop items on an interactive stack to experience LIFO (Last In, First Out) behavior.
-
Enqueue and dequeue items to experience FIFO (First In, First Out) behavior, with a compare mode against a stack.
-
Interactive reference for all advanced list operations organized by category with a Quiz Me mode.
Chapter 10: Tuples and Sets
-
Compare mutable list and immutable tuple behavior through interactive button operations.
-
Tuples vs Lists Decision Helper
Choose between tuples and lists for real-world coding scenarios with explanatory feedback.
-
Set Operations with Venn Diagrams
Visualize union, intersection, difference, and symmetric difference with interactive Venn diagram regions.
-
Removing Duplicates with a Set
Watch list values move into a set container, rejecting duplicates and converting back to a unique list.
-
Explore relationships between lists, tuples, sets, and frozensets through interactive concept nodes.
Chapter 12: Classes and Objects
-
Compare a class blueprint (cookie cutter) to multiple object instances (decorated cookies).
-
Demonstrate the difference between attributes shared by a class and those unique to each instance.
-
Display the complete UML structure of a Dog class with attributes and methods.
-
Use a bank vault metaphor to explain encapsulation and data protection in OOP.
-
Create Dog objects, call methods, and observe output in an interactive console.
-
Explore five key benefits of Object-Oriented Programming through interactive concept nodes.
Chapter 13: Inheritance and Polymorphism
-
Show inheritance relationships between parent and child animal classes.
-
Shape Hierarchy with Abstract Base Class
Demonstrate abstract base classes and inheritance in a shape hierarchy.
-
Reference guide for Python's special double-underscore methods.
-
Interactively build and explore UML class diagrams.
-
Model a music library system with class relationships and structure.
-
Explore polymorphism through interactive demonstrations of method overriding.
Chapter 14: Errors and Exceptions
-
Identify and classify different Python error types from code examples.
-
Compare syntax errors, runtime errors, and logic errors with examples.
-
Visualize the inheritance tree of Python exception classes.
-
Construct and understand try-except error handling blocks interactively.
-
Trace execution flow through try, except, and finally blocks.
-
Simulate exception handling scenarios and predict their outcomes.
Chapter 15: File Input and Output
-
Visualize the flow of file input/output operations.
-
Compare different file reading methods and their effects.
-
With Statement vs Manual Close
Show the difference between context managers and manual file closing.
-
Understand how CSV files organize data in rows and columns.
-
See how JSON data maps to Python dictionaries.
-
Choose appropriate file formats based on data characteristics.
Chapter 16: Software Engineering
-
Software Development Lifecycle
Trace the phases of software development from conception to deployment.
-
Explore how Python modules and packages are organized.
-
Visualize Git operations and version control workflow.
-
Compare Don't Repeat Yourself principles with code repetition examples.
-
Evaluate and improve code comment quality.
-
Demonstrate the purpose and behavior of the if __name__ == '__main__' pattern.
Chapter 17: Testing and Debugging
-
Run and visualize unit test execution and results.
-
Test edge cases and boundary conditions in software.
-
Walk through the Test-Driven Development cycle of red-green-refactor.
-
Step through code execution with visual variable state tracking.
-
Decision flowchart to select appropriate debugging strategies.
-
Test input validation logic and error handling.
Chapter 18: Searching and Sorting
-
Visualize the control flow of linear search from first element to match or not found.
-
Step through linear search one index at a time to see comparisons and stopping conditions.
-
Follow midpoint checks and interval halving to understand binary search decisions.
-
Compare sorting algorithms side by side on the same data to observe speed differences.
-
Explore how runtime classes grow as input size increases.
-
Choosing a Search or Sort Algorithm
Use a decision flowchart to choose suitable search and sorting approaches by context.
Chapter 19: Algorithm Analysis
-
Complexity Class Comparison Chart
Compare O(1), O(log n), O(n), O(n log n), O(n^2), and O(2^n) with dynamic operation counts.
-
Operation Counting Walkthrough
Trace algorithm steps and count operations to connect code execution with Big-O reasoning.
-
Contrast brute force, divide and conquer, and greedy strategies with use cases and tradeoffs.
-
Watch a fixed-size window move across an array while updating sums incrementally.
-
Recursion Tree for power(2, 8)
Step through recursive calls and returns in fast exponentiation.
-
Algorithm Visualization: Sorting Comparison MicroSim
Compare selection, insertion, and merge sort progression frame-by-frame.
Chapter 20: Advanced Python
-
Compare eager list allocation with lazy generator evaluation through side-by-side memory usage visuals.
-
Step through how a decorator receives a function, creates a wrapper, and intercepts calls.
-
Enter regex patterns and test text with real-time match highlighting and example presets.
-
Explore
Counter,defaultdict,OrderedDict, andnamedtuplewith expandable cards and quiz mode. -
Trace normal and exception paths in a
withstatement to see why cleanup always runs. -
Python Best Practices Checklist
Evaluate code snippets against a best-practices checklist and score your assessments.

















































































































