Computation Lab

Haciendo visible lo invisible del código

{} 01 λ

Computación visual

6 experiencias interactivas donde los algoritmos cobran vida. Ordenamiento, estructuras de datos, compuertas lógicas, redes neuronales y autómatas.

Algoritmos

Bubble Sort Race

Visualiza el ordenamiento burbuja como una carrera de barras. Observa comparaciones, intercambios y la complejidad O(n²) en acción.

Cómo funciona & Por qué importa

Mecánica: El algoritmo recorre el array comparando pares adyacentes. Si están desordenados, los intercambia. Repite hasta que no hay cambios.

Importancia: Aunque ineficiente (O(n²)), es el primer algoritmo de ordenamiento que se enseña porque su lógica es intuitiva. Entenderlo prepara para algoritmos más eficientes como QuickSort o MergeSort.

if arr[j] > arr[j+1]: swap
Ordenar →
Algoritmos

Árbol Binario de Búsqueda

Inserta, busca y elimina nodos en un BST interactivo. Visualiza recorridos inorder, preorder y postorder.

Cómo funciona & Por qué importa

Mecánica: Cada nodo tiene como máximo dos hijos. Los valores menores van a la izquierda, los mayores a la derecha. Esta propiedad permite búsquedas en O(log n).

Importancia: Los BST son la base de estructuras más avanzadas (AVL, Red-Black, B-Trees). Entender su balanceo y recorridos es esencial para bases de datos, sistemas de archivos e índices.

if val < node: left else: right
Explorar Árbol →
Lógica

Logic Gates Sandbox

Construye circuitos con compuertas AND, OR, NOT, XOR. Arrastra, conecta y observa las señales fluir.

Cómo funciona & Por qué importa

Mecánica: Las compuertas lógicas transforman señales binarias (0/1) según tablas de verdad. Combinándolas puedes crear desde sumadores hasta CPUs completas.

Importancia: Son los bloques fundamentales de toda la electrónica digital. Entender NAND como compuerta universal revela cómo cualquier función lógica puede construirse con un solo tipo de compuerta.

AND: A ∧ B | OR: A ∨ B | NOT: ¬A
Construir Circuito →
Memoria

Stack & Heap Visualizer

Explora la memoria como un edificio. Stack frames, heap allocation, punteros y garbage collection visualizados.

Cómo funciona & Por qué importa

Mecánica: El Stack crece hacia abajo (LIFO) guardando variables locales y direcciones de retorno. El Heap permite asignación dinámica con malloc/free.

Importancia: Entender la memoria es crucial para evitar bugs como stack overflow, memory leaks y dangling pointers. Es la diferencia entre código que funciona y código que funciona de forma fiable.

stack: LIFO | heap: malloc/free
Explorar Memoria →
Neural

Perceptron Playground

Entrena un perceptrón para clasificar puntos. Observa cómo la línea de decisión se ajusta con cada época.

y = sign(w · x + b)
Entrenar Red →
Autómatas

Finite Automata

Diseña autómatas finitos deterministas. Estados como habitaciones, transiciones como puertas. Prueba cadenas de entrada.

δ: Q × Σ → Q
Diseñar Autómata →

Cada simulación implementa algoritmos canónicos con visualización educativa.

Referencias: CLRS, Sipser, Nand2Tetris, Bishop