• Español

Ciencia de los Datos Aplicada

Undergraduate Programme. Academic Year 2026/2027.

PROGRAMACIÓN II - 806299

Curso Académico 2026-27

Datos Generales

SINOPSIS

COMPETENCIAS

Generales
CB4 - Que los estudiantes puedan transmitir información, ideas, problemas y soluciones a un público tanto especializado como no especializado.
CG10 - Desarrollar la capacidad de expresar y aplicar rigurosamente los conocimientos adquiridos en la resolución de problemas.
Específicas
CE8 - Almacenar y procesar eficientemente datos estructurados y no estructurados de diverso tipo, como imágenes, texto o sonido, y de cualquier volumen.
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
50%
Clases prácticas
50%
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. Efectos laterales en funciones
     d. Ordenación de listas: algoritmos iterativos básicos
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)
     a. Conjuntos y diccionarios
     b. Archivos y los módulos csv y json
4. Uso de módulos predefinidos: NumpyMatplotib y Pandas.

Evaluación

La evaluación se realizará mediante dos vías posibles: la evaluación continua y la prueba final.

La evaluación continua se llevará a cabo a través de las siguientes actividades:
- Pruebas objetivas, centradas en distintas partes de la asignatura, consistentes en resolución de ejercicios y problemas (75%). Será necesario obtener un mínimo de un 3.0 en cada una de estas pruebas para poder superar la asignatura mediante la evaluación continua. De lo contrario, la calificación obtenida mediante la evaluación continua se truncará a un 4.0 (suspenso), en caso de ser superior.
- Participación del estudiante en el aula, en las actividades formativas propuestas por el profesor y en las tutorías. Realización y defensa de prácticas de laboratorio, consistentes en programas informáticos propuestos por el profesor (25%)

Adicionalmente, se ofrecerá un examen final. Para el alumno que se presente a esta prueba, la nota final se calculará como el máximo entre:
a) La calificación de la prueba final.
b) La media ponderada de la evaluación continua y la prueba final, siendo el peso de la evaluación continua de un 50%.
De este modo, cualquier alumno tiene la opción de superar la asignatura mediante la evaluación continua, y también, cualquier alumno tendrá derecho a una prueba final pudiendo resultar su calificación la nota final del curso.

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 único25/01/2027 - 13/05/2027MIÉRCOLES 11:00 - 13:00-CRISTOBAL PAREJA FLORES


Actividades prácticas
GrupoPeriodosHorariosAulaProfesor
Grupo único25/01/2027 - 13/05/2027VIERNES 09:00 - 11:00-CRISTOBAL PAREJA FLORES