06-05-2009 http://www.htdp.org/2003-09-26/Book/curriculum-Z-H-2.html
En escolar.com.mx no dimos a la tarea de traducir este breve texto sobre la enseñanza de la programación y el porque a todos nos es útil saber programar. Dejamos las ligas de libro en línea de su original en inglés, esperamos les resulte de interés, al igual que a nosotros.
--
Nuestra afirmación de que todos programan o deberían aprender a programar puede parecer extraña considerando que, a primera vista, pocas y cada vez menos personas pareciera que programan hoy en día. En lugar de programar, la mayoría de las personas usan paquete de aplicación, lo cuales pareciera que no requieren de programación alguna. Incluso los programadores usan "generadores de programas", paquetes que crean programas basándose en, afirman, reglas de negocio. Entonces, ¿por qué todos debemos aprender a programar?
La respuesta consiste de dos partes. Primero, es muy cierto que las formas tradicionales de programación son útiles tan solo para unos cuantos. Pero, la programación como los autores la entendemos es útil para cualquiera: tanto para la secretaria administrativa que usa hojas electrónicas de cálculo como para el programador de alta tecnología. En otras palabras, tenemos en mente una noción más amplia de la programación que la tradicional. Explicaremos nuestra noción en un momento. Segundo, nosotros enseñamos nuestra idea de la programación con una tecnología basada en el principio de la mínima intrusión. De aquí nuestra noción de enseñar las destrezas de programación análisis del problema y solución del problema sin la imposición de notaciones y herramientas tradicionales de programación.
Para tener un mejor entendimiento de la programación moderna, tomemos una mirada cercana a las hojas electrónicas de cálculo, uno de los más populares paquetes de aplicación hoy en día. Un usuario introduce formulas en la hoja electrónica de cálculo. Las formulas describen como la celda A depende de la celda B. Entonces, cuando el usuario introduce un numero en la celda B, la hoja electrónica de cálculo automáticamente calcula el contenido de la celda A. En hojas electrónicas de cálculo más complejas, una celda puede depender de muchas otras celdas, no solo de una.
Otros paquetes de aplicación requieren de actividades similares. Consideremos el procesador de palabras y las hojas de estilos. Una hoja de estilo especifica como crear una parte de un documento desde aún-por-determinar palabras o sentencias. Cuando alguien proporciona palabras especificas y una hoja de estilo, el procesador de palabras crea el documento remplazando los nombres en la hoja de estilo con la palabra especificada. De forma similar, alguien que realiza una búsqueda en la Web puede desear especificar por que palabras realizar la búsqueda, que palabras deben ir después de que otras, y que palabras no deben ser halladas en la página. En este caso, la salida depende de la información almacenada por la maquinaria de búsqueda de páginas Web y por la expresión de búsqueda del usuario.
Finalmente, usar un generador de programas en muchas formas depende de las mismas habilidades que fueron necesarias para los paquetes de aplicación. Un generador de programas crea un programa en un lenguaje de programación tradicional, como C++ o Java, desde descripciones de alto nivel, como las reglas de negocio o leyes científicas. Tales reglas de manera típica relacionan cantidades, ventas, y registros de inventarios y sus cálculos específicos. Las otras partes del programa, especialmente como interactuar con el usuario y como almacenar los datos en los medios de almacenamiento de la computadora, son generados con poca o nula intervención humana.
Todas estas actividades dan instrucciones al software de la computadora para que haga algo por nosotros. Algunas usan notación científica, algunas pueden usar un Inglés estilizado, algunas usan notación de programación concreta. Todas ellas son una forma de programación. La escencia de estas actividades se reduce a dos conceptos:
relacionando una cantidad con otra, y
evaluando una relación por la substitución de valores por nombres.
En verdad, los dos conceptos caracterizan tanto la programación al más bajo nivel, el lenguaje nativo de la computadora, y a un lenguaje moderno de moda como lo es Java. Un programa relaciona sus entradas con sus salidas; y, cuando un programa es usado para entradas especificas, la evaluación substituye valores concretos por nombres.
Nadie puede predecir que tipo de paquetes de aplicación existirán cinco o diez años desde hoy. Pero los paquetes de aplicación podrán seguir requiriendo de alguna forma de programación. Para preparar a los estudiantes para esta clase de actividades de programación, las escuelas pueden ya sea forzar a los alumnos al estudio del álgebra, la cual es la base matemática de la programación, o exponer a los alumnos a alguna forma de programación. Usando lenguajes y ambientes modernos de programación, las escuelas pueden hacer lo segundo, pueden hacerlo de manera efectiva, y pueden hacer el álgebra divertida.
--
Texto recuperado y traducido del libro:
How to Design Programs, An Introduction to Computing and Programming
Autores:
Matthias Felleisen
Robert Bruce Findler
Matthew Flatt
Shriram Krishnamurthi
Traducción:
Edgar F. Flores Muñoz
Comparte esta página
escolar.mx
escolar.com.mx
Herramientas T.I. y noticias para Colegios, Profesores, Padres y Estudiantes.
Directorio de escuelas y colegios, desarrollo web para escuelas, exámenes en línea, diseño para centros educativos.