Última actualización: 21/02/2025


Curso Académico: 2024/2025

Programación
(13868)
Grado en Ingeniería Informática (Plan: 489 - Estudio: 218)


Coordinador/a: GARCIA OLAYA, ANGEL

Departamento asignado a la asignatura: Departamento de Informática

Tipo: Formación Básica
Créditos: 6.0 ECTS

Curso:
Cuatrimestre:

Rama de Conocimiento: Ingeniería y Arquitectura



Requisitos (Asignaturas o materias cuyo conocimiento se presupone)
Ninguna
Objetivos
Realizar una introducción a la programación estructurada y a la orientada a objetos utilizando Python como lenguaje de programación. El curso incluye también una introducción a la recursividad y a la complejidad computacional, presentando algunos algoritmos de búsqueda y ordenación.
Resultados del proceso de formación y aprendizaje
RA1.2: Conocimiento y comprensión de las disciplinas de ingeniería propias de su especialidad, en el nivel necesario para adquirir el resto de competencias del título, incluyendo nociones de los últimos adelantos. RA2.2: La capacidad de identificar, formular y resolver problemas de ingeniería en su especialidad; elegir y aplicar de forma adecuada métodos analíticos, de cálculo y experimentales ya establecidos; reconocer la importancia de las restricciones sociales, de salud y seguridad, ambientales, económicas e industriales. RA3.1: Capacidad para proyectar, diseñar y desarrollar productos complejos (piezas, componentes, productos acabados, etc.), procesos y sistemas de su especialidad, que cumplan con los requisitos establecidos, incluyendo tener conciencia de los aspectos sociales, de salud y seguridad, ambientales, económicos e industriales; así como seleccionar y aplicar métodos de proyecto apropiados. RA5.4: Capacidad para aplicar normas de la práctica de la ingeniería de su especialidad. CGB4: Conocimientos básicos sobre el uso y programación de los ordenadores, sistemas operativos, bases de datos y programas informáticos con aplicación en ingeniería. CGB5: Conocimiento de la estructura, organización, funcionamiento e interconexión de los sistemas informáticos, los fundamentos de su programación, y su aplicación para la resolución de problemas propios de la ingeniería. CGO1: Capacidad para concebir, redactar, organizar, planificar, desarrollar y firmar proyectos en el ámbito de la ingeniería en informática que tengan por objeto, de acuerdo con los conocimientos adquiridos, la concepción, el desarrollo o la explotación de sistemas, servicios y aplicaciones informáticas. CGO4: §   CGO4: Capacidad para definir, evaluar y seleccionar plataformas hardware y software para el desarrollo y la ejecución de sistemas, servicios y aplicaciones informáticas, de acuerdo con los conocimientos adquiridos. CGO8: Conocimiento de las materias básicas y tecnologías, que capaciten para el aprendizaje y desarrollo de nuevos métodos y tecnologías, así como las que les doten de una gran versatilidad para adaptarse a nuevas situaciones. CECRI1: Capacidad para diseñar, desarrollar, seleccionar y evaluar aplicaciones y sistemas informáticos, asegurando su fiabilidad, seguridad y calidad, conforme a principios éticos y a la legislación y normativa vigente. CECRI6: Conocimiento y aplicación de los procedimientos algorítmicos básicos de las tecnologías informáticas para diseñar soluciones a problemas, analizando la idoneidad y complejidad de los algoritmos propuestos. CECRI7: Conocimiento, diseño y utilización de forma eficiente los tipos y estructuras de datos más adecuados a la resolución de un problema.
Descripción de contenidos: Programa
1. Introducción a la programación 2. Diagramas de flujo 3. Datos, operadores y entrada/salida 4. Control de flujo: condicionales y bucles 5. Estructuras de datos sencillas 6. Funciones 7. Programación orientada a objetos 8. Fundamentos de algoritmia, recursividad y complejidad computacional
Actividades formativas, metodología a utilizar y régimen de tutorías
Actividades formativas 1. Clases magistrales (1 ECTS) Orientadas a la enseñanza de las competencias específicas de la asignatura, especialmente las relacionadas con los conocimientos básicos y las técnicas de programación imperativa 2. Clases prácticas (1 ECTS) Orientadas a poner en práctica los conocimientos obtenidos en las clases magistrales 3. Trabajo autónomo (2,5 ECTS) Orientado al aprendizaje individual o en grupo de las competencias específicas de la asignatura. También servirá como base para la adquisición de las competencias genéricas siguientes: Comunicación oral y escrita, Capacidad de análisis y síntesis, Capacidad para la toma de decisiones, Motivación por la calidad y Capacidad para la autoorganización y planificación del trabajo y del proceso de aprendizaje. 4. Tutorías (1 ECTS) Asistencia individualizada (tutorías individuales) o en grupo (tutorías colectivas) a los estudiantes por parte del profesor. 5. Examen final (0,5 ECTS). Desarrollo en un tiempo limitado de un programa orientado a objetos. Permite al estudiante mostrar sus conocimientos de una forma integrada. METODOLOGÍA Las clases se dividirán en sesiones magistrales y sesiones de prácticas en laboratorios informáticos. Las clases presenciales se complementarán con el trabajo autónomo en casa. - Clases teóricas (grupo magistral): se presentarán los conceptos básicos de programación, utilizando Python como lenguaje para facilitar su explicación. Al final de la clase se podrán plantear preguntas cortas o tipo test sobre la materia explicada en esa sesión. - Clases prácticas (grupo pequeño): constarán de tres partes. En la primera algunos alumnos, elegidos al azar, explicarán las soluciones a los problemas propuestos la semana anterior. A continuación, el profesor planteará un problema y lo resolverá con la ayuda de los alumnos. Por último, en cada sesión se propondrán una serie de problemas que los alumnos empezarán a resolver durante el resto de la clase de prácticas y que se deben entregar al final de esa semana. Se propondrá una práctica final de la asignatura que se deberá realizar en grupos de dos estudiantes y que podrá tener entregas parciales. La práctica final y los ejercicios semanales se desarrollarán en Python. - Trabajo autónomo del estudiante: durante la semana se deberán terminar los ejercicios propuestos en las clases de prácticas, que se entregarán a través de Aula Global. Régimen de tutorías De acuerdo a la normativa de la universidad se establecerá un horario preferente de tutorías presenciales para cada profesor de teoría o práctica. Este horario estará disponible en Aula Global. No obstante se permite a los alumnos a contactar con el profesor mediante correo electrónico para establecer tutorías fuera de esos horarios. Se utilizará el correo electrónico para resolver dudas puntuales que no requieren de tutoría presencial. Existe también un foro de la asignatura en Aula Global para que los alumnos puedan exponer dudas genéricas sobre la asignatura, que pueden ser contestadas por el profesor o por sus propios compañeros. Durante la práctica final se establecerán tutorías individuales con cada uno de los grupos.
Sistema de evaluación
  • Peso porcentual del Examen Final 50
  • Peso porcentual del resto de la evaluación 50

Calendario de Evaluación Continua


Convocatoria extraordinaria: normativa
Bibliografía básica
  • Ana Bell. Get Programming Learn to code with Python. Manning publications. 2018
  • John S. Conery. Explorations in Computing: An Introduction to Computer Science and Python Programming. CRC Press. 2014
Recursos electrónicosRecursos Electrónicos *
(*) El acceso a algunos recursos electrónicos puede estar restringido a los miembros de la comunidad universitaria mediante su validación en campus global. Si esta fuera de la Universidad, establezca una VPN


El programa de la asignatura podría sufrir alguna variación por causa de fuerza mayor debidamente justificada o por eventos académicos comunicados con antelación.


Dirección web para más información: http://