La asignatura parte del conocimiento que tiene el alumno sobre la programación no estructurada y estructurada, y sobre éste, le facilita herramientas orientadas a lograr desarrollos de software eficientes y de calidad.
Adicionalmente, la asignatura se comprende del aprendizaje de la programación modular y el uso de las herramientas de apoyo al desarrollo asociadas a este tipo de programación. La programación modular es la evolución natural de la programación estructurada, y el paso previo a la programación orientada a objetos.
El objetivo de la asignatura es el logro de conocimientos orientados a la obtención de software de calidad de una forma eficiente.
Profesores Titulares
Profesores Docentes
Fundamentos de programación.
La asignatura tiene como objetivo que el estudiante adquiera los conocimientos y desarrolle las habilidades necesarias para analizar y resolver problemas mediante la programación. Se pretende fomentar la capacidad de comprender y abstraer problemas reales, diseñar soluciones correctas y eficientes, y desarrollar el pensamiento algorítmico.
Asimismo, se introducen los fundamentos de la programación estructurada y modular, el uso de pseudocódigo y de un lenguaje imperativo como C, así como la capacidad de interpretar y construir programas. Finalmente, se promueve la adquisición de hábitos de trabajo y estudio continuados.
- Ficheros y programación modular
- Punteros y Memoria Dinámica
- Estructuras de Datos Lineales
- Introducción a recursividad
La metodología docente se basa en un enfoque activo y teórico-práctico orientado a la adquisición progresiva de los resultados de aprendizaje de la asignatura. El desarrollo del curso combina clases magistrales, sesiones prácticas y trabajo autónomo del estudiante, garantizando una adecuada integración entre teoría y práctica.
Las clases magistrales se centran en la introducción de los conceptos fundamentales y en la explicación de los principios básicos de la programación. Estas se complementan con clases prácticas, en las que el estudiante aplica los conocimientos adquiridos mediante la resolución de problemas y el desarrollo de ejercicios guiados.
De forma continuada, el alumnado realiza ejercicios semanales que refuerzan la comprensión de los contenidos y favorecen el desarrollo del pensamiento algorítmico. Asimismo, se plantean prácticas de mayor alcance orientadas al diseño e implementación de soluciones completas, incluyendo un proyecto o práctica individual que permite consolidar los aprendizajes de manera autónoma.
La metodología se completa con actividades de evaluación, como exámenes, y con el estudio personal del estudiante, que resulta fundamental para afianzar los conocimientos y competencias trabajados en el aula. En conjunto, se promueve un aprendizaje progresivo que combina trabajo dirigido, práctica aplicada y trabajo autónomo, en coherencia con la carga de trabajo establecida.
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 significativo, 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.
Se valorará:
- La capacidad de aplicar el pensamiento computacional en la resolución de ejercicios.
- La comprensión y aplicación correcta de los conceptos de algoritmia básica.
- El uso correcto del lenguaje C para la resolución de problemas y ejercicios.
- La elaboración de documentación que explique de forma correcta y completa los programas desarrollados.
- La capacidad de comprender los requisitos de un problema y proponer una solución en forma de algoritmo.
- 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 requiere más que la bibliografia bàsica