La primera clase de CS50 en nueve partes cortas. Toca todo.
Resumen de la Semana 0 de CS50x (Scratch): cómo las computadoras representan números, texto, colores y multimedia en binario, qué es un algoritmo, pseudocódigo, abstracción y Scratch. Escrito como yo lo entendí, con algo para probar en cada idea.
La IA, y por qué lo básico sigue importando
Idea claveCS50 no te enseña a escribir código, te enseña a pensar. La IA ayuda, pero el piloto sigues siendo tú.
- Malan arma un chatbot en unas diez líneas de Python sobre una API: un servicio de otra empresa sobre el que escribes tu propio código.
- El user prompt es lo que escribe la persona. El system prompt es la instrucción fija que va detrás. Misma pregunta, otra respuesta.
- Las calculadoras existen y aun así vale la pena saber sumar. Igual pasa con la IA y el código.
- El pato de goma: explica tu problema en voz alta, aunque sea a un pato, y muchas veces encuentras el error tú solo.
- Sistema
(vacío)
- Usuario
¿Qué es CS50?
- Asistente
CS50 es la introducción de Harvard a la ciencia de la computación, con David J. Malan. Empieza con Scratch y pasa por C, Python, SQL y desarrollo web.
Respuestas escritas a mano para mostrar la idea. Aquí nada llama a una IA de verdad.
Qué es realmente la ciencia de la computación
Idea claveEs el estudio de la información: cómo representarla y cómo procesarla para resolver problemas.
- Todo problema tiene la misma forma: entrada → un algoritmo (la caja negra) → salida.
- Pensamiento computacional es usar esa idea en problemas de la vida real, no solo en computadoras.
- Antes de resolver nada hay que acordar cómo representar entradas y salidas. Spoiler: con ceros y unos.
Ejecútalo y luego mira adentro. El algoritmo son solo los pasos del medio.
Binario: contar con bombillos
Idea claveUna computadora solo sabe prendido (1) y apagado (0). Si cada posición pesa distinto, puedes contar sorprendentemente alto.
- El decimal usa columnas de 1, 10, 100. El binario usa columnas de 1, 2, 4, 8… cada una es el doble.
- Un bit es un dígito binario. Un byte son 8 bits: 256 combinaciones, de 0 a 255.
- Dentro del chip los bombillos son transistores: miles de millones de interruptores diminutos.
- Con 32 bits cuentas hasta unos 4 mil millones. Hoy casi todas las computadoras usan 64.
- Binario
- 01001000
- Decimal
- 72
- Como ASCII
- H
Toca un bombillo para cambiar ese bit. Suma los números encima de los prendidos y te da el decimal.
El texto son números que acordamos
Idea claveCada letra es solo un número en el que todos estuvimos de acuerdo. La A es 65, la B es 66, y así.
- Mandar “HI!” por chat son 3 bytes: 72, 73 y 33. Ese mapa de letras a números es ASCII.
- La minúscula es la mayúscula + 32. Cambia un solo bit y la A se vuelve a.
- ASCII solo alcanza para el inglés. Unicode llega a 32 bits, así que cubre todos los idiomas y los emoji. 😂 es el número 128.514.
- ¿65 es la letra A o el número 65? Depende del contexto: el programa decide cómo leerlo.
Escribe lo que quieras. La columna del 32 es la única diferencia entre mayúscula y minúscula.
Color, imágenes, video y sonido
Idea claveLo multimedia son números en capas: color → píxel → imagen → video.
- RGB: cuánto rojo, verde y azul, cada uno de 0 a 255. Un byte cada uno, tres bytes por color.
- Un píxel es un punto con su propio color. Millones de ellos son la razón por la que una foto pesa megas.
- Un video son muchas imágenes por segundo, como un flipbook. La música se puede guardar como notas: tono, duración, volumen.
- RGB
- 72 · 73 · 33
- Leído como texto
- H I !
72, 73, 33 es “HI!” en un chat y este verde oliva en un editor de fotos. Los mismos bytes, otro contexto.
Algoritmos: el directorio telefónico
Idea claveUn algoritmo es una lista de pasos que resuelve un problema. No basta con que funcione: también tiene que ser rápido.
- Página por página funciona, pero 1.000 páginas pueden ser 1.000 pasos.
- De dos en dos es el doble de rápido. Si te pasas del nombre, devuélvete una página.
- Partir el libro por la mitad cada vez toma unos 10 pasos para 1.000 páginas. Si duplicas el libro cuesta un paso más. Eso es log₂ n.
página 620 / 1.000
- Peor caso · n
- 1.000
- Peor caso · n / 2
- 500
- Peor caso · log₂ n
- 10
Los tres llegan. Cambia a 2.000 páginas: partir a la mitad solo necesita un paso más.
Pseudocódigo y los cuatro bloques
Idea claveCasi todo programa se arma con funciones, condicionales, expresiones booleanas y bucles.
- Las funciones son los verbos: abrir, mirar, llamar.
- Los condicionales son bifurcaciones. Las expresiones booleanas son las preguntas de sí o no que eligen el camino.
- Los bucles repiten pasos (“vuelve a la línea 3”). Este termina porque el libro se va achicando.
- El último “si no” es el caso borde: ¿y si la persona no está? Olvidar casos así es lo que congela los programas.
- 1Toma el directorio
- 2Ábrelo por la mitad
- 3Mira la página
- 4Si la persona está en la página
- 5 Llámala
- 6Si no, si la persona está antes
- 7 Abre la mitad de la parte izquierda
- 8 Vuelve a la línea 3
- 9Si no, si la persona está después
- 10 Abre la mitad de la parte derecha
- 11 Vuelve a la línea 3
- 12Si no
- 13 Termina
Avanza línea por línea. Busca a Zoe: no está en el libro, así que el último “si no” salva el programa.
Abstracción: de transistores a Python
Idea claveCada capa esconde la complejidad de la de abajo. Construimos sobre lo que alguien más ya resolvió.
- Empresas como Intel y AMD deciden qué patrones de bits significan sumar, guardar o imprimir.
- Un compilador traduce un lenguaje a otro, por ejemplo C a código máquina.
- El chatbot de la parte 1 es la misma idea: alguien más hizo la parte difícil y tú escribes diez líneas encima.
- 01Python
print("hello, world")Esto lo escribes tú.
Cada capa hace el mismo trabajo que la de arriba, con más detalle y menos ayuda.
Scratch: programar con bloques
Idea claveScratch, del MIT, tiene las mismas ideas que C o Python, sin preocuparte por comas ni llaves.
- Los eventos arrancan todo (“al hacer clic en la bandera”). Los argumentos entran a una función, el valor de retorno sale de ella y el efecto secundario es lo que ves u oyes.
- Copiar y pegar es mala señal: un “repetir 3” está mejor diseñado que tres bloques iguales.
- “Por siempre” + “si”: sin el bucle, el gato revisa una sola vez si lo estás acariciando, y el momento ya pasó.
- Los proyectos grandes se arman en pasos pequeños. Empieza por la versión más chiquita que funcione.
Copiado · 4 bloques
Bucle · 3 bloques
Mueve el slider. La versión copiada no para de crecer, el bucle se queda en tres bloques.
Copia este resumen y pégalo en tu propio Claude. Va con un prompt y el transcript oficial, para que preguntes lo que quieras y te haga preguntas.