Guía Docente 2023-24 FUNDAMENTOS DE PROGRAMACIÓN |
DATOS BÁSICOS DE LA GUÍA DOCENTE:
Materia: | FUNDAMENTOS DE PROGRAMACIÓN | ||
Identificador: | 31355 | ||
Titulación: | GRADUADO EN DISEÑO Y DESARROLLO DE VIDEOJUEGOS. 2013 (BOE 28/03/2014) | ||
Módulo: | INFORMÁTICA | ||
Tipo: | MATERIA BASICA | ||
Curso: | 1 | Periodo lectivo: | Segundo Cuatrimestre |
Créditos: | 6 | Horas totales: | 150 |
Actividades Presenciales: | 62 | Trabajo Autónomo: | 88 |
Idioma Principal: | Castellano | Idioma Secundario: | Inglés |
Profesor: | Correo electrónico: |
PRESENTACIÓN:
La asignatura supone la primera toma de contacto del alumno con la programación informática en la universidad. Se trata de un pilar fundamental para el buen desarrollo académico y profesional. En el mundo profesional, se trata de uno de los campos en el mundo de la informática de mayor dimensión tanto social como económicamente.
El alumno aprenderá a analizar y resolver problemas de tratamiento de información de complejidad baja o media y a construir algoritmos que los resuelvan. Para ello el alumno deberá aprender a representar la información asociada a cada problema y deberá ser capaz de diseñar y documentar las acciones algorítmicas que los resuelvan de forma eficaz y eficiente.
El alumno aprenderá a codificar los algoritmos utilizando para ello el lenguaje de programación C.
COMPETENCIAS PROFESIONALES A DESARROLLAR EN LA MATERIA:
Competencias Generales de la titulación | G05 | Habilidad para comunicar en lengua castellana e inglesa temas profesionales en forma oral y escrita. |
G07 | Capacidad para manejar diferentes modelos complejos de conocimiento mediante un proceso de abstracción y su aplicación al planteamiento y resolución de problemas. | |
Competencias Específicas de la titulación | E03 | Capacidad para desarrollar el uso y la programación de ordenadores, sistemas operativos, bases de datos y programas informáticos y su aplicación en el desarrollo de videojuegos. |
E04 | Capacidad para comprender y dominar los conceptos fundamentales de matemática discreta, lógica, algorítmica y complejidad computacional, y su aplicación para la resolución de problemas propios de la ingeniería. | |
E05 | Capacidad para programar aplicaciones de forma robusta, correcta, y eficiente, eligiendo el paradigma y los lenguajes de programación más adecuados, aplicando los conocimientos sobre procedimientos algorítmicos básicos y usando los tipos y estructuras de datos más apropiados. | |
Resultados de Aprendizaje | R01 | Plantear y diseñar soluciones algorítmicas a problemas concretos. |
R02 | Utilizar entornos y herramientas de desarrollo con los que implementar los algoritmos diseñados. | |
R03 | Identificar, localizar y corregir los errores que puedan aparecer en las soluciones obtenidas para los problemas planteados. | |
R04 | Implementar de manera eficiente algoritmos. | |
R05 | Comentar código fuente con calidad. | |
R06 | Documentar correctamente trabajos de programación. |
REQUISITOS PREVIOS:
No es necesario poseer ningún requisito previo. Es recomendable tener un buen conocimiento de los contenidos matemáticos elementales.
PROGRAMACIÓN DE LA MATERIA:
Contenidos de la materia:
1 - Introducción |
1.0 - Introducción |
1.1 - Origen del lenguaje |
1.2 - Características del lenguaje |
1.3 - Compilación y ejecución |
1.4 - Estructura de un programa |
2 - Variables y operadores |
2.1 - Variables y datos |
2.2 - Constantes |
2.3 - Palabras clave |
2.4 - Comentarios |
2.5 - Operadores |
2.6 - Entrada/Salida |
2.7 - Directivas |
2.8 - Variables y memoria |
3 - Control de flujo |
3.1 - if |
3.2 - for |
3.3 - while/do...while |
3.4 - switch |
4 - Algoritmia y pseudocódigo |
4.1 - Fases de desarrollo |
4.2 - Diagramas |
4.3 - Estructuras básicas |
4.4 - Traza |
5 - Funciones |
5.1 - Introducción |
5.2 - Ventajas |
5.3 - Carcaterísitcas |
5.4 - Ámbito |
5.5 - Modos de almacenamiento |
6 - Array y punteros |
6.1 - Arrays |
6.2 - Punteros |
6.3 - Arrays y punteros |
6.4 - Operaciones con vectores |
6.5 - Vectores como parámetros |
6.6 - Cadenas |
7 - Estructuras y memoria dinámica |
7.1 - Introducción |
7.2 - Estructuras |
7.3 - Uniones |
7.4 - Enumeracioes |
7.5 - Datos propios |
7.6 - Memoria dinámica |
8 - Funciones complejas |
8.1 - Recursividad |
8.2 - Estructuras y funciones |
8.3 - Punteros a funciones |
8.4 - Preprocesado |
9 - Entrada y salida |
9.1 - Entrada y salida formateada |
9.2 - Ficheros |
La planificación de la asignatura podrá verse modificada por motivos imprevistos (rendimiento del grupo, disponibilidad de recursos, modificaciones en el calendario académico, etc.) y por tanto no deberá considerarse como definitiva y cerrada.
METODOLOGÍAS Y ACTIVIDADES DE ENSEÑANZA Y APRENDIZAJE:
Metodologías de enseñanza-aprendizaje a desarrollar:
a) Sesiones teóricas
El profesor expondrá apoyado en recursos TIC (portátil, proyector, Internet) y la pizarra la mayor parte teórica básica de la asignatura. El material utilizado en cada sesión estará siempre en la PDU con antelación para que los alumnos puedan realizar una lectura previa. Se aconseja encarecidamente a los alumnos leer con anterioridad los temas a tratar en clase.
b) Aprendizaje basado en resolución de ejercicios y problemas
Los contenidos teóricos se apoyan en la resolución de problemas que serán propuestos por el profesor y resueltos por los alumnos. Estos problemas serán solucionados, en su mayoría, por los alumnos como parte de su trabajo autónomo en horario fuera de las clases lectivas. De forma puntual algunos problemas se resolverán en las clases presenciales previa petición de los alumnos.
c) Aprendizaje basado la solución de prácticas y proyectos
Una parte muy importante del aprendizaje de la asignatura, y de la nota, se conseguirá con la resolución de las cuatro prácticas a resolver de manera individual por los alumnos. Se proporcionará a los alumnos los enunciados de las prácticas y se solicitará su entrega en un tiempo prudencial. Cada práctica estará centrada en un bloque de la temática de la asignatura, sin olvidar el carácter continuo del aprendizaje de la misma. La resolución correcta de estas prácticas, junto con los problemas citados en el apartado b, preparará al alumno para adquirir con una gran eficiencia las competencias propias de la asignatura.
d) Sesiones de tutoría
Los estudiantes podrán preguntar al profesor aquellas dudas que no han podido ser resueltas durante las clases o que hayan surgido en su tiempo dedicado al trabajo autónomo. Para las sesiones de tutoría se podrán utilizar los distintos medios tecnológicos útiles para dicho fin.
El horario de tutorías será fijado en funciónde la disposición de los alumnos.
Volumen de trabajo del alumno:
Modalidad organizativa | Métodos de enseñanza | Horas estimadas |
Actividades Presenciales | ||
Clase magistral | 21 | |
Casos prácticos | 8 | |
Resolución de prácticas, problemas, ejercicios etc. | 13 | |
Exposiciones de trabajos de los alumnos | 2 | |
Prácticas de laboratorio | 14 | |
Actividades de evaluación | 4 | |
Trabajo Autónomo | ||
Asistencia a tutorías | 3 | |
Estudio individual | 37 | |
Preparación de trabajos individuales | 40 | |
Tareas de investigación y búsqueda de información | 4 | |
Lectura libre | 4 | |
Horas totales: | 150 |
SISTEMA DE EVALUACIÓN:
Obtención de la nota final:
Pruebas escritas: | 40 | % |
Trabajos individuales: | 40 | % |
Prueba final: | 10 | % |
Participación y evaluación continua: | 10 | % |
TOTAL | 100 | % |
*Las observaciones específicas sobre el sistema de evaluación serán comunicadas por escrito a los alumnos al inicio de la materia.
BIBLIOGRAFÍA Y DOCUMENTACIÓN:
Bibliografía básica:
Kerningham, N.B., Ritchie, M.D. El lenguaje de programación C. ISBN: 9688802050 |
Joyanes Aguilar, L., Zahonero Martínez Ignacio. Programación en C. ISBN: 8448198441 |
Bibliografía recomendada:
Byron Gottfrieg. Programación en C. ISBN: 8448198468 |
Kerningham, N.B., Pick, R. La práctica de la programación |
G. Brassard, P. Bratley. Fundamentos de Algoritmia ISBN: 848966000X |
Javier García de Jalón y otros, Aprenda lenguaje ANSI C como si estuviera en primero |
Andrés Marzal, Introducción al lenguaje C |
Carlos López, Programación en C |
Páginas web recomendadas:
Site con información sobre programación en C ý C | http://www.cprogramming.com/ |
Página con compiladores de C ý C | http://www.thefreecountry.com/compilers/cpp.shtml |
* Guía Docente sujeta a modificaciones