Usted está aquí: Inicio web asignaturas

 

Fichas de asignaturas 2010-11


METODOLOGÍA DE LA PROGRAMACIÓN

Asignaturas
 

  Código Nombre    
Asignatura 1710007 METODOLOGÍA DE LA PROGRAMACIÓN Créditos Teóricos 3
Descriptor   PROGRAMMING METHODOLOGY Créditos Prácticos 3
Titulación 1710 INGENIERÍA TÉCNICA EN INFORMÁTICA DE GESTIÓN Tipo Troncal
Departamento C137 LENGUAJES Y SISTEMAS INFORMATICOS    
Curso 1      
Créditos ECTS 4,5      

Para el curso Créditos superados frente a presentados Créditos superados frente a matriculados
2007-08 53.4% 23.5%

 

 

Pulse aquí si desea visionar el fichero referente al cronograma sobre el número de horas de los estudiantes.

Profesorado

Elisa Guerrero Vázquez
Nuria Hurtado Rodríguez
Bernardo Miguel Nuñez Moraleda
Esther Lydia Silva Ramírez (Coordinadora)

Situación

Prerrequisitos

Sería conveniente que el alumno tuviese los conocimientos de la
asignatura de
Introducción a la Programación.

Contexto dentro de la titulación

Asignatura troncal de primer curso de Ingeniería Técnica en
Informática de
Gestión con un gran componente teórico  y práctico. Los contenidos
complementan los conocimientos adquiridos en la asignatura de
Introducción a
la Programación de primer cuatrimestre de primer curso y los prepara
para el
aprendizaje de la asignatura Análisis de Algoritmos, de segundo curso.
A la
vez que se relaciona con los contenidos de la asignatura de primer
curso
Estructura de Datos.

Recomendaciones

Sería deseable que el alumno tuviese buena predisposición ante el
aprendizaje.
De la misma manera que sería aconsejable que dispusiera de un
ordenador
personal que le permitiera complementar el estudio teórico-práctico de
la
asignatura, así como realizar el resto de actividades a realizar.

Competencias

Competencias transversales/genéricas

- Capacidad para aplicar los conocimientos teóricos a la práctica.
- Capacidad de resolución de problemas siguiendo una metodología.
- Actitud rigurosa y formal en el desarrollo de programas.

Competencias específicas

  • Cognitivas(Saber):

    - Conocer todos los aspectos relacionados con la descomposición de
    problemas y el diseño modular.
    - Conocer los fundamentos del análisis de complejidad
    de algoritmos.
    - Conocer el concepto de recursividad y sus tipos, así como la
    transformación sobre algoritmos recursivos.
    - Conocer los métodos de transformación de algoritmos recursivos.
    - Conocer las técnicas y estrategias de prueba del software.
    - Conocer las técnicas de verificación formal de algoritmos.
    - Conocer los tipos de documentación de programas.
  • Procedimentales/Instrumentales(Saber hacer):

    - Aplicar el diseño modular en el desarrollo de programas.
    - Analizar y diseñar algoritmos eficientes para resolver
    problemas.
    - Aplicar técnicas de transformación de algoritmos recursivos.
    - Implementar los algoritmos desarrollados en un lenguaje de
    programación.
    - Documentar los programas.
    - Verificar formalmente algoritmos.
  • Actitudinales:

    - Ser consciente de la necesidad de realizar el análisis y diseño de
    algoritmos.
    - Valorar la importancia de documentar los programas.
    - Valorar el orden a seguir en la resolución de problemas.
    - Apreciar las ventajas del trabajo en grupo.
    - Presentar una buena predisposición ante el aprendizaje.
    - Valorar la importancia de la responsabilidad en el trabajo y
    respeto hacia los demás.
    - Estar dispuesto a la búsqueda de información que ayude a
    la ampliación de sus conocimientos.

Objetivos

Adquirir las competencias específicas reseñadas.

Programa

Teórico

Tema 1  Diseño Modular.
1.1.-Visión genérica de la Ingeniería del Software.
1.2.-Concepto de módulo.
1.3.-Criterios de descomposición modular.
1.4.-Relación entre módulos.
1.5.-Reutilización de módulos. Ventajas de la modularización de
algoritmos.
1.6.-Documentación.

Tema 2  Prueba del software.
2.1.-Técnicas de prueba del software.
2.2.-Estrategias de prueba del software.

Tema 3  Verificación formal de algoritmos.
3.1.-Introducción.
3.2.-Uso de pre y pos-condiciones y demostraciones
elementales de corrección.
3.3.-Razonamientos sobre sentencias.
3.3.1.-Razonamientos sobre sentencias de asignación.
3.3.2.-Composición secuencial de instrucciones.
3.3.3.-Razonamiento sobre el esquema de selección.
3.3.4.-Razonamiento sobre bucles.
3.4.-Especificación de funciones.
3.5.-Verificación de funciones recursivas.

Tema 4  Introducción al Análisis de algoritmos.
4.1.-Introducción.
4.2.-Eficiencia de un algoritmo. Tiempo y espacio.
4.3.-¿Por qué hay que buscar la eficiencia?
4.4.-Estimación Objetiva. Análisis de complejidad. (Notación
asintótica).
4.5.-Órdenes de magnitud en la complejidad de algoritmos.
4.6.-Aplicación: algoritmos de búsqueda y ordenación.

