
Fundamentos de Programación II
Código: 108225Créditos: 6
| Titulación | Tipo | Curso |
|---|---|---|
| Gestión Aeronáutica | OB | 2 |
Profesor/a de contacto
- Nombre :
- Aura Hernandez Sabate
- Correo electrónico :
- aura.hernandez@uab.cat
Equipo docente
- Carles Ros Visus
Idiomas de los grupos
Puede consultar esta información al final del documento.
Prerrequisitos
Del 1er curso del grado:
- Cálculo
- Fundamentos de Programación I
Las estadísticas de años anteriores muestran que, para poder seguir correctamente la asignatura, es extremadamente importante haber superado Fundamentos de Programación I. Por tanto, en caso de suspender Fundamentos de Programación I, recomendamos firmemente no matricularse en esta asignatura.
Objetivos
El objetivo principal de esta asignatura es ayudar al alumnado en el proceso de abstracción necesario para abordar problemas de grandes dimensiones relacionados con la gestión aeronáutica y dotarlo de los conceptos básicos para este efecto. Por este motivo, la asignatura aborda el tratamiento de los datos desde dos puntos de vista diferenciados que convergen en el mismo punto: cómo se almacena y cómo se manipula la información. Así pues, la asignatura se separa en dos módulos. Por una parte, la introducción a las bases de datos para almacenar la información de forma eficiente, y por otra la parte de programación como continuación natural de la asignatura Fundamentos de Informática, realizada en el 1er curso.
De esta forma, los objetivos generales que se proponen son los siguientes:
- Proporcionar conocimientos avanzados de programación mediante estructuras de datos dinámicas
- Introducir los principios de la programación orientada a objetos
- Ayudar al alumnado a obtener la abstracción necesaria para separar la representación de los datos y su uso
Con esta asignatura se pretende que el alumnado adquiera habilidades para:
- Alcanzar un buen nivel de programación avanzada
- Diseñar e implementar un algoritmo basado en estructuras de datos dinámicas y el concepto de abstracción de datos
- Conocer los principios de la programación orientada a objetos
Resultados de aprendizaje
- CM01 (Trabajar colaborativamente en equipos multidisciplinares en el desarrollo de aplicaciones informáticas aplicadas a la gestión aeronáutica.) Trabajar colaborativamente en equipos multidisciplinares en el desarrollo de aplicaciones informáticas aplicadas a la gestión aeronáutica.
- CM02 (Examinar críticamente el trabajo realizado, identificando problemas y proponiendo soluciones innovadoras y eficientes, teniendo en cuenta el contexto del sector aeronáutico.) Examinar críticamente el trabajo realizado, identificando problemas y proponiendo soluciones innovadoras y eficientes, teniendo en cuenta el contexto del sector aeronáutico.
- KM02 (Identificar los principios básicos de la algorítmica, la programación imperativa y la programación orientada a objetos.) Identificar los principios básicos de la algorítmica, la programación imperativa y la programación orientada a objetos.
- KM03 (Distinguir los tipos de datos simples y las estructuras de datos complejas de los lenguajes de programación de alto nivel.) Distinguir los tipos de datos simples y las estructuras de datos complejas de los lenguajes de programación de alto nivel.
- SM07 (Realizar desarrollos de software de pequeña o mediana complejidad, utilizando programación imperativa y orientada a objetos.) Realizar desarrollos de software de pequeña o mediana complejidad, utilizando programación imperativa y orientada a objetos.
- SM09 (Utilizar herramientas para el análisis, diseño, codificación y depuración de programas.) Utilizar herramientas para el análisis, diseño, codificación y depuración de programas.
Contenidos
Tema 1. Repaso de Fundamentos de Programación I.
- Estructuras de programación condicionales y repetitivas. Funciones.
Tema 2. Introducción a la Programación Orientada a Objetos.
- Concepto de clase y objeto. Atributos y constructor. Métodos. Encapsulación de datos.
Tema 3. Estructuras de datos complejas. Listas.
- Conceptos básicos, manipulación y programación avanzada
Tema 4. Estructuras de datos complejas. Diccionarios.
- Conceptos básicos, manipulación y programación avanzada
Actividades formativas y Metodología
| Título | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|
| Preparación de los parciales | 6 | 0,24 | CM02, KM02, KM03 |
| Resolución de problemas | 26 | 1,04 | CM01, CM02, SM07, SM09 |
| Seguimiento en la asimilación de los conceptos teóricos | 4 | 0,16 | CM02, KM02, KM03 |
| Sesiones presenciales | 50 | 2 | CM01, CM02, KM02, KM03, SM07, SM09 |
| Desarrollo de un proyecto de programación | 28 | 1,12 | CM01, CM02, SM07, SM09 |
| Preparación previa a las sesiones presenciales | 14 | 0,56 | KM02, KM03 |
| Refuerzo y seguimiento en la resolución de problemas | 10 | 0,4 | CM01, CM02, KM02, KM03, SM07, SM09 |
Dado que el trasfondo de la asignatura es el acompañamiento en el proceso de abstracción, el trabajo del alumnado es el eje central de su aprendizaje, acompañado y guiado por el profesorado. Por este motivo, las clases presenciales serán altamente prácticas y se centrarán en que el alumnado consolide los conocimientos que son objetivo de aprendizaje de esta asignatura.
La metodología general de la asignatura está dividida en tres fases:
Preparación de la clase: el objetivo de esta fase es que el alumnado pueda preparar los contenidos que se trabajarán en la sesión siguiente mediante diversas actividades ofrecidas por el profesorado, como puede ser el visionado de vídeos, la lectura de textos, etc.
Sesión presencial: el objetivo de esta fase es el de consolidar los conceptos vistos y ponerlos en valor dentro del contexto de la asignatura. El profesorado velará porque el alumnado profundice en estos conceptos mediante ejercicios (más o menos) guiados durante la sesión, que cada estudiante realizará y entregará al final de la sesión.
Trabajo autónomo: para que el alumnado gane desenvoltura en programación avanzada, deberá hacer una parte del trabajo por su cuenta con ejercicios individuales que se entregarán para ser evaluados y un proyecto de programación que se irá realizando a lo largo de todo el curso.
Proyecto de programación: Dentro del trabajo autónomo pedido al alumnado, será necesario realizar un proyecto de programación. Este estará relacionado con el temario y el alumnado lo irá desarrollando a lo largo del curso. Se dedicarán algunas horas de las sesiones presenciales a plantear el trabajo a hacer y también a hacer el seguimiento del correcto desarrollo, así como el planteamiento de dudas.
Nota: se reservarán 15 minutos de una clase, dentro del calendario establecido por el centro/titulación, para que los alumnos completen las encuestas de evaluación de la actuación del profesorado y de evaluación de la asignatura.
COMUNICACIÓN
Las fechas de evaluaciones y entrega de actividades se publicarán en el campus virtual y pueden estar sujetas a posibles cambios de programación por motivos de adaptación a posibles incidencias. Siempre se informará a través del campus virtual sobre estos cambios, ya que se entiende que esta es la plataforma habitual de intercambio de información entre profesorado y alumnado (materiales, gestión de grupos, entregas, notas, comunicación con el profesorado). También se informará por esta vía sobre las fechas de revisiones de los exámenes una vez publicadas las notas.
Las revisiones de los exámenes se harán presencialmente o mediante la plataforma de evaluación en las fechas propuestas por el equipo docente.
Evaluación
Actividades de evaluación continuada
| Título | Peso | Horas | ECTS | Resultados de aprendizaje |
|---|---|---|---|---|
| Examen final (recuperación) | 40% | 3 | 0,12 | CM02, KM02, KM03, SM07 |
| Primer parcial | 20% | 2 | 0,08 | CM02, KM02, KM03, SM07 |
| Segundo parcial | 20% | 2 | 0,08 | CM02, KM02, KM03, SM07 |
| Evaluación de actividades desarrolladas en el aula | 20% | 2 | 0,08 | CM02, SM09 |
| Evaluación de actividades desarrolladas fuera del aula | 10% | 1 | 0,04 | CM02, SM09 |
| Evaluación de las prácticas (proyecto + validación individual) | 30% | 2 | 0,08 | CM01, CM02, KM02, KM03, SM07, SM09 |
Esta asignatura no contempla el sistema de evaluación única.
Se evaluarán tres tipos de actividades de manera independiente y la suma ponderada de ellas dará la nota final. Estas tres actividades son:
- Exámenes parciales individuales (EI)
- Actividades Evaluables (AA)
- Prácticas (P)
1. La primera parte (EI) consiste en la realización de dos exámenes parciales en los que se evaluará al alumnado de forma individual. El primer parcial contará un 30% y el segundo, un 70%. La nota mínima para aprobar el segundo examen parcial es de 5 y la media ponderada de los dos ha de ser al menos un 5.
2. La segunda parte (AA) se realizará de forma continua a lo largo del curso y se divide en actividades autónomas propuestas dentro de las sesiones presenciales y actividades autónomas propuestas para hacer fuera del aula. La nota final saldrá de la suma ponderada de las evidencias que se soliciten.
3. La tercera parte (P) se evaluará con la entrega de un proyecto (en parejas) y la evaluación de una prueba (individual) de validación. La nota final se obtendrá de la suma ponderada de las dos notas anteriores. La nota mínima para aprobar el proyecto es de 5, mientras que la prueba de validación hay que aprobarla con una nota mínima de 3.5. La nota final de esta 3ª parte deberá ser como mínimo un 5.
Para aprobar la asignatura es necesario que la evaluación de cada una de las partes supere el mínimo exigido y que la evaluación total supere los 5 puntos.
PLAN ANTIGUO
El alumnado que se mantenga en el plan antiguo y esté repitiendo informática avanzada, deberá superar los dos módulos (programación y BBDD) por separado. Cada módulo contará un 50% y para obtener la nota final deberá aprobar cada una de las dos partes por separado (Nota módulo >= 5). La calendarización de la parte de programación (y por tanto también la evaluación) será la de la nueva asignatura. De BBDD, se propondrá un proyecto al inicio del curso y se hará un parcial en enero (el mismo día que el parcial de programación), junto con la prueba de validación del proyecto. La nota de este módulo se obtendrá del 50% del parcial y el 50% de las prácticas.
NOTA DEL EXPEDIENTE, MATRÍCULA DE HONOR Y NO EVALUABLE
En caso de superar la asignatura, la nota del expediente será la nota obtenida según el apartado anterior. En caso de no superar la asignatura debido a que alguna de las actividades de evaluación no llega a la nota mínima requerida, la nota numérica del expediente será el mínimo entre un 4 y la nota del segundo parcial de teoría. Con las excepciones de los estudiantes que:
- no participen en ninguna de las actividades de evaluación, a quienes se les otorgará la calificación de "no evaluable" (cualquier alumno que entregue una práctica o una evaluación programada tendrá nota),
- hayan cometido irregularidades en un acto de evaluación, a quienes se les otorgará el valor menor entre 3.0 y la nota numérica antes citada (y por tanto no será posible el aprobado por compensación).
Se otorgarán tantas matrículas de honor como sea posible dentro de la normativa de la universidad, siempre y cuando la nota final obtenida sea como mínimo un 9.
RECUPERACIÓN
De acuerdo con la Normativa Académica de la UAB, para poder participar en la recuperación el estudiante debe haber sido previamente evaluado en un conjunto de actividades cuyo peso equivalga a un mínimo de dos terceras partes de la calificación total de la asignatura. Además, es necesario haber obtenido una calificación mínima de 3 en la media de la asignatura para poder presentarse a la recuperación.
EI: En el caso de suspender o no presentarse a alguno de los exámenes individuales, habrá que hacer el examen de recuperación el día asignado a la semana oficial de exámenes.
AA: Los ejercicios evaluables para entregar, distintos de los que se propongan para hacer durante las sesiones, se podrán recuperar antes de hacer el examen de teoría, contando un 80% de la nota (y por tanto nunca una nota superior a 8). Los que se propongan en el aula no serán recuperables.
P: En el caso de obtener una nota inferior a 5 en la parte de prácticas, habrá que recuperar tanto el proyecto como la prueba de validación correspondiente (esta, el día asignado a la semana oficial de exámenes). La nota del proyecto recuperado no podrá ser superior a 8.
En el caso de alumnos de plan antiguo, la recuperación funcionará igual, pero aplica a cada módulo por separado.
CONVALIDACIÓN
No hay convalidaciones.
En el caso de alumnos de plan antiguo solo se guardan las notas finales de módulo, siempre que estas sean superiores a 5.
PLAGIOS E IRREGULARIDADES
Sin perjuicio de otras medidas disciplinarias que se estimen oportunas, y de acuerdo con la normativa académica vigente, las irregularidades cometidas por un estudiante que puedan conducir a una variación de la calificación se calificarán con un cero (0). Las actividades de evaluación calificadas de esta forma y por este procedimiento no serán recuperables. Si es necesario superar cualquiera de estas actividades de evaluación para aprobar la asignatura, esta asignatura quedará suspendida directamente, sin oportunidad de recuperarla en el mismo curso.
Estas irregularidades incluyen, entre otras:
- la copia total o parcial de una práctica, informe, o cualquier otra actividad de evaluación;
- dejar copiar;
- presentar un trabajo de grupo no hecho íntegramente por los miembros del grupo;
- presentar como propios materiales elaborados por un tercero, aunque sean traducciones o adaptaciones, y en general trabajos con elementos no originales y exclusivos del estudiante;
- tener dispositivos de comunicación (como teléfonos móviles, relojes inteligentes, etc.) accesibles durante las pruebas de evaluación teórico-prácticas individuales (exámenes);
- utilizar inteligencia artificial generativa para suplantar la actividad de aprendizaje.
En resumen: copiar, dejar copiar o plagiar en cualquiera de las actividades de evaluación equivale a un SUSPENSO con nota inferior a 3.5.
USO DE LA IA
Para esta asignatura, se permite el uso de tecnologías de Inteligencia Artificial (IA) exclusivamente en tareas de apoyo al estudiante; en ningún caso se podrá utilizar para suplantar la actividad de aprendizaje del estudiante. Las tareas evaluativas sospechosas de haber sido generadas por estas técnicas serán calificadas con un 0.
Bibliografía
L. Joyanes Aguilar, Fundamentos De Programación, 4ª Ed. , McGraw-Hill, 2008.
Mark Lutz and David Ascher, Learning PYTHON, 2nd Edition. Safari Tech Books Online.
Milliken, C. P. (2020). Python Projects for Beginners. Apress.
Stueben, M. (2018). Good Habits for Great Coding: Improving Programming Skills with Examples in Python. Apress.
Libros electrónicos interactivos de Python:
- http://python101.pythonlibrary.org/#
- http://www.pythontutor.com/
Software
Se codificará en Python y se utilizará Spyder como entorno de programación de código abierto. Se recomienda instalarlo desde la plataforma Anaconda (https://www.anaconda.com/).
Grupos e idiomas de la asignatura
La información proporcionada es provisional hasta el 30 de noviembre. A partir de esta fecha, podrá consultar el idioma de cada grupo a través de este enlace. Para acceder a la información, será necesario introducir el CÓDIGO de la asignatura
| Tipo de docencia | Grupo | Idioma | Semestre | Turno |
|---|---|---|---|---|
| (PAUL) Prácticas de aula | 11 | Catalán | primer cuatrimestre | tarde |
| (PLAB) Prácticas de laboratorio | 11 | Catalán | primer cuatrimestre | tarde |
| (PAUL) Prácticas de aula | 12 | Catalán | primer cuatrimestre | tarde |
| (PLAB) Prácticas de laboratorio | 12 | Catalán | primer cuatrimestre | tarde |