Descripción: 

La asignatura de Proyectos de Programación I profundiza en el mundo de la programación, proporcionando técnicas y conocimientos relacionados con herramientas de gestión y desarrollo de proyectos. Se trata de una asignatura principalmente práctica en la que el/la estudiante aplicará los conocimientos teóricos mediante trabajos y projectos, tanto a nivel individual como en equipo. El/La estudiante adquiriá una base sólida de gestión del software y de trabajo en equipo con la que afrontar materias posteriores del plan des estudios relacionadas con el desarrollor de software.

Tipo asignatura
Tercer - Obligatoria
Semestre
Primero
Curso
2
Créditos
3.00

Profesores Titulares

Profesores Docentes

Conocimientos previos: 

Metodología y Tecnología de la Programación (Recomendable)

Objetivos: 

El objetivo de la asignatura es profundizar en el mundo de la programación a través del desarrollo de prácticas y proyectos de programación que permitan que el aprendizaje sea dinámico, práctico, autodidáctico y colaborativo. La asignatura quiere dotar al/la alumno/a de técnicas y conocimientos tanto prácticos como teóricos, que permitan afrontar el mundo de la programación con las herramientas de gestión y desarrollo de proyectos necesarias.

Contenidos: 

1. Herramientas de desarrollo de proyectos en equipo

1.1. Introducción a métodos de desarrollo de proyectos

1.2. Sistemas de control de versiones

2. Test de software

2.1. Introducción al test de software

2.2. Pruebas unitarias y TDD

3. Depuración de software

3.1. Introducción a la depuración de software

3.2. Depuración de C en entornos de terminal

Metodología: 

Las clases de la asignatura de Proyectos de Programación I quieren introducir al/la alumno/a en las metodologías y herramientas necesarias para desarrollar satisfactoriamente un proyecto de programación, tanto grupal como individual. La asignatura quiere iniciar al/la alumno/a en el pensamiento necesario para poder planificar, diseñar, desarrollar y validar proyectos de programación, y dotarlo de los conocimientos necesarios sobre las herramientas para poder llevar a buen término estos objetivos. Se trata de una asignatura principalmente basada en proyectos, acompañados de clases magistrales complementadas con talleres y ejercicios en clase, donde se aplican los diferentes conceptos vistos en el temario.

Evaluación: 

La nota de la asignatura se basa en las actividades de evaluación continua (EC) y en el proyecto grupal. La calificación final en convocatoria ordinaria se obtiene a partir de:

Nota final = 30% Nota EC + 70% Nota proyecto

El proyecto debe obtener una nota mínima de 4 sobre 10. En caso contrario, la nota final será equivalente a la nota del proyecto. En caso de que se suspenda la convocatoria ordinaria, se podrá realizar un proyecto individual, cuya nota será la nota final de la asignatura en convocatoria extraordinaria.

Criterios evaluación: 

Se valorará:

El uso correcto de las herramientas de gestión, desarrollo y depuración de código.

La correcta aplicación de las metodologías de desarrollo de software.

La capacidad para definir un plan de pruebas básico.

La capacidad de trabajo en equipo.

Bibliografía básica: 

KLEMENS, BEN. (2014). 21st Century C. 2a edición. O'Reilly Media, 2014. ISBN 978-1-4919-0389-6.

SALVADOR, J. CANALETA, X. (2015) Programació en C per a sistemes UNIX, Publicacions La Salle, Septiembre 2015.

VERNET, D. SALVADOR, J. (2011). Introducció al llenguatge de programació C, Publicacions La Salle, Julio 2011.

AGANS D.J.(2002) Debugging. The 9 indispensable rules for finding even the most elusive software and hardware problems, Amacom, 2002, ISBN 0-8144-7457-8.

VALGRIND DEVELOPERS. (2015). Valgrind User Manual. [Online] 22 de Septiembre del 2015. http://valgrind.org/docs/manual/manual.html.


ATLASSIAN. Git Tutorials and Training. [Online] https://www.atlassian.com/git/tutorials/


GIT. Git – Documentation. [Online] https://git-scm.com/doc

Material complementario: 

STALLMAN, RICHARD M. SUPPORT, CYGNUS. (1996). Debugging with GDB: The GNU source-level debugger. [Online] Boston, MA : Free software foundation, 1996. ISBN 1-88211-409-4. Disponible en: https://sourceware.org/gdb/current/onlinedocs/gdb/


MORGADO, ALEKSANDER. (2010). Understanding Valgrind memory leak reports. [Online] 4 Febrero 2010. http://es.gnu.org/~aleksander/valgrind/valgrind-memcheck.pdf


Beck, K. (2002). Test driven development: By example. Addison-Wesley Educational. ISBN 9780321146533