Ciencia de los Datos Aplicada

Grado y Doble Grado. Curso 2023/2024.

PROGRAMACIÓN II - 806299

Curso Académico 2023-24

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 el siguiente:

"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

Tema 1.- Tipos estructurados

Cadenas de caracteres, cadenas de formato.

Conjuntos y diccionarios.

Mutabilidad, compartición de memoria,

Operaciones en listas y cadenas de caracteres.

Ordenación de listas: ordenación por inserción y ordenación por selección del mínimo. 


Tema 2.- Recursión

Inducción Matemática

Ejemplos de programas recursivos. Búsqueda binaria, MergeSort, QuickSort, Cálculo de percentiles.


 

Tema 3.- Ficheros

Lectura de ficheros.

Análisis de ficheros de datos

Escritura de ficheros

Ficheros csv y json


 

Evaluación

A lo largo de la asignatura se realizarán varias hojas de ejercicios y
prácticas (evaluación continua). En todos los exámenes (parcial, final
y extraordinaria) habrá preguntas que se tomarán directamente de las
prácticas y ejercicios, cuyo valor será al menos el 35% de la nota de
cada examen.
Convocatoria ordinaria. Se realizará un examen parcial a mitad del
curso y al final del curso. El examen parcial será voluntario.
- Si el examen parcial se supera con éxito (nota igual o superior a
5), la nota final se calculará según la fórmula máx(final, final*0.6 +
parcial*0.4) donde 'final' es la nota del examen final y 'parcial' es
la nota del examen parcial.
- En caso contrario, el examen final supondrá el 100% de la nota del alumno.

Convocatoria extraordinaria: habrá un examen que supondrá el 100% de
la nota del alumno.

Bibliografía

1. J. Guttag. Introduction to Computation and Programming Using Python.MIT Press, 2016
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. R. González Duque. Python para todos (http://mundogeek.net/tutorial-python/)
5. M.Lutz, D.Ascher. Learning Python.5th Edition. O’Reilly, 2013.
7. Python : an introduction to programming / James R. Parker Publicación: Dulles (Virginia, EEUU) : Mercury Learning and
Information, cop. 2017

Otra información relevante

Bibliografía complementaria:

1. J.Campbell, P. Gries, J. Montojo, G. Wilson. Practical Programming: An Introduction to Computer Science Using Python. The
Pragmatic Bookshelf. 2009
2. R.Baig Viñas, F.Aulí Llinás. Sistema Operativo GNU/Linux Básico. http://antares.sip.ucm.es/~luis/sw05-06/libre_m2_baja.pdf
3. Jason R. Briggs. Python for Kids: A Playful Introduction to Programming. 2012.
4. A. Saha. Doing Math with Python. Use programming to explore Algebra, Statistics, Calculus, and More! No Starch Press, 2015.
5. H. P. Langtangen. A Primer on Scientific Programming with Python. Springer, 2009.
6. C.Gregorio, L.Llana, R.Martínez, P.Palao, C.Pareja. Ejercicios de Programación Creativos y Recreativos. Prentice Hall, 2002.

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/2024 - 10/05/2024MIÉRCOLES 11:00 - 13:00-LUIS FERNANDO LLANA DIAZ


Actividades prácticas
GrupoPeriodosHorariosAulaProfesor
Grupo único22/01/2024 - 10/05/2024VIERNES 09:00 - 11:00-LUIS FERNANDO LLANA DIAZ