La asignatura parte del conocimiento adquirido por el alumno en programación estructurada y no estructurada para proporcionarle herramientas que permitan desarrollar software eficiente y de calidad. Además, aborda la programación modular y el uso de las herramientas de soporte al desarrollo asociadas a esta aproximación, la cual representa la evolución natural de la programación estructurada y el paso previo a la programación orientada a objetos. Su objetivo es que el estudiante adquiera competencias que le permitan diseñar, implementar y evaluar software de calidad de forma eficiente.
Profesores Titulares
Profesores Docentes
Fundamentos de programación.
1. Implementar software. 2. Programar de forma estructurada y modular. 3. Saber trabajar tanto en grupo y como de forma individual. 4. Capacidad para analizar un problema y diseñar una solución. 5. Conocer y aprender a utilizar herramientas para el desarrollo, implementación, prueba y control que contribuyan a aumentar la eficiencia en el desarrollo y la calidad del software.
1 - Ficheros y programación modular 2 - Punteros y Memoria Dinámica 3 - Estructuras de Datos Lineales 4 - Introducción a recursividad
Las clases de la asignatura fomentan un aprendizaje activo y participativo desde el inicio, con el alumno implicado directamente en tareas desarrolladas en su portátil y la lectura de documentación complementaria; mediante la combinación de sesiones teóricas y programación cotidiana se facilita la consolidación de conocimientos, que se refuerzan mediante prácticas y laboratorios de evaluación continua a lo largo del curso.
Prácticas: evaluación altamente significativa que garantiza que el alumno aplique los conocimientos adquiridos en forma de proyecto. Evaluación continua: evaluación de carácter moderadamente significativa, realizada mediante sesiones de laboratorio con periodicidad regular que permiten poner en práctica los contenidos previamente adquiridos y mantener el aprendizaje al día a lo largo del curso. Exámenes finales: evaluación altamente significativa que asegura que el alumno integre y aplique de forma global los conocimientos desarrollados durante el semestre.
La nota final de la asignatura se compone por dos bloques de igual peso: conocimientos y prácticas. La valoración de conocimientos se determinará por la mejor nota obtenida entre el examen final o la combinación del examen y los resultados de la evaluación continua.
Carmen, Thomas H.; Leiserson Charles E.; Rivest Ronald L; Stein Clifford. Introduction to Algorithms, The MIT Press, 2009.
García-Bermejo, J.R. Programación Estructurada en C, Pearson/Prentice-Hall, 2008.
Hanly, Jerry R.; Koffman, Elliot B.; Problem Solving and Program Design in C, Pearson Education, 2013.
Joyanes, L. Fundamentos de la programación. Algoritmos y Estructura de Datos, McGraw-Hill, 2008.
Kernighan, Brian W.; Ritchie, Dennis M. El lenguaje de programación C, Prentice-Hall Hispanoamericana, 1991.
Kruse, Robert Leroy; Tondon, Clovis L.; Leung, Bruce P. Data structures and program design in C, Prentice-Hall, 1997.
Weiss, Mark Allen. Estructuras de datos y algoritmos, Addison-Wesley Iberoamericana, 1995
No more than the basic bibliography is needed.