Última actualización: 22/07/2019


Curso Académico: 2019/2020

Programación
(13868)
Titulación: Doble Grado en Ingeniería Informática y Administración de Empresas (233)


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



Materias que se recomienda haber superado
Ninguna
Competencias que adquiere el estudiante y resultados del aprendizaje.Más información en este enlace
Competencias generales del título cubiertas: - 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. Competencias comunes a la rama de informática del título cubiertas: - 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 de los tipos y estructuras de datos más adecuados a la resolución de un problema. Competencias específicas de la asignatura: - Conocimiento de los conceptos básicos de la programación imperativa desde un enfoque orientado a objetos (PO a,k). - Conocimientos básicos de la sintaxis de un lenguaje de programación orientado a objetos (PO k). - Capacidad para descomponer un problema real según una metodología orientada a objetos para su posterior codificación en un programa (PO a,c,e,k). - Conocimiento de estructuras sencillas para el manejo de información (PO a). - Capacidad para comprender documentación técnica y reutilizar código desarrollado por terceras partes (PO a,k). - Conocimientos básicos del concepto de complejidad computacional (PO a,k) Competencias generales: - Capacidad para la autoorganización y planificación del trabajo individual y del proceso de aprendizaje (PO k). - Capacidad para el trabajo en grupo (PO d). - Comunicación oral y escrita (PO g). - Capacidad de análisis y síntesis (PO a). - Capacidad para la toma de decisiones (PO e). - Motivación por la calidad (PO k).
Descripción de contenidos: Programa
1. Introducción a la asignatura y a la programación a. Elementos de un programa: datos y algoritmos b. Arquitectura básica de un ordenador c. Codificación de la información en memoria d. Breve introducción histórica a la programación: desde el código binario hasta la programación orientada a componentes e. Compilación vs. interpretación de programas f. Paradigmas de programación: imperativa, lógica y funcional 2. Diagramas de flujo 3. Introducción al lenguaje Python a. El intérprete Python b. Tipos de datos básicos c. Creación de programas en Python d. Variables y constantes e. Entrada, salida y números aleatorios f. Operadores g. Conversiones entre tipos h. Comentarios i. Depuración de programas: tipos de errores 4. Control de flujo: condicionales y bucles a. Condicionales b. Ámbito de variables y bloques de código c. Bucles 5. Estructuras de datos sencillas a. Listas y tuplas b. Diccionarios 6. Funciones a. Descomposición b. Reutilización de código c. Ocultación de la implementación d. Paso por valor y referencia e. Introducción a la recursividad 7. Introducción a la Programación Orientada a Objetos 8. Algoritmos sobre listas a. Introducción a la complejidad computacional b. Búsqueda (lineal y binaria) c. Ordenación (métodos directos: burbuja, inserción directa y selección directa)
Actividades formativas, metodología a utilizar y régimen de tutorías
Actividades formativas 1. Clases magistrales (1 crédito ECTS) (PO a,k) - 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. Trabajo individual en clase y en casa (3 créditos ECTS) (PO a,c,e,g,k) - Orientado al aprendizaje autónomo de las competencias específicas de la asignatura, asegurando una base de conocimientos mínima que poder utilizar en el trabajo en grupo. Se seguirá un enfoque de aprendizaje basado en problemas (PBL). - 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 individual y del proceso de aprendizaje. 3. Prácticas en grupo (2 créditos ECTS) (PO a,c,d,e,g,k) - Completa las actividades anteriores fijando las competencias específicas y generales y haciendo hincapié en las competencias generales siguientes: Capacidad para el trabajo en grupo y Comunicación oral y escrita. Se seguirá también un enfoque basado en PBL. 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 del alumno 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 y programas de ejemplo. Al final de la clase se podrán plantear preguntas cortas o tipo test sobre la materia explicada en esa sesión. Estas preguntas se pondrán posteriormente a disposición de los alumnos en forma de test de Aula Global para que las respondan las veces que consideren necesario. Al menos una de las clases magistrales se dedicará a hacer un examen parcial (ver cronograma). - 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, generalmente en parejas, al final de esa semana. Se propondrá una práctica final de la asignatura que los alumnos deberán realizar en grupos de dos y que podrá tener entregas parciales (ver cronograma). La práctica final y los ejercicios semanales se desarrollarán en Python. - Trabajo autónomo del alumno: durante la semana los alumnos deberán terminar los ejercicios propuestos en las clases de prácticas y entregarlos 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 anima 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
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 y la planificación semanal podrían 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://