Tema 5  Transformación de algoritmos recursivos.
5.1.-Diseño de algoritmos recursivos.
5.2.-Transformación sobre algoritmos recursivos.
5.3.-Técnicas de inmersión. Desplegado y Plegado.
5.4.-Transformación de algoritmos recursivos a iterativos.

Práctico

Tema 1 Diseño modular.
·Definición y uso de módulos.
·Compilación separada.
·Desarrollo de proyectos.

Tema 2 Verificación formal.

Tema 3 Análisis empírico de programas.
·Análisis empírico del tiempo de ejecución.
·Comparación del tiempo de ejecución de algunos algoritmos de
ordenación.

Tema 4 Diseño y transformación de algoritmos recursivos.

Actividades

La asignatura se oferta sin docencia.

Metodología

La asignatura se oferta sin docencia

Distribución de horas de trabajo del alumno/a

Nº de Horas (indicar total):

  • Clases Teóricas:  
  • Clases Prácticas:  
  • Exposiciones y Seminarios:  
  • Tutorías Especializadas (presenciales o virtuales):
    • Colectivas:  
    • Individules:  
  • Realización de Actividades Académicas Dirigidas:
    • Con presencia del profesorado:  
    • Sin presencia del profesorado:  
  • Otro Trabajo Personal Autónomo:
    • Horas de estudio:  
    • Preparación de Trabajo Personal:  
    • ...
        
  • Realización de Exámenes:
    • Examen escrito: 4  
    • Exámenes orales (control del Trabajo Personal):  

Criterios y Sistemas de Evaluación

Los exámenes, que serán escritos y calificables de 0 a 10, incluirán
aspectos teórico-prácticos de la asignatura y consistirán en una serie de
cuestiones y  problemas a los que el alumno deberá aportar una solución
fundamentada en el contenido teórico de la asignatura.

Para aprobar la asignatura se requerirá la obtención de una calificación
final superior o igual a 5.

Recursos Bibliográficos

BIBLIOGRAFÍA RECOMENDADA PARA LOS CONTENIDOS TEÓRICOS

[Aho88]  Aho, A.; Hopcroft, J.; Ullman, J. Estructuras de datos y
algoritmos.
Ed. Addison-Wesley. 1988.

[Bal93]  Balcázar, J.L.; Programación Metódica; Ed. McGraw-Hill, 1993.

[Bra97]  Brassard G., Bratley P. ; Fundamentos de algoritmia;
Prentice Hall, 1.997

[Cas93]  Castro, J.; Cucker, F.; Messeguer, X.; Rubio, A.; Solano, L.;
Valles, B.; Curso de Programación; Ed. McGraw-Hill, 1993.

[Hur02]  Hurtado Rodríguez, N.; Laguia Bonillo, M.; Silva Ramírez, E.L.;
Introducción a la Programación; Ed. Servicio de Publicaciones,
Universidad de Cádiz, 2002.

[Knu87]  Knuth, D. El arte de programar ordenadores. Ed. Reverté. 1987.

[Peñ98]  Peña Marí, R.; Diseño de Programas. Formalismos y Abstracción;
Ed. Prentice Hall, 1998, 2ª Edición.

[Pia96]  Piattini, M.; Calvo-Manzano, J.A.; Cervera, J.; Fernández, L.;
Análisis y diseño detallado de aplicaciones informáticas de
gestión;
Ed. RA-MA, 1996.

[Pre95]  Pressman, R.; Ingeniería del Software: Un enfoque práctico;
Ed. McGraw Hill, 1995, 3ª Edición.

[Sed89]  Sedgewick, R.; Algorithms; Ed. Addison-Wesley, 1989, 2ª Edición.


BIBLIOGRAFIA RECOMENDADA PARA LOS CONTENIDOS PRÁCTICOS

[Abu98]  Aburruzaga García, G.; Medina Bulo, I.; Palomo Lozano, F.;
Por fin: C ISO; Ed. Servicio de Publicaciones, Universidad
de Cádiz,1998.

[Gar02]  García, F.; Carretero, J.; Fernández, J.; Calderón, A.; El
lenguaje de programación C; Ed. Prentice Hall, 2002.

[Kel92]  Kelly, A.; Pohl, I.; C by Dissection: The Essentials of C
programming; Ed. Benjamin/Cummings, 1992, 2ª Edición.

[Kel98]  Kelly, A.; Pohl, I.; A book on C. Programming in C;
Ed. Addison-Wesley, 1998, 4ª Edición.

[Ker88]  Kernighan, B. W.; Ritchie, D.M.; The C Programming Language;
Ed. Prentice Hall, 1988, 2ª Edición.

[Ker00]  Kernighan, B. W.; Pike, R.; La  práctica de la programación;
Ed. Prentice Hall, 2000.

[Ton89]  Tondo, C.L.; Gimpel, S.E.; The C Answer Book;
Ed. Prentice-Hall, 1989, 2ª Edición.

 

El presente documento es propiedad de la Universidad de Cádiz y forma parte de su Sistema de Gestión de Calidad Docente. En aplicación de la Ley 3/2007, de 22 de marzo, para la igualdad efectiva de mujeres y hombres, así como la Ley 12/2007, de 26 de noviembre, para la promoción de la igualdad de género en Andalucía, toda alusión a personas o colectivos incluida en este documento estará haciendo referencia al género gramatical neutro, incluyendo por lo tanto la posibilidad de referirse tanto a mujeres como a hombres.