CS101 explora las cualidades esenciales de los ordenadores, cómo funcionan, lo que pueden y no pueden hacer, y no requiere ningún tipo de conocimiento informático.Comenzaremos viendo las características básicas de los ordenadores y empezaremos a jugar con código informático.
Agradecimientos: Gracias a Nick Parlante por sus materiales. De Nick: «Gracias a Google por apoyar mis primeras investigaciones que han ayudado a crear esta clase. Gracias a Mark Guzdial que popularizó la idea de utilizar los medios digitales para introducir los ordenadores.»
Ecuación fundamental de los ordenadores
La ecuación fundamental de los ordenadores es:
Ordenador = Potente + Estúpido
- Suficientemente potente para mirar a través de masas de un dato
-Billones de «operaciones» por segundo - Estúpido porque cada operación es simple y mecánica.
-Nada parecido a la «perspicacia» o al «pensamiento» (vídeo de HAL 9000) - Potente + Estúpido… saldrá en nuestros ejercicios
- ¿Por qué son útiles los ordenadores a pesar de su limitación?
- De eso se trata el CS101
-Visita este divertido mundo del ordenador, ve cómo funciona
-Entiende lo que pueden hacer y cómo los humanos los aprovechan
-No te dejes intimidar - Asunto oculto: abrir los ojos a algunos, más cursos de informática
Los ordenadores son muy potentes para buscar grandes cantidades de datos rápidamente. Los ordenadores pueden realizar literalmente miles de millones de operaciones por segundo. Sin embargo, las «operaciones» individuales que los ordenadores pueden realizar son extremadamente simples y mecánicas, nada que ver con un pensamiento o una percepción humana. Las «operaciones» típicas incluyen la comparación de dos números o la suma de dos números.
Así que aunque los ordenadores son rápidos en lo que hacen, las operaciones que pueden hacer son extremadamente rígidas, simples y mecánicas. O dicho de otro modo, los ordenadores no son como el HAL 9000 de la película 2001: Una Odisea del Espacio: Vídeo de HAL 9000.
Un aspecto clave es que un ordenador no actúa como un cerebro humano. El ordenador es una herramienta mecánica que puede hacer cosas increíbles, pero necesita que un humano le diga lo que tiene que hacer.
Nivel alto – ¿Cómo funciona un ordenador?
- El ordenador sigue una serie de instrucciones de «código»
- Cada instrucción es sencilla (por ejemplo sumar 2 números)
- El ordenador «ejecuta» una larga serie de instrucciones
- Puramente mecánicas
Los ordenadores son muy útiles
- Piensa en todas las funciones útiles del ordenador (teléfono, cámara)
-Mensajes, correo electrónico
-Audio MP3
-Reducción de ojos rojos - Si los ordenadores son tan estúpidos… ¿cómo son tan útiles?
- ¿Qué conecta las dos partes?
Programadores
- ¡Los programadores aprovechan el poder de un ordenador!
- El programador piensa en una función útil
-Requiere creatividad, perspicacia sobre las necesidades humanas y conocimiento de los ordenadores - Los programadores descomponen los pasos, escribiendo código para el ordenador
-¡Lo simplifica para el ordenador! - Las mejores características de ambos lados: procesamiento barato/rápido de la computadora + visión creativa del programador
- Exploraciones deCS101: algoritmos y código
Siendo las computadoras totalmente mecánicas y estúpidas, ¿por qué son tan ubicuas? La brecha entre el ordenador y hacer algo útil es donde el programador humano crea soluciones. La programación requiere que una persona sea creativa y tenga una visión sobre un problema, así como la capacidad de descomponer la solución en instrucciones que un ordenador pueda seguir.
El código se refiere al lenguaje que el ordenador puede entender. En estas clases, escribiremos y ejecutaremos pequeños fragmentos de código para entender las cualidades esenciales de los ordenadores, y especialmente sus puntos fuertes y sus limitaciones.
Experimentando con el código, la naturaleza de los ordenadores aparecerá muy claramente… poderosos a su manera, pero con una cualidad limitada y mecánica. En mi opinión, esta naturaleza mixta de los ordenadores es algo que todo el mundo debería entender para utilizarlos bien y no dejarse intimidar por ellos.
Antes de codificar – Paciencia
- Empezaremos con algo de codificación sencilla a continuación
- El código es como los ladrillos de lego…
- Las piezas individuales son súper sencillas
- Con el tiempo se construyen grandes combinaciones
- Pero hay que empezar de a poco
Sombras
Dentro de unas horas de clase, haremos efectos especiales con imágenes como las siguientes:
¡Pero por ahora sólo tenemos print()!
Paciencia Vamos a empezar aprendiendo unos cuantos elementos de programación así como las diferentes partes de un ordenador, y más adelante recombinaremos estos pocos elementos para resolver muchos problemas. Estos primeros elementos son sencillos, por lo que no hay que verlos por separado. Tengan paciencia, pronto pondremos estos elementos juntos — como ladrillos de lego — para hacer proyectos bastante ordenados.
Javascript Computer Langauge
- Código javascript más algunas extensiones sólo para CS101
- Nuestras frases de código son pequeñas…
- -Sólo lo suficientemente grande para experimentar con ideas clave
- -No programas completos y profesionales
- -Pero lo suficientemente grande para mostrar los verdaderos retos de la codificación
Para esta clase, utilizaremos una variante del lenguaje conocido como Javascript, con algunas características añadidas para este curso. El lenguaje Javascript funciona en el navegador web, por lo que todos nuestros experimentos pueden vivir directamente en el navegador sin necesidad de nada más. Utilizaremos sólo las partes de Javascript necesarias para nuestros experimentos, no el lenguaje completo que uno vería utilizando Javascript profesionalmente. Dicho esto, Javascript es un lenguaje real, y nuestro código es código real. Nuestros pequeños programas muestran las características importantes del código, manteniendo las cosas rápidas y pequeñas.
Primer ejemplo de código – Print
Aquí está el código que llama a la función «print». Haga clic en el botón Ejecutar de abajo, y su ordenador ejecutará este código, y la salida del código aparecerá a la derecha.
- Ejecutar ejecuta cada línea una vez, corriendo de arriba a abajo
- imprimir es una función, un verbo que representa una acción que el ordenador realizará.
- Los datos dentro de los paréntesis se pasan a la función print (sustantivos)
-estos datos son el objeto del «verbo»
-los datos se llaman los argumentos de la función - Los valores múltiples se separan por comas
- Los experimentos cambian el código y ejecutan después de cada cambio ver la nueva salida:
-Cambiar un número
-Añadir más números separados por comas dentro de la función print(…)
-Copie la primera línea, y péguela dos veces después de la última línea
-Prometo que la salida se volverá más interesante! - Sintaxis estrecha no forma libre
-La sintaxis permitida es súper estricta y estrecha
-e.g. no puede omitir el paréntesis derecho )
-Un reflejo de la naturaleza interna y mecánica del ordenador
-No se desanime – «Cuando en Roma…»
-Estamos visitando el mundo del ordenador - Nota que este «print» no es una parte normal de Javascript, lo añadí para CS101
Print And Strings
- Un comentario comienza con // y se extiende hasta el final de la línea. Una forma de escribir notas sobre el código, ignoradas por el ordenador.
¿Por qué podrían los programadores utilizar comentarios? - Una cadena es una secuencia de caracteres escrita entre comillas para ser utilizada como datos dentro del código
-e.g. «hola» o «123»
-Las cadenas funcionan con la función print, además de los números
-Las cadenas en el ordenador almacenan texto, como las urls o el texto de los párrafos, etc. - Experimentos:
-Edita el texto dentro de una cadena
-Añade más cadenas separadas por comas
-Añade la cadena «print» – ¡difícil!
-Dentro de las comillas sólo hay datos - Código = instrucciones que se ejecutan
- Datos = números o cadenas; manejados por el código
Nota que print se reconoce como una función en el código frente a la cadena «hello» que sólo son datos pasivos (como los verbos y los nombres).El ordenador ignora los comentarios, así que sólo son una forma de escribir notas para ti mismo sobre lo que está haciendo el código. Los comentarios se pueden utilizar para eliminar temporalmente una línea de código – «comentando» el código mediante la colocación de un «//» a su izquierda.
Pensar en la sintaxis y los errores (¡el mensaje clave de hoy!)
- Sintaxis — el código está estructurado para el ordenador
- Error muy común — escribir en el código, con un ligero problema de sintaxis
- Los programadores profesionales cometen ese tipo de «error» todo el tiempo
- Afortunadamente, muy fácil de arreglar… no te preocupes por ello
- No es un reflejo de algún defecto en el programador
- Sólo la naturaleza de teclear ideas en el lenguaje mecánico del ordenador
- Los principiantes pueden descarrilarse por el paso de sintaxis, pensando que están cometiendo algún gran error
- Intenta hacer un montón de errores típicos de sintaxis y arréglalos
- Arreglar estos pequeños errores es un paso pequeño y normal
- Nota: Firefox te da los mejores mensajes de error
Sintaxis La sintaxis mostrada arriba debe seguirse rígidamente o el código no funcionará: nombre de la función, paréntesis, cada cadena tiene comillas de apertura y cierre, comas que separan los valores para una llamada a la función.
La rigidez de la sintaxis es un reflejo de las limitaciones de los ordenadores, ya que su lenguaje natural es fijo y mecánico. Esto es importante de asimilar cuando se trabaja con ordenadores, y creo que aquí es donde mucha gente se descarrila al empezar con los ordenadores. Escribes algo que cualquier humano podría entender, pero el ordenador sólo puede entender el código cuando se ajusta a la sintaxis mecánica del ordenador.
Los errores triviales y superficiales de sintaxis son muy comunes al escribir código. Los programadores más expertos del planeta cometen ese tipo de errores todo el tiempo y no piensan en ello. Los errores de sintaxis no reflejan alguna estrategia defectuosa del autor. Es sólo un paso natural al traducir nuestros pensamientos al lenguaje más mecánico del ordenador. Como veremos a continuación, arreglar estos errores es muy rápido.
Es importante no dejarse desviar por estos pequeños casos de errores superficiales. Para ayudarle a enseñar los patrones, a continuación tenemos muchos ejemplos que muestran errores típicos, para que pueda ver cómo son los mensajes de error y ver cómo solucionarlos. Para cada fragmento de código de abajo, ¿cuál es el error? A veces el mensaje de error generado por el ordenador señala el problema con precisión, pero a veces el mensaje de error sólo revela que el error ha confundido tanto al ordenador que no puede crear un mensaje de error preciso. Firefox actualmente produce los mensajes de error más útiles y a menudo le dirá la línea específica con problemas.
Ejemplos de errores de sintaxis
Estos problemas de sintaxis son rápidos de arreglar.