Ciencia de los Datos Aplicada
Grado y Doble Grado. Curso 2024/2025.
PROGRAMACIÓN II - 806299
Curso Académico 2024-25
Datos Generales
- Plan de estudios: 081C - GRADO EN CIENCIA DE LOS DATOS APLICADA (2022-23)
- Carácter: Básica
- ECTS: 6.0
SINOPSIS
COMPETENCIAS
Generales
CG10 - Desarrollar la capacidad de expresar y aplicar rigurosamente los conocimientos adquiridos en la resolución de problemas.
Específicas
CE11 - Identificar y aplicar las técnicas adecuadas de programación y utilizarlas en el diseño de soluciones eficientes para problemas en distintos ámbitos, como el biosanitario, la geolocalización, la minería de texto, el procesamiento de imágenes, etc.
CE16 - Identificar y aplicar las técnicas algorítmicas básicas y avanzadas para encontrar soluciones secuenciales y paralelas a problemas, analizando la complejidad y la adecuación de los algoritmos propuestos según el tipo, la organización y el volumen de los datos.
CE17 - Identificar y comprender los conceptos básicos de cálculo, álgebra, matemática discreta, lógica y algoritmia, así como teoría de juegos y aplicar dichos conceptos en problemas reales.
ACTIVIDADES DOCENTES
Clases teóricas
Clases prácticas
Laboratorios
Presenciales
No presenciales
Semestre
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
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: Numpy, Matplotib y Pandas.
Evaluación
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 el primer caso, la prueba final supondrá el 100% de la nota del estudiante. En el segundo caso, la calificación será la mayor entre la nota de la evaluación continua y la nota de la prueba final.
Importante: El alumno puede aprobar la asignatura únicamente por evaluación continua.
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
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, OReilly, 2022.
Otra información relevante
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ódulos | Materias |
---|---|
No existen datos de módulos o materias para esta asignatura. |
Grupos
Clases teóricas y/o prácticas | ||||
---|---|---|---|---|
Grupo | Periodos | Horarios | Aula | Profesor |
Grupo único | 22/01/2025 - 13/05/2025 | JUEVES 11:00 - 13:00 | - | OLGA MARROQUIN ALONSO |
Actividades prácticas | ||||
---|---|---|---|---|
Grupo | Periodos | Horarios | Aula | Profesor |
Grupo único | 22/01/2025 - 13/05/2025 | LUNES 13:00 - 15:00 | - | OLGA MARROQUIN ALONSO |