Guía de Schemer /

Prólogo, He impartido clases sobre algunos temas de las ciencias computacionales a universitarios desde 1967. A pesar de eso, no sé mucho sobre lo que pasa en la computación de preparatoria. Sin embargo, sí sé que hay un puñado de espíritus valientes que han optado por enseñar Logo en vez de BASIC o...

Descripción completa

Detalles Bibliográficos
Formato: Libro
Lenguaje:Spanish
Publicado: México : Continental, ©1996
Edición:primera edición
LEADER 12228nam a2200217 i 4500
008 220712b pn ||||| |||| 00| 0 spa d
020 |a 968-26-1287-0 
040 |a Sistema de Bibliotecas de la Universidad Tecnológica de Panamá 
245 1 0 |a Guía de Schemer /   |c Ian Ferguson , Edward Martin , Burt Kaufman ; prologuista Daniel P. Friedman ; traducción Erick Bautista Vera ; revisión técnica Alejandro Cota Alcazar. 
250 |a primera edición 
264 3 1 |b Continental,  |c ©1996  |a México : 
300 |a xvi, 333 páginas :  |b ilustraciones ;  |c 23 cm 
505 0 |a 1 Datos y funciones. 1.1 Caracteres, átomos y listas. -- 1.2 Funciones primitivas Conjunto de problemas 1. -- 1.3 Expresiones funcionales. -- 1.4 Expresiones para generadores y condicionales. Conjunto de problemas 2. -- 2 Funciones derivadas. 2.1 Construcción de nuevas funciones. -- 2.2 Diseño descendente. -- 2.3 Utilización del intérprete de Scheme. -- 2.4 Recursión. Conjunto de problemas 3. Conjunto de problemas 4. -- 3 Números. 3.1 Representación de números enteros. Conjunto de problemas 5. -- 3.2 Exponenciación. -- 3.3 Números racionales. Conjunto de problemas 6. -- 3.4 Evaluación de expresiones aritméticas. Conjunto de problemas 7. – 4. Estructuras de datos. 4.1 Variables globales. – 4.2 Arreglos. Conjunto de problemas 8. – 4.3 Arboles binarios. Conjunto de problemas 9. -- 5 Evaluación y abstracción. 5.1 El proceso de evaluación. -- 5.2 Evaluación de números, booleanos y variables. -- 5.3 Evaluación de las formas especiales. -- 5.4 Dos nuevas formas especiales. -- 5.5 Evaluación de aplicaciones. -- 5.6 Funciones como datos de entrada. Conjunto de problemas 10. -- 6 Funciones de orden superior. 6.1 Funciones anónimas. -- 6.2 Funciones que regresan funciones. -- 6.3 Funciones curry. Conjunto de problemas 11. -- 7 Evaluación retardada. -- 7.1 Diseño de programas. -- 7.2 Flujos. -- 7.3 Flujos infinitos. Conjunto de problemas 12. -- 8 Programación orientada a objetos. -- 8.1 Variables locales. -- 8.2 Clases de objetos. -- 8.3 Cubetas y otros objetos contenedores. Conjunto de problemas 13. -- 8.4 Las reglas del juego. -- 8.5 Posiciones del juego. Conjunto de problemas 14. -- 8.6 Cómo jugar el juego. Conjunto de problemas 15. -- Epílogo. -- Bibliografía. -- Índice.  
520 3 |a Prólogo, He impartido clases sobre algunos temas de las ciencias computacionales a universitarios desde 1967. A pesar de eso, no sé mucho sobre lo que pasa en la computación de preparatoria. Sin embargo, sí sé que hay un puñado de espíritus valientes que han optado por enseñar Logo en vez de BASIC o Pascal. En los cursos que imparto, siempre motivo a mis alumnos a trabajar en Scheme. En mi curso de licenciatura, no les exijo que en efecto lo hagan, pero sí les aseguro que seguirán trabajando en la primera tarea aún mucho tiempo después de que el curso haya terminado si eligen usar lenguajes imperativos como BASIC o Pascal. Para llamar aún más su atención, les digo que en su primer examen de la tercera semana del semestre estarán escribiendo, ¡quince programas en clase! En una ocasión apliqué este examen con veinticinco programas en vez de quince, y más del 10% hizo un examen perfecto. Lo que aprendieron los alumnos de esta introducción de tres semanas es que ellos pueden en verdad adquirir la habilidad de escribir quince programas correctamente en una hora y cuarto, una hazaña que no hubieran sido capaces de lograr en un semestre entero si utilizaran BASIC o Pascal. La lección está muy clara. Si quieres escribir programas complicados y correctos rápidamente usa Scheme. En 1972 y 1973, enseñé el lenguaje Lisp a alumnos de posgrado en la Lyndon Baines School of Public Affairs en la Universidad de Texas, en Austin. Tenía la curiosidad de saber si Lisp era tan sencillo para ellos como lo era para mí. Esto resultó ser así, lo que fue muy divertido y diferente. Con éste, ellos pudieron escribir programas significativos y poderosos. Sobre todo, forzó a pensar en la computación. Luego, en 1975, se desarrolló el dialecto Scheme, y mi lealtad cambió toma la claridad, elegancia y el entretenimiento de Lisp, agrega algunos refinamientos técnicos tomados de Algol, e incorpora la flexibilidad del cálculo lambda de Alonzo Church. Tan atractivos son los atributos de Scheme que es ahora el lenguaje usado en los cursos de introducción a las ciencias computacionales en muchas universidades. Hay Sistemas de Scheme virtualmente todas las computadoras populares; existe un activo grupo de investigadores empeñados en expandir y perfeccionar el lenguaje, y se encuentran ahora varios libros de texto para alumnos de primer año de universidad y otros más avanzados. Y están muchos más en preparación. En mi opinión, la razón por la cual Scheme se está volviendo tan popular es porque es uno de los lenguajes más sencillos para escribir procedimientos de una manera clara y coherente. Esta claridad se debe en parte a su naturaleza intrínsecamente recursiva y en parte a sus poderosas facilidades de abstracción. A través de la abstracción de datos, podemos escribir procedimientos Sin tener que preocuparnos por la manera específica de sus argumentos permitiendo así a los componentes de los programas sobrevivir a los cambios a la forma de los datos. La abstracción de procedimientos nos libera del tener que resolver un solo problema de un tipo dado, en lugar de resolver muchos tipos de problemas. La abstracción en otros niveles nos permite discernir y controlar la estructura usualmente más sencilla que se encuentra subyacente aun en la actividad más compleja. El poder y la elegancia proporcionados por las capacidades de abstracción de Scheme son inmensurablemente superiores a las de los lenguajes imperativos. Aún más, por todo su poder y safisticación, Scheme es mucho más sencillo de aprender que cualquier otro lenguaje de uso común. Como un primer vehículo de contacto para una persona con las ciencias computacionales, Scheme es la elección más lógica, porque además de proveer un rápido y sencillo acceso a poder computacional, da a los estudiantes una buena perspectiva de un gran segmento del campo de la computación. Scheme es un lenguaje natural y versátil para describir procesos algorítmicos. Provee a los pensadores con los medios para registrar procedimientos sistemáticos de una manera suscinta y organizada. Es solo como una idea tardía que los frutos de su trabajo correrán en una computadora. Hay muchas historias que vale la pena contar sobre el ahorro de trabajo al utilizar Scheme en un problema complejo. Uno de mis estudiantes de posgrado tomó un empleo de verano en un instituto de investigación. Durante su primer semana de trabajo fue a una plática dada por uno de los investigadores del instituto sobre el diseño e implantación de un lenguaje de comunicación multiproceso que había sido desarrollado en C. Cuando se le preguntó cuánto tiempo tomaría antes de que se tuviera un prototipo funcionando, el investigador afirmó que tomaría, al menos un año. Mi alumno se ofreció a ayudarlo a desarrollar el prototipo en Scheme y se terminó en menos de una semana. Historias como éstas abundan en la comunidad de Scheme. Todo el mundo conoce al menos una historia de este tipo. Lo que importa es que la esencia de la tarea y el esfuerzo mental requerido para producir este primer prototipo se obtuvo en cinco días. Si hubo alguna labor monótona, estuvo limitada a un par de días, no a un par de años. En lenguajes imperativos, los programadores están limitados por la sintaxis del lenguaje y las restricciones impuestas en la semántica. Tiene que cumplir muchas reglas sintácticas y semánticas. Los principiantes deben sentarse con un manual para poder programar. En Scheme no hay, comparativamente hablando, sintaxis por qué preocuparse, y lo poco que hay puede ser cambiarse fácilmente al gusto del programador. Su semántica es clara. Esta simplicidad, claridad y flexibilidad hacen que Scheme, sea muy sencillo de aprender. Es un lenguaje muy elemental. Casi todos los lenguajes tienen procedimientos, pero la mayor parte de ellos impide escribir un gran tipo de programas porque no tratan a los procedimientos como objetos de primera clase, por ejemplo, tan sencillamente como a los números. Así, los estudiantes de preparatoria son, en su mayoría, apartados de la simplificación conceptual que se deriva de las técnicas modernas como programación orientada a objetos. La abstracción les es negada. Se pasan su primeros años tontamente resolviendo muchos problemas no muy diferentes, pequeños y sin interés. Están siendo capacitados para convertirse en personas que no pensar. Hasta 1987 supuse que nadie en el nivel de preparatoria estaba pensando en Scheme. Esto significó que muchos estudiantes serían desanimados de entrar en las ciencias computacionales después de su experiencia en preparatoria. Sin embargo, una conversación casual Ray Smullyan cambió eso. El me mostró una carta de un grupo de maestros de matemáticas de preparatoria cuyos estudiantes había encontrado soluciones inusuales a problemas de combinatorias en su libro To Mock a Mockingbird. Estaba muy impresionado y pregunté a Ray si él pensaba que yo estaba transgrediendo los límites de la propiedad si establecía correspondencia con el grupo. Ellos me mandaron un borrador de su texto de computación de preparatoria basado en Logo. Después de leer el borrador era evidente que había un grupo de gente que estaba genuinamente interesada en el desarrollo de buenos patrones de pensamiento y en las técnicas de solución problemas. En el transcurso de nuestra correspondencia ellos explicaron sus ideas sobre la diagramación de la operación de funciones derivadas, particularmente de funciones recursivas. Ellos estuvieron fascinados de saber que todas las características que los habían atraído al Logo, estaban presentes en Scheme, y que éste excede por mucho a Logo en su elegancia, flexibilidad, expresividad y el abrumador sentido de corrección que aguarda al escritor de procedimientos en Scheme.  
520 3 |a Tuve la oportunidad de visitarlos en Plantation, Florida, pasar un tiempo con sus asombrosos estudiantes y discutir con ellos sus sueñoS de cambiar el aspecto de la computación en preparatoria. Cuando me fui, estuvieron hablando sobre la posibilidad de diseñar la continuación de sus libros de computación, de tal forma que después de pasar los cursos intermedios utilizando Logo, sus alumnos pudieran graduarse con Scheme. Ahora, dos años después, me han enviado este libro que es el resultado de concienzudo e informado pensamiento de educadores experimentados. Todos los rastros de Logo han desaparecido. Lo que ha sobrevivido son las visiones metodológicas que atrajeron mi interés en aquellos borradores originales. Como resultado este libro es una sólida introducción al poder, la emoción, y valor educacional de Scheme para el estudiante de preparatoria. Habiéndose familiarizado con los conceptos que son presentados en una manera muy cuidadosa y pensada, el lector estara preparado para cualquier curso introductorio universitario. Si los maestros de ciencias computacionales pudieran capturar la visión de los autores para su materia y llevarla a sus estudiantes, creo que podría revolucionar la forma en que es impartida la computación en el nivel preparatoria y más importante aún, atraería muchas de nuestras mejores mentes al estudio de las ciencias computacionales. Este libro demuestra convincentemente que Scheme elimina el trabajo monótono y el seguir ciegamente reglas desde la experiencia inicial con la computación, restaurando el sentido de la curiosidad, la diversión y la admiración y abre la mente a mucho de lo que es emocionante en la ciencia de la computación.  
541 1 |a Héctor Montemayor.  |c D  |d Recibido:1999/01/12.  |e 900114119  |h $50.00. 
900 |a BUT-VE 
942 |c LIBRO 
946 |a 37977  |b Madeline Rivera  |c 37977  |d Madeline Rivera 
999 |c 127323  |d 127323 
952 |0 0  |1 0  |2 ddc  |4 0  |7 3  |8 GEN  |9 158617  |a BUT-VE  |b BUT-VE  |d 2022-06-23  |e D  |g 50.00  |p 900114119  |r 2022-06-23  |t e.1  |w 2022-06-23  |y LIBRO