5.08 - Programación II
Quinto Año
Característica del Área Curricular | |||
---|---|---|---|
Plan | 2013 | ||
Cuatrimestre | Anual | ||
Hs. Cat. | 4 semanales | ||
Res. C.S. | 3202/2012 | ||
Presentación
La problemática abordada por esta materia se relaciona con los conocimientos relativos al desarrollo de programas.
El instrumento utilizado para programar es un lenguaje que tiene características de los lenguajes formales y que, de acuerdo al tipo de problema que intenta representar y las estrategias en que se basa, tiene estructuras, reglas, operaciones y objetos propios.
Objetivos
Al finalizar esta materia los estudiantes estarán en condiciones de encarar estrategias de resolución de problemas y resolver pequeños problemas de programación, esencialmente de carácter didáctico mostrando conocimientos en:
- El dominio de las estructuras de control y tipos de datos elementales.
- La utilización de ambientes de programación imperativa y herramientas de depuración de programas.
Contenidos
UNIDAD 1: PARADIGMAS DE PROGRAMACIÓN
Los lenguajes y su evolución. Tipos de lenguajes. Lenguajes imperativos lógicos y orientados a objetos. Características. Diferencias fundamentales
UNIDAD 2: Introducción a los lenguajes funcionales: el ML.
Expresiones: contantes, operadores aritméticos, operadores de cadenas, operadores de comparación, valores lógicos. Expresiones If-Then-Else.
UNIDAD 3: Tipos, variables y entornos
Relación entre enteros y reales Código fuente. Código objeto. Código ejecutable. Relación entre enteros y caracteres. Relación entre strings y caracteres. Identificadores. Niveles de entornos. Asignación
UNIDAD 4: Tuplas y listas
Tuplas. Accediendo a los componentes. Listas. Notación y operadores. Conversiones entre caracteres, cadenas y listas.
UNIDAD 5: Funciones
Tipos de funciones. Formas de declararlas. Aplicación de funciones. Funciones con mas de un parámetro Funciones que referencias a variables externas.
UNIDAD 6: Funciones Recursivas
Forma de ejecución. Recursividad no lineal. Recursividad mutua La deducción de tipos.
UNIDAD 7: Patrones
Concepto de Pattern. Qué son y qué no son. Patrones como variables de funciones. Variables anónimas Pattern Matching
UNIDAD 8: Usando el entorno local let
Definiendo subexpresiones comunes. Los efectos en el entorno let.
UNIDAD 9: Conceptos avanzados
Matcheo. Usando Matches para definir funciones. Funciones anónimas. Funciones polimórficas. Funciones de orden superior: función Map Algunas de las funciones de orden superior mas comunes.
UNIDAD 10: Declaraciones de tipos de datos abstractos
Definiendo nuevos tipos. Datatypes. Estructuras Record. Arrays. Operaciones con arrays
Bibliografía
Ullman. Elements of ML Programming. Printece Hall. 1998
Paulson. ML for working programmer.Cambridge University Press. 1996