0% encontró este documento útil (0 votos)
101 vistas2 páginas

Fundamentos de Programación

Este documento presenta la descripción de un curso de Fundamentos de Programación. El curso busca capacitar a los estudiantes en el paradigma funcional para el diseño y desarrollo de programas, desde la formulación del problema hasta soluciones bien estructuradas. El contenido incluye temas como procesamiento de datos simples y compuestos, abstracción, recursión, acumulación de conocimiento y manejo de estado. Las clases se dictan con videobeam y existen monitores para asesorar en talleres y proyectos que se realizan en sal

Cargado por

luisa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
101 vistas2 páginas

Fundamentos de Programación

Este documento presenta la descripción de un curso de Fundamentos de Programación. El curso busca capacitar a los estudiantes en el paradigma funcional para el diseño y desarrollo de programas, desde la formulación del problema hasta soluciones bien estructuradas. El contenido incluye temas como procesamiento de datos simples y compuestos, abstracción, recursión, acumulación de conocimiento y manejo de estado. Las clases se dictan con videobeam y existen monitores para asesorar en talleres y proyectos que se realizan en sal

Cargado por

luisa
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 2

Facultad de Ingeniería

Escuela de Ingeniería de Sistemas y Computación


FACULTAD DE INGENIERÍA
Fundamentos de Programación
ESCUELA DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN

750080M Fundamentos De Programación

NÚMERO DE CRÉDITOS: 4 EVALUACIÓN


HABILITABLE NO TALLERES 30%
VALIDABLE SI EXAMEN PARCIAL 25%
PRERREQUISITOS NINGUNO EXAMEN FINAL 45%

Objetivos
Capacitar al estudiante para que comprenda y aplique el paradigma funcional en el diseño y
desarrollo de programas partiendo desde la formulación del problema hasta llegar a soluciones
bien estructuradas.

Al finalizar el curso, el estudiante estará en capacidad de:

• Diseñar, escribir y depurar programas que resuelven problemas sencillos.


• Comprender los fundamentos del diseño de programas dirigidos por los datos.
• Usar diferentes tipos de datos simples.
• Usar diferentes tipos de datos compuestos tales como estructuras y listas.
• Comprender el papel de la abstracción en el diseño de programas.
• Diseñar y escribir programas usando la recursión generativa y la acumulación.
• Diseñar programas completamente funcionales.
• Comprender las implicaciones de la asignación en el diseño de programas.
• Usar el lenguaje de programación Scheme para la solución de problemas.
• Comprender la técnica de refinamiento iterativo en el diseño de programas.
• Comprender la importancia de la especificación para el trabajo en equipo.
• Utilizar interfaces gráficas de usuario (GUI) y crear algunas sencillas.

Metodología
Las clases se dictan con videobeam o proyector de acetatos. Existen monitores para asesorar en
la realización de los talleres y proyectos, que se realizarán en las salas de computo.
Para el diseño de programas se usan dos innovaciones pedagógicas: unas guía de diseño que
orientan al estudiante en todo el proceso y un ambiente de programación para principiantes, que
se adapta a medida que los usuarios se van volviendo más expertos.

Universidad del Valle – Facultad de Ingeniería – Escuela de Ingeniería de Sistemas y Computación


Facultad de Ingeniería
Escuela de Ingeniería de Sistemas y Computación
FACULTAD DE INGENIERÍA
Fundamentos de Programación
ESCUELA DE INGENIERÍA DE SISTEMAS Y COMPUTACIÓN

Contenido
1. Introducción al curso.
2. Procesamiento de datos simples
a) Elementos de un programa, Programas Simples.
b) Expresiones Condicionales.
c) Datos simples.
d) Datos Compuestos I: Estructuras.
3. Procesamiento de datos arbitrariamente grandes
a) Datos Compuestos II: Listas.
b) Definiciones Recursivas : Los números
c) Datos Compuestos III: Arboles.
d) Definiciones locales.
4. Abstracción en el diseño
a) El problema de las múltiples funciones
b) Desarrollo de funciones abstractas.
c) Funciones como ciudadanos de primera
5. Recursión Generativa
a) Diferencias entre recursión estructural y recursión generativa.
b) Algoritmos de ordenamiento.
c) Diseño de funciones generativas.
d) Algoritmos de reintento.
6. Acumulación de conocimiento
a) La perdida de conocimiento.
b) Diseñando funciones que acumulan.
7. Cambiando el estado de las variables
a) La necesidad del manejo de memoria en las funciones.
b) Asignación de valores a variables.
c) Diseño de funciones con memoria.
8. Cambiando valores compuestos
a) Encapsulación.
b) Estructuras mutables: Diseño de funciones
c) Más estructuras: Vectores y Objetos.

Bibliografía
1. How to Design Programs, M. Felleisen, R. B. Findler, M. Flatt and S. Krishnamurthi, MIT-
Press 2001.
2. Structure and Interpretation of Computer Programs, H. Ableson and G. J. Susman, MIT-
Press 1985.

Universidad del Valle – Facultad de Ingeniería – Escuela de Ingeniería de Sistemas y Computación

También podría gustarte