Ciencia de los Datos Aplicada

Grado y Doble Grado. Curso 2022/2023.

PROGRAMACIÓN II - 806299

Curso Académico 2022-23

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.- Listas

Cadenas de caracteres, cadenas de formato

Mutabilidad, compartición de memoria

 

Tema 2.- Recursión

Aspectos conceptuales: recursión e inducción, terminación, árbol de llamadas

Comparación entre recursión e iteración

 

Tema 3.- Tipos estructurados

Conjuntos

Diccionarios

Ficheros y ficheros csv

 

Tema 4.- Módulos

Creación y utilización de módulos numpy, matplotlib, pandas

Evaluación

La evaluación de la asignatura se realizará de dos formas posibles, la evaluación continua y la prueba final.

La evaluación continua consistirá en:
- Ejercicios de clase evaluados (60%). La nota de los ejercicios se pondera con un 40% el primer examen y un 60% el segundo examen. Importante: Es necesario obtener una calificación igual o superior a 4.0 en el segundo examen para optar a la evaluación continua.
- Realización y defensa de prácticas (30%). La nota de las prácticas se pondera con un 40% la primera práctica y un 60% la segunda práctica.
- Participación del estudiante (10%). Se valora de manera flexible la participación del estudiante en las actividades propuestas por el profesor.

La prueba final consistirá en un examen con dos convocatorias (ordinaria y extraordinaria).

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.
6. J. Guttag. Introduction to Computation and Programming Using Python.MIT Press, 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 único23/01/2023 - 12/05/2023MIÉRCOLES 11:00 - 13:00-LUIS FERNANDO LLANA DIAZ


Actividades prácticas
GrupoPeriodosHorariosAulaProfesor
Grupo único23/01/2023 - 12/05/2023VIERNES 09:00 - 11:00-LUIS FERNANDO LLANA DIAZ