UNIVERSIDAD TECNOLOGICA DEL SUR UTESUR CUATRIMESTRE MAYO-AGOSTO 2014 ASIGNATURA: LENGUAJES DE PROGRAMACION CREDITOS: 3 LIBRO DE TEXTO: FACILITADOR: RAFAEL GONZALEZ WEBPAGE: WWW.PROFESORPEPELO.COM CODIGO INSHORARIO LUNES 6-9 AULA: A6 CLASES DEL CUATRIMESTRE 14 SCHEME, PYTHON JUSTIFICACION DE LA ASIGNATURA La ingeniera informática fundamenta su existencia en la programación de computadores y en su interacción con el entorno. En este sentido la asignatura sirve para comprender el proceso de programación como el proceso básico de los proyectos de ingeniería de software sin la necesidad de conocer la sintaxis y reglas de codificación de los lenguajes de programación, sino el paradigma bajo el cual fueron concebidos lo cual es de amplia utilidad al momento de tomar decisiones sobre recursos, funcionalidades, limitantes y posibilidades a conseguir en un producto informático y a gestionar en un proyecto informático. DESCRIPCION DE LA ASIGNATURA El lenguaje de programación es una herramienta de comunicación y expresión del programador que construye los artefactos esenciales del proceso de ingeniería de software. La asignatura lenguajes de programación muestra las generalidades de los lenguajes de programación, así como las particularidades e la filosofía de la construcción de estas herramientas que hacen posible que el mundo se mueva por medio de las computadoras. En este espacio de exposición de los lenguajes de programación cobran fuerza los modelos de programación que definen los lenguajes de programación. Adicionalmente la asignatura presenta las cuestiones teóricas de la programación funcional, con la utilización de scheme, un lenguaje de programación que puede ser usado para la implementación de varios modelos de programación y que permite la conceptualización de este paradigma de programación OBJETIVOS OBJETIVO GENERAL 1-REVISION TEORICA Y APLICADA DEL AMPLIO CAMPO DE LOS PARADIGMAS DE PROGRAMACION, ATRAVEZ DEL ESTUDIO DE LOS PRINCIALES CONCEPTOS Y PRINCIPIOS QUE HA DADO Y AUN DAN FORMA A LOS DIVERSOS TIPOS DE LENGUAJES DE PROGRAMACION UTILIZADOS. OBJETIVOS ESPECIFICOS 1-CONOCER LOS PARADIGMAS Y LENGUAJES DE PROGRAMACION USADOS EN EL DESARROLLO DE SOFTWARE, SU HISTORIA Y PRINCIPALES CARACTERISTICAS 2-REVISAR DIFERENTES PARADIGMAS DE PROGRAMACION Y SUS CLASIFICACIONES Y LA EVALUACION TEMPORAR DE LOS LENGUAJES DE PROGRAMACION 3-DOMINAR EL PRADIGMA DE PROGRACION FUNCIONAL COMO MODELO GENERICO DEL PROCESO DE PROGRAMACION. 4-CONOCE LA ORGANIZACIÓN DE DATOS BASADO EN TIPOS ABSTRATO DE DATOS COMO LAS LISTAS Y ARBOLES CONTENIDO 1 LENGUAJES Y PARADIGMAS DE PROGRAMACION 1.1 1.2 1.3 1.4 1.5 HISTORIA CONCEPTOS DE LENGUAJE DE PROGRAMACION CLASIFICACION DE LOS LENGUAJES DE PROGRAMACION OTRAS CLASIFICACIONES DE PARADIGMAS DE PROGRAMACION EVOLUCION DE TEMPORAL DE LOS LENGUAJES DE PROGRAMACION 2 2.1 2.2 2.3 2.4 2.5 2.6 2.7 PROGRAMACION FUNCIONAL LENGUAJES DE PROGRAMACION EVALUACION DE UNA EXPRESION DEFINICION DE NUEVAS FUNCIONES QUOTE ALGUNAS FUNCIONES DE SHEME OTROS EJEMPLOS DE DEFINICION DE FUNCIONES RESUMEN 3 3.1 3.2 3.3 3.4 3.5 PROGRAMACION FUNCIONAL CON SHEME MODELO DE SUSTITUCION ORDEN DE EVALUACION NORMAL VS. DE APLICACIÓN MACROS CONCEPTOS PREVIOS LOS MACROS 4 4.1 4.2 4.3 4.4 4.5 4.6 4.7 4.8 4.9 PROCEDIMIENTOS DE ORDEN SUPERIOR LISTAS EN SHEME FUNCIONES COMO DATOS DE PRIMERA CLASE FUNCIONES COMO ARGUMENTOS FILTRO SOBRE ELEMENTOS DE UNA LISTA FUNCIONES SIN NOMBRES TIPOS DE DATOS DE PRIMERA CLASE FUNCIONES QUE DEVUELVEN FUNCIONES LET RESUMEN 5 ABSTRACION DE DATOS 5.1 PAREJAS DE SHEME 5.2 LA AGREGACION DE DATOS NO TIENE PORQUE SER PRIMITIVA 5.3 ABSTRACION DE DATOS Y BARRERAS DE ABSTRACION 5.4 TIPO ABSTRATO DE DATOS SECUENCIA 5.5 DIAGRAMAS BOX-AND-POINTER 5.6 DATOS JERARQUICOS-LISTAS JERAQUICAS 5.7 USO DE LAS FUNCIONES DE LISTAS JERARQUICAS 5.8 ARBOLES BINARIOS 5.9 ARBOLES GENERICOS 5.10 RECURSIVIDAD 5.11 RESUMEN 6 METODOLOGIA DE EVALUACION SE USARA EL ENFOQUE BASADO EN COMPETENCIAS PARA EVALUAR EL RENDIMIENTO DE LOS ESTUDIANTES, ES DECIR, LO QUE EL ESTUDIANTE SABE HACER CON EL SOFTWARE ARENA, HACIENDO INCAPIE EN LOS ASPECTOS PRACTICOS Y NO TEORICOS., AL FINAL DE CADA CAPITULO, SE DEBEN ENTREGAR LOS EJERCICIOS ASIGNADOS, Y AL FINAL DE LA ASIGNATURA SE DEBE ENTREGAR EL PROYECTO FINAL