Guía docente de Programación (2951115)
Grado
Rama
Módulo
Materia
Curso
Semestre
Créditos
Tipo
Profesorado
Teórico
Prerrequisitos y/o Recomendaciones
- Es recomendable haber cursado asignaturas de matemáticas e informática en el bachillerato.
- En el caso de utilizar herramientas de IA para el desarrollo de la asignatura, el estudiante debe adoptar un uso ético y responsable de las mismas:
- Qué se puede hacer: usar la IA como una fuente de información o de conocimiento.
- Qué no se puede hacer:
- Limitarse a copiar.
- Copiar soluciones generadas por la IA sin entenderlas.
- Copiar soluciones sin comprobar su corrección.
- Copiar soluciones sin adaptarlas al lenguaje C++ expuesto en el temario.
- Copiar soluciones sin adaptarlas a los conceptos, herramientas, recursos o habilidades concretas expuestas en la asignatura, y que se están tratando de evaluar mediante los ejercicios a resolver.
Breve descripción de contenidos (Según memoria de verificación del Máster)
- Sistemas operativos
- Lenguajes de programación
- Librerías informáticas científicas
- Aplicaciones a problemas científicos
Competencias
Competencias Generales
- CG01. Capacidad de análisis y síntesis
- CG02. Capacidad de organización y planificación
- CG04. Conocimientos de informática relativos al ámbito de estudio
- CG06. Resolución de problemas
- CG08. Razonamiento crítico
- CG11. Iniciativa y espíritu emprendedor
Competencias Específicas
- CE08. Utilizar herramientas informáticas para resolver y modelar problemas y para presentar sus resultados.
Resultados de aprendizaje (Objetivos)
- Aprender a usar herramientas informáticas
- Aprender a programar en un lenguaje relevante para el cálculo científico
Programa de contenidos Teóricos y Prácticos
Teórico
TEMARIO TEÓRICO:
- Bloque 1. Introducción.
- Concepto de sistema informático
- Arquitectura básica de un computador
- El sistema operativo
- La programación de ordenadores
- El lenguaje de programación C++: sintaxis básica
- Bloque 2. Programación básica I
- Tipos de datos simples
- Instrucciones de E/S
- Control de flujo
- Funciones
- Resolución de problemas de cálculo acumulado
- Bloque 3. Programación básica II
- Arrays
- Recursividad
- Búsqueda y ordenación
- Resolución de problemas algebraicos y numéricos
- Bloque 4. Programación avanzada
- Clases y objetos
- Instanciación, propiedades y métodos
- El objeto string
- Archivos y flujos de E/S
- Abstracción de elementos matemáticos complejos
Práctico
TEMARIO PRÁCTICO:
Talleres/Seminarios
- Acceso a los laboratorios y otros recursos para estudiantes en la UGR
- Descripción de algoritmos mediante diagramas de flujo
- Redes Neuronales Artificiales y Aprendizaje Profundo
Prácticas de Laboratorio
- Práctica 1. El entorno de programación I. Primeros programas.
- Práctica 2. El entorno de programación II. Funciones matemáticas habituales.
- Práctica 3. Las ayudas contextuales. Números aleatorios.
- Práctica 4. Corrección de errores. Bucles y estructuras de control selectivo.
- Práctica 5. Programación modular I. Programación de rutinas matemáticas y series numéricas.
- Práctica 6. Programación modular II. Programación eficiente de rutinas matemáticas.
- Práctica 7. Tipos de datos compuestos. Cálculo matricial.
- Práctica 8. Práctica de control. Funciones y matrices.
- Práctica 9. Bibliotecas de funciones matemáticas.
- Práctica 10. La depuración de programas. Almacenamiento externo y flujos de E/S
Bibliografía
Bibliografía fundamental
BIBLIOGRAFÍA FUNDAMENTAL:
- Cuaderno de Programación (5ª edición). Jose Luis Bernier Villamor y Luis Javier Herrera Maldonado. Editorial Técnica Avicam (Librería Fleming), 2024.
- Problemas de Programación (5ª edición). Jose Luis Bernier Villamor. Editorial Técnica Avicam (Librería Fleming), 2025.
Bibliografía complementaria
- Fundamentos de la Programación con la STL. Antonio Garrido Carrillo. Editorial Universidad de Granada, 2016.
- Metodología de la Programación. Antonio Garrido Carrillo. Editorial Universidad de Granada, 2016.
- Programación en C++ para ingenieros (2ª edición). Fatps Xhafa, P. Vázquez Alcocer y otros. Thomson, 2006.
- Problemas resueltos de programación en lenguaje C++. J.D. García Sánchez, J.M. Pérez Menor y otros. Thomson, 2004.
- Programación en C++. Luis Joyanes Aguilar. McGraw- Hill Serie Schaum, 2006.
- Cálculo científico con MatLab y Octave. Alfio Qarteroni, Fausto Saleri. Springer Verlag, 2006.
- Fortran 90/95 for Scientists and Engineers. Stephen Chapman. McGraw-Hill, 2003.
- Introducción a la Informática (4a edición). A. Prieto, A. Lloris, J.C. Torres. McGraw-Hill, 2005
Enlaces recomendados
INFORMACIÓN SOBRE LA ASIGNATURA Y MATERIALES DE APOYO ESPECÍFICOS
- Página web de la asignatura en la plataforma SWAD: http://swad.ugr.es
- Página web del título de Grado en Física: http://grados.ugr.es/fisica
- Página web de la Facultad de Ciencias: http://fciencias.ugr.es
LIBROS Y OTROS DOCUMENTOS TEXTUALES ONLINE
- C++ para Ingeniería y Ciencias (2ª edición). G. J. Bronson. Thomson, 2006: http://books.google.com
- Numerical recipes (the art of scientific computing): http://numerical.recipes/
TUTORIALES Y CURSOS ONLINE
- Videocurso Fundamentos de Informática del profesor Alberto Prieto Espinosa. Youtube:
- Curso de Programación en C++. Programación ATS (videocurso en youtube):
- Referencia de C y C++: http://www.cppreference.com
- C++ con clase: http://c.conclase.net
- The C++ Resources Network: http://www.cplusplus.com
SOFTWARE
- Entorno de programación Code::Blocks: http://www.codeblocks.org/
- Entorno de programación CodeLite: http://www.codelite.org/
- GNU Fortran: http://gcc.gnu.org/fortran
- Octave: http://www.gnu.org/software/octave/
Metodología docente
- MD01. Lección magistral/expositiva
Evaluación (instrumentos de evaluación, criterios de evaluación y porcentaje sobre la calificación final)
Evaluación Ordinaria
- La evaluación de la asignatura se realizará de forma continua a partir de las calificaciones de prácticas, así como del examen final en el que los estudiantes tendrán que demostrar las competencias adquiridas.
- La asistencia a las clases de grupo amplio (teoría y problemas) no es obligatoria, pero sí recomendable.
- La asistencia a las clases de grupo reducido (sesiones de prácticas y seminarios) es obligatoria:
- Los seminarios son clases en grupo reducido donde el profesor expone algún tema relacionado transversalmente con la asignatura.
- En cada seminario se evalúa:
- Asistencia (50%)
- Corrección de ejercicios propuestos en el seminario (50%).
- En cada seminario se evalúa:
- Las sesiones ordinarias de prácticas son clases en grupo reducido donde a partir de un guión que se proporciona a los estudiantes, éstos deben resolver un conjunto de ejercicios.
- Cada sesión ordinaria de prácticas consta de las siguientes partes, evaluables por separado:
- Test con preguntas sobre el guión de la práctica a realizar y los conceptos necesarios explicados en clase relacionados con la misma (30%).
- Ejercicios a resolver durante la sesión de prácticas, siguiendo el guión y en presencia del profesor (30%).
- Ejercicios complementarios a resolver individualmente en el horario de estudio de la asignatura sin la presencia del profesor (40%).
- Cada sesión ordinaria de prácticas consta de las siguientes partes, evaluables por separado:
- Las sesiones de control de prácticas son clases en grupo reducido donde, a partir del enunciado, los estudiantes deben resolver de forma autónoma y sin ayuda un ejercicio similar a los que ya se han trabajado previamente en clase de teoría y prácticas. El profesor calificará la solución entregada por el estudiante.
- Los seminarios son clases en grupo reducido donde el profesor expone algún tema relacionado transversalmente con la asignatura.
- Las prácticas se organizan en tres bloques, donde cada uno consta de varias sesiones:
- Bloque 1: 1 seminario (10%) + 3 sesiones ordinarias (40%) + 1 sesión de control (50%)
- Bloque 2: 1 seminario (10%) + 3 sesiones ordinarias (40%) + 1 sesión de control (50%)
- Bloque 3: 1 seminario (10%) + 2 sesiones ordinarias (90%)
- A su vez, el peso sobre la calificación de prácticas de cada uno de estos bloques de prácticas es:
- Bloque 1 (40%)
- Bloque 2 (40%)
- Bloque 3 (20%)
- El examen final de la asignatura, tanto en la convocatoria ordinaria como en la extraordinaria, se realizará por escrito y consistirá en la resolución de diversos problemas de programación de dificultad similar a los realizados durante el curso, y abarcará la totalidad de los contenidos expuestos en la asignatura.
- La superación de cualquiera de las pruebas no se logrará sin un conocimiento uniforme y equilibrado de toda la materia. Por ello, la calificación final se calculará de la siguiente manera en la convocatoria ordinaria:
Calificación en el examen | Calificación final |
< 5 |
nota_examen (100%) |
>=5 |
nota_examen (50%) + nota_practicas (50%) |
(en ningún caso se aprobará la asignatura con una calificación en el examen ordinario inferior a 5).
- Dado que se usa evaluación continua:
- No es posible recuperar/realizar las prácticas fuera del calendario lectivo de clases.
- No se guardan la calificaciones de prácticas obtenidas en cursos anteriores.
- En el caso de no poder realizar las prácticas o no querer repetirlas, en su caso, y siempre que se justifique adecuadamente, podrá solicitarse la Evaluación Única siguiendo la normativa y directrices pertinentes.
- Evaluación por incidencias: los estudiantes que no puedan concurrir a las pruebas finales de evaluación o a las programadas en la Guía Docente con fecha oficial, por alguna de las circunstancias recogidas en el artículo 9 de la Normativa de evaluación y de calificación de los estudiantes de la Universidad de Granada, siguiendo el procedimiento indicado en dicha normativa.
Evaluación Extraordinaria
- En la convocatoria extraordinaria la calificación final se computará como:
Calificación en el examen | Calificación final |
< 5 |
nota_examen (100%) |
>=5 |
Máximo de considerar: - nota_examen (100%) - nota_examen (75%) + nota_practicas (25%) |
(en ningún caso se aprobará la asignatura con una calificación en el examen extraordinario inferior a 5).
Evaluación única final
- De acuerdo con la Normativa de Evaluación y de Calificación de los Estudiantes de la UGR, se contempla la realización de una evaluación única final a la que podrán acogerse aquellos estudiantes que no puedan cumplir con el método de evaluación continua por algunos de los motivos recogidos en el Artículo 8. Para acogerse a la evaluación única final, el estudiante, en las dos primeras semanas de impartición de la asignatura, en las dos semanas siguientes a su matriculación si ésta se ha producido con posterioridad, o más tarde si hay causa sobrevenida, lo solicitará a través de la sede electrónica, alegando y acreditando las razones que le asisten para no poder seguir el sistema de evaluación continua.
- La evaluación única constará de dos pruebas:
- Examen de la asignatura, similar al de la convocatoria correspondiente a la que se presente (75 %).
- Prueba de laboratorio, a realizar con ordenador y con ejercicios relacionados con las sesiones de prácticas (25 %).
Información adicional
- Alumnos con necesidades específicas de apoyo educativo (NEAE)
- Siguiendo las recomendaciones de la CRUE y del Secretariado de Inclusión y Diversidad de la UGR, los sistemas de adquisición y de evaluación de competencias recogidos en esta guía docente se aplicarán conforme al principio de diseño para todas las personas, facilitando el aprendizaje y la demostración de conocimientos de acuerdo a las necesidades y la diversidad funcional del alumnado. La metodología docente y la evaluación serán adaptadas al alumnado con NEAE, conforme al Artículo 11 de la Normativa de Evaluación y de Calificación de estudiantes de la UGR, publicada en el Boletín Oficial de la UGR nº 112, de 9 de noviembre de 2016.
- Inclusión y Diversidad de la UGR
- En el caso de estudiantes con discapacidad u otras NEAE, el sistema de tutoría deberá adaptarse a sus necesidades, de acuerdo a las recomendaciones de la Unidad de Inclusión de la UGR, procediendo los Departamentos y Centros a establecer las medidas adecuadas para que las tutorías se realicen en lugares accesibles. Asimismo, a petición del profesorado, se podrá solicitar apoyo a la unidad competente de la Universidad cuando se trate de adaptaciones metodológicas especiales.
Información de interés para estudiantado con discapacidad y/o Necesidades Específicas de Apoyo Educativo (NEAE): Gestión de servicios y apoyos (https://ve.ugr.es/servicios/atencion-social/estudiantes-con-discapacidad).
Software Libre
- Code::Blocks: https://www.codeblocks.org/
- MinGW: https://sourceforge.net/projects/mingw/
- Apache OpenOffice: https://www.openoffice.org/es/