SALTA, 19 de Diciembre de 2008.-
Expte. Nº 8.615/08.-
RES. D. Nº 526/08
VISTO:
Estas actuaciones relacionadas con la presentación efectuada por el Lic. Cristian Martínez, solicitando aprobación del programa de la asignatura “Metodología de la Programación”, como así también Reglamento Interno de cátedra y Régimen de Regularidad, para la Carrera de Licenciatura en Análisis de Sistemas Plan 1997;
CONSIDERANDO:
Que la mencionada propuesta obrante de fs. 02 a 03 de estos actuados, fue sometida a la opinión de la Comisión de Carrera citada;
Que se cuenta con el VºBº de la Comisión de Docencia obrante a fs. 04, de las presentes actuaciones;
POR ELLO, en el marco de las disposiciones reglamentarias vigentes, de la Res. CD 281/02 y en uso de las atribuciones que le son propias;
EL DECANO DE LA FACULTAD DE CIENCIAS EXACTAS
(Ad-referéndum del Consejo Directivo)
R E S U E L V E:
ARTÍCULO 1º: Aprobar el programa de la asignatura “METODOLOGÍA DE LA PROGRAMACIÓN” como así también Reglamento Interno de cátedra y Régimen de Regularidad, para la Carrera de Licenciatura en Análisis de Sistemas Plan 1997, que como Anexo I, forma parte de la presente Resolución.
ARTÍCULO 2º: Hágase saber a la Comisión de Carrera de Licenciatura en Análisis de Sistemas, al Departamento de Informática, al Lic. Cristian Martínez, al Departamento Archivo y Digesto y siga a la Dirección de Alumnos para su toma de razón, registro y demás efectos. Cumplido, ARCHÍVESE.
RGG
Asignatura: METODOLOGÍA DE LA PROGRAMACIÓN
Profesora Responsable: Lic. Cristian Martínez.
Carrera/s: Licenciatrua en Análisis de Sistemas. Plan 1997
PROGRAMA ANALITICO
Unidad 1: Herramientas de soporte para el desarrollo de software
Lenguajes de Programación. Definición, características, componentes, clasificación, comparación de lenguajes. Revisión histórica. Revisión de los principales paradigmas de programación.
Unidad 2: Programación orientada a objetos
La crisis del software. Conceptos del paradigma: clase, objeto, atributo, método, instancia, poliformismo, sobrecarga, mensaje, herencia, clase abstracta, interfaz, encapsulamiento, ocultamiento de información, reusabilidad. Comparación entre Programación Estructurada y POO. Desarrollo de programas usando lenguaje Orientado a Objetos. Uso de estructuras de datos estáticas y dinámicas.
Unidad 3: Programación funcional
Conceptos del paradigma: transparencia referencial, ausencia de efectos colaterales, funciones, funciones de orden superior, recursividad, evaluación perezosa, inferencia de tipos. Comparación entre Programación Estructurada y PF. Desarrollo de programas usando lenguaje Funcional.
Unidad 4: Diseño de programas
Ciclo de vida del desarrollo de software. Conceptos de diseño. Importancia del diseño. Fundamentos del diseño: refinamiento, modularidad, abstracción, ocultamiento de información. Diseño modular: tipos de módulos, independencia funcional, cohesión, acoplamiento. Diseño de datos: definición, principios de base de datos. Diseño de interfaz: definición, principios. Diseño de componentes: definición, herramientas. Diseño arquitectónico: definición, organización, estrategia de descomposición en componentes, control de ejecución. Revisión del diseño estructurado y orientado a estructuras de datos.
Unidad 5: Prueba de software
Definición. Importancia. Fundamentos. Métodos de prueba de caja blanca. Métodos de prueba de caja negra. Método de camino básico. Método de partición equivalente. Técnica de análisis de valores límite. Prueba de unidad. Uso de software para prueba de unidad.
PROGRAMA DE TRABAJOS PRACTICOS
TP |
TEMA |
CANT. HS PRACTICA |
1 |
Introducción a POO |
9 |
2 |
Uso de estructuras de datos en programas orientados a Objetos |
21 |
3 |
Introducción a PF |
9 |
4 |
Uso de estructuras de datos en Programas Funcionales |
12 |
5 |
Diseño y Prueba |
9 |
6 |
Trabajo práctico final |
12 |
REGIMEN DE REGULARIDAD
Régimen: Cuatrimestral
Sistema de Evaluación:
Para regularizar la asignatura el alumno debe:
a) Aprobar cada uno de los dos parciales o sus respectivas recuperaciones con una nota mayor o igual a 60/100.
b) Aprobar un trabajo práctico propuesto por la Cátedra sobre temas relacionados con la temática de la asignatura.
BIBLIOGRAFIA
Aho, A. et al., Data Structures and Algorithms, Addison Wesley, 1983.
Booch, G. et al, El Proceso Unificado de Desarrollo de Software, Pearson Education, 2000.
Cormen, T. et al., Introduction to Algorithms, MIT Press and McGraw-Hill, 2001.
Deitel, H., Cómo programar en JAVA, Pearson Education, 2008.
Goodrich, J., Estructura de Datos y Algoritmos en Java, Pearson, 2003.
Hudak, P., Fasel, J., A gentle introduction to Haskell, ACM Sigplan Notices, Vol. 7, (5), p. 1-52, 1992.
Pressman, R., Ingeniería del Software, Mc. Graw-Hill, 2002.
Ruiz Blas, C et al., Razonando con Haskell, Paraninfo, 2007.
Sommerville, I., Ingeniería del Software, Pearson Education, 2005.
Prechelt, L., An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl, IEEE Computer, Vol. 30, (10), p. 23-29, 2000.
Yourdon, E. Análisis y Diseño Estructurado Moderno, Prentice Hall, 1989.
BIBLIOGRAFIA ADICIONAL
Glover, F., Laguna, M., Tabu Search, Kluwer Academic, 1998.
Hoos, J., Stutzle, T., Stochastic Local Search Foundations and Applications, Kaufmann, 2005.
Knuth, D., The Art of Computer Programming Volume 1, Addison-Wesley, 1997.
Larman, C., UML y Patrones - Introducción al Análisis y Diseño Orientado a Objetos y Proceso Unificado, Pearson Education, 2003.
Mitchell, J., Concepts in Programming Languages, Cambridge University Press, 2002.
rgg
Firmado: Prof. María Elena Higa – Ing. Norberto A. Bonini
Secretaria Académica – Decano