1  Pensamiento computacional, arquitectura de computadoras y lenguajes de programación

1.1 Resumen

Una computadora es una máquina que ejecuta secuencias de instrucciones, llamadas programas. Los programas reciben datos de entrada, los procesan y generan salidas. Pueden modificarse sin necesidad de alterar los componentes físicos de la computadora.

Las computadoras ayudan a resolver problemas de muy diversos tipos. El pensamiento computacional es un enfoque para la resolución de problemas basado en conceptos y métodos de las ciencias de la computación. Sus principios fundamentales son:

  • Descomposición: división de un problema en subproblemas más pequeños.
  • Reconocimiento de patrones: búsqueda de similitudes en los problemas.
  • Abstracción: identificación de la información que se necesita y filtrado de la que no se necesita para resolver un problema.
  • Algoritmos: descripción, paso por paso, de la solución a un problema.

Las computadoras modernas están construídas con base en circuitos integrados (CI), también llamados chips o microchips. Los CI procesan información digital (que usa valores discretos), la cual generalmente es binaria (i.e. de dos valores). Los CI de una computadora procesan dos estados correspondientes a dos niveles de tensión eléctrica: alto y bajo. Estos estados se representan con 0 y 1. Esto facilita la aplicación de la lógica binaria y de la aritmética binaria.

Durante el período entre las guerras mundiales, Allan Turing desarrolló la máquina de Turing, un dispositivo teórico que manipula símbolos de una cinta de acuerdo con una tabla de reglas. La máquina de Turing simula el funcionamiento de un algoritmo y los conceptos de entrada, procesamiento y salida. En 1945, John von Neumann propuso un concepto conocido como programa almacenado, en el cual los datos y los programas se almacenan en una estructura llamada memoria, separada del hardware que ejecuta las instrucciones. Este esquema permite que las computadoras sean más fáciles de reprogramar y es conocido actualmente como arquitectura de von Neumann.

El lenguaje máquina es un conjunto de instrucciones binarias interpretables por la unidad central de procesamiento (CPU) de una computadora. Cada CPU tiene su propio lenguaje máquina. Un programa consiste de una secuencia de instrucciones en lenguaje máquina.

Debido a que programar una computadora en lenguaje máquina es excesivamente lento y complicado, en la década de 1950 comenzaron a crearse lenguajes de programación que, en lugar de unos y ceros, consisten de instrucciones formadas por palabras, usualmente en idioma inglés. Existe una gran variedad de lenguajes de programación que han sido creados con diversos fines: científicos, comerciales, educacionales y otros.

Scratch es un lenguaje de programación orientado a educación. Fue desarrollado en 2003 por el MIT Media Lab y es administrado por la Fundación Scratch, una organización sin fines de lucro que lo facilita de manera gratuita.

1.2 Trabajo previo

1.2.1 Lecturas

Wing, J. M. (2006). Computational thinking. Communications of the ACM, 49(3), 33-35. https://doi.org/10.1145/1118178.1118215

1.3 Diapositivas

Pensamiento computacional, arquitectura de computadoras y lenguajes de programación