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



ANEXO I de la Res. D. Nº 526/08 - Expediente Nº 8.615/08

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


  1. Aho, A. et al., Data Structures and Algorithms, Addison Wesley, 1983.

  2. Booch, G. et al, El Proceso Unificado de Desarrollo de Software, Pearson Education, 2000.

  3. Cormen, T. et al., Introduction to Algorithms, MIT Press and McGraw-Hill, 2001.

  4. Deitel, H., Cómo programar en JAVA, Pearson Education, 2008.

  5. Goodrich, J., Estructura de Datos y Algoritmos en Java, Pearson, 2003.

  6. Hudak, P., Fasel, J., A gentle introduction to Haskell, ACM Sigplan Notices, Vol. 7, (5), p. 1-52, 1992.

  7. Pressman, R., Ingeniería del Software, Mc. Graw-Hill, 2002.

  8. Ruiz Blas, C et al., Razonando con Haskell, Paraninfo, 2007.

  9. Sommerville, I., Ingeniería del Software, Pearson Education, 2005.

  10. Prechelt, L., An empirical comparison of C, C++, Java, Perl, Python, Rexx, and Tcl, IEEE Computer, Vol. 30, (10), p. 23-29, 2000.

  11. Yourdon, E. Análisis y Diseño Estructurado Moderno, Prentice Hall, 1989.


BIBLIOGRAFIA ADICIONAL


  1. Glover, F., Laguna, M., Tabu Search, Kluwer Academic, 1998.

  2. Hoos, J., Stutzle, T., Stochastic Local Search Foundations and Applications, Kaufmann, 2005.

  3. Knuth, D., The Art of Computer Programming Volume 1, Addison-Wesley, 1997.

  4. Larman, C., UML y Patrones - Introducción al Análisis y Diseño Orientado a Objetos y Proceso Unificado, Pearson Education, 2003.

  5. 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