Ciencia de los Datos Aplicada

Grado y Doble Grado. Curso 2024/2025.

PROGRAMACIÓN II - 806299

Curso Académico 2024-25

Datos Generales

SINOPSIS

COMPETENCIAS

Generales
CB4 - Ser capaz de transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado
CG5 - Capacidad para trabajar de forma autónoma.
CG8 - Demostrar un pensamiento lógico y un razonamiento estructurado.
CG10 - Desarrollar habilidades que favorezcan el trabajo en grupo.
CG12 - Capacidad de expresar y aplicar rigurosamente los conocimientos adquiridos en la resolución de problemas.
Específicas
CE7 - Almacenar y procesar los datos de forma eficiente y segura.
CE17 - Conocer las técnicas básicas de programación y utilizarlas en el diseño de soluciones eficientes para problemas en distintos ámbitos.
CE26 - Capacidad para comprender y dominar los conceptos básicos de matemática discreta, lógica, y algorítmica.
CE29 - Conocer y aplicar los procedimientos algorítmicos básicos para encontrar soluciones a problemas, analizando la complejidad y la adecuación de los algoritmos propuestos.

ACTIVIDADES DOCENTES

Clases teóricas
Clases teóricas en la que se imparten los contenidos por parte del profesor.
Clases prácticas
Clases dedicadas a la resolución de problemas y ejercicios.
Laboratorios
Clases con ordenador en la que los estudiantes deben programar y comprobar el funcionamiento de los programas.

Presenciales

6

No presenciales

3,6

Semestre

2

Breve descriptor:

En esta asignatura se avanza en los conceptos y técnicas básicos de la programación y, especialmente, en la resolución de problemas de contenido matemático y estadístico. Entre las técnicas empleadas, se enfatiza principalmente la programación con ficheros y datos estructurados.

Requisitos

Aunque la asignatura de Programación I no es un requisito formal, es necesario haber adquirido las técnicas estudiadas en dicha asignatura para poder cursar esta con éxito.

Objetivos

El objetivo general es adquirir las técnicas necesarias para construir programas correctos, fáciles de reutilizar y eficientes, con programas en pequeña escala, y usando las estructuras de datos fundamentales (listas, diccionarios y ficheros).
El enfoque será aplicado y los campos de aplicación de los programas diseñados serán, principalmente, las matemáticas, la estadística y la investigación operativa.


Contenido

1. Tipos estructurados (I)
     a. Listas. Cadenas de caracteres y cadenas con formato.
     b. Mutabilidad, inmutabilidad y uso compartido de memoria.
     c. Ordenación de listas: ordenación por inserción y ordenación por selección del mínimo.
     d. Conjuntos y diccionarios.
2. Recursión
     a. Aspectos conceptuales: recursión e inducción, árbol de llamadas y terminación.
     b. Comparación entre iteración y recursión.
     c. Ejemplos de programas recursivos: búsqueda binaria, MergeSort, QuickSort y cálculo de percentiles.
3. Tipos estructurados (II): Ficheros y los módulos csv y json.
4. Uso de módulos predefinidos: NumpyMatplotib y Pandas.

Evaluación

Convocatoria ordinaria: La evaluación de la asignatura se realizará de dos formas posibles, la evaluación continua y la prueba final.
La adquisición de conocimientos y competencias de la asignatura se realizará de forma continua mediante:
1. Ejercicios de clase evaluados (50%): La nota de los ejercicios se pondera con un 40% el primer examen y un 60% el segundo examen. Ambos ejercicios podrán tener una parte realizada en los laboratorios de informática.
2. Realización y defensa de prácticas de laboratorio (40%): La nota de las prácticas se pondera con un 40% la primera práctica y un 60% la segunda práctica.
3. Participación del estudiante (10%): Se evaluará de forma flexible la participación del estudiante en las actividades propuestas por el profesor y en las tutorías.
Importante: La calificación de todas las pruebas evaluables debe ser de al menos un 4 sobre 10 para poder hacer media y aprobar la asignatura por evaluación continua.
No obstante, se ofrecerá un examen final para los alumnos que no han desarrollado su trabajo a lo largo del curso o para aquellos que deseen mejorar la calificación obtenida mediante la evaluación continua. En estos casos, la prueba final supondrá el 100% de la nota del estudiante.
Convocatoria extraordinaria: La evaluación de la asignatura se realizará mediante una prueba final que supondrá el 100% de la nota del estudiante.

Bibliografía

1. Introduction to Computation and Programming Using Python (3ª edición). John V. Guttag, MIT Press, 2021.
2. Tutorial oficial de Python (https://docs.python.org/3/tutorial/index.html).
3. Documentación oficial de Python (https://docs.python.org/3).
4. Python para todos (http://mundogeek.net/tutorial-python/). Raúl González Duque.
5. Learning Python (5ª edición). Mark Lutz, O'Reilly, 2013.
6. Python. An Introduction to Programming (2ª edición). James R. Parker, Mercury Learning & Information, 2021.
7. Python for Data Analysis. Data Wrangling with pandas, NumPy & Jupyter (3ª edición). William McKinney, O’Reilly, 2022.

Otra información relevante

Bibliografía complementaria:
1. Practical Programming. An Introduction to Computer Science Using Python (3ª edición). Paul Gries, Jennifer Campbell y Jason Montojo, The Pragmatic Bookshelf, 2017.
2. Python for Kids. A Playful Introduction to Programming (2ª edición). Jason R. Briggs, No Starch Press, 2022.
3. Doing Math with Python. Use programming to explore Algebra, Statistics, Calculus, and More! Amit Saha, No Starch Press, 2015.
4. A Primer on Scientific Programming with Python (5ª edición). Hans P. Langtangen, Springer, 2016.

Estructura

MódulosMaterias
No existen datos de módulos o materias para esta asignatura.

Grupos

Clases teóricas y/o prácticas
GrupoPeriodosHorariosAulaProfesor
Grupo único22/01/2025 - 13/05/2025JUEVES 11:00 - 13:00-OLGA MARROQUIN ALONSO


Actividades prácticas
GrupoPeriodosHorariosAulaProfesor
Grupo único22/01/2025 - 13/05/2025LUNES 13:00 - 15:00-OLGA MARROQUIN ALONSO