|
||||||
Consulta de los datos generales Descripción La asignatura en el conjunto del plan de estudios Conocimientos previos Información previa a la matrícula Objetivos y competencias Contenidos Consulta de los recursos de aprendizaje de la UOC para la asignatura Información adicional sobre los recursos de aprendizaje y herramientas de apoyo Informaciones sobre la evaluación en la UOC Consulta del modelo de evaluación | ||||||
Este es el plan docente de la asignatura para el primer semestre del curso 2023-2024. Podéis consultar si la asignatura se ofrece este semestre en el espacio del campus Más UOC / La universidad / Planes de estudios). Una vez empiece la docencia, tenéis que consultarlo en el aula. El plan docente puede estar sujeto a cambios. | ||||||
En la asignatura de Fundamentos de Programación se ha realizado una introducción a la programación en lenguaje Python, centrada en la resolución de problemas del ámbito de la ciencia de datos. En esta asignatura, se pretende que el estudiante acabe de asimilar los conceptos de programación explicados en Fundamentos de Programación, profundizando en la comprensión de algunos de los conceptos clave, a la vez que se explican otros conceptos de programación más avanzados, que permitirán a los estudiantes afrontar problemas de programación más complejos, y de manera más eficiente, en Python. La ciencia de datos es un campo interdisciplinario en el que se estudian métodos para extraer conocimiento a partir de datos. Así, la ciencia de datos utiliza técnicas de disciplinas como matemáticas, estadística o ciencias de la computación, con el objetivo común de obtener conocimiento de los datos. El objetivo de este curso es pues el de proveer de herramientas a las personas que se dedican a la ciencia de datos para que pueda crear sus propios programas que adquieran, traten, analicen y/o visualicen datos. El curso está estructurado en tres grandes bloques. En primer lugar, el curso presenta una visión más profunda y formal a conceptos básicos de programación. Se revisan algunas estructuras de datos básicos (listas, tuplas, diccionarios), se presentan variantes (diccionarios ordenados, pilas, colas) y estructuras de datos más avanzadas (árboles). También se profundiza en el uso de funciones para mejorar la modularidad del código, así como en el uso de archivos. En segundo lugar, el curso se centra en la optimización de programas: explica cómo evaluamos la complejidad teórica de un determinado algoritmo, qué herramientas podemos utilizar para evaluar el uso de recursos de nuestros programas, y qué técnicas tenemos a nuestro alcance para mejorar el rendimiento de nuestros programas. Finalmente, el tercer bloque explica cómo podemos probar el correcto funcionamiento de nuestro código, como desplegamos aplicaciones para su uso y cómo se mantienen estas aplicaciones una vez han sido desplegadas. Las explicaciones se encuentran siempre contextualizadas en el ámbito de la ciencia de datos, proporcionando ejemplos donde aplicar cada una de las técnicas presentadas. De este modo, al finalizar el curso, se espera que el estudiantado haya adquirido unas bases sólidas de programación en Python que le permitan afrontar proyectos de análisis de datos y que sirvan como base para el aprendizaje autónomo de la programación. |
||||||
La asignatura forma parte de los programas del Grado de Ciencia de Datos Aplicada y del Máster en Ciencia de datos. En cuanto al Grado de Ciencia de Datos Aplicada, la asignatura es obligatoria y forma parte de la materia de Programación. En cuanto al Máster en Ciencia de Datos, la asignatura es un complemento de formación. Los complementos de formación tienen como objetivo nivelar los conocimientos del estudiantado que cursa el máster, y es obligatorio superarlos en función de la titulación de origen de cada persona. Todo el estudiantado del Máster de Ciencia de Datos debe superar Programación para la ciencia de datos como complemento de formación, a excepción de las personas que provengan de titulaciones oficiales del ámbito de la Ciencia de datos, la Informática, la Computación, o afines. En ambos casos, recomendamos haber cursado la asignatura Fundamentos de Programación para poder hacer un correcto seguimiento de esta asignatura. También para el estudiantado de las dos titulaciones, la asignatura tiene continuidad en la asignatura Diseño y Programación Orientada a Objetos, donde se trabaja el paradigma de programación orientada a objetos. |
||||||
La asignatura asume que el estudiantado tiene un conocimiento básico de Python, de las librerías más comunes relacionadas con la ciencia de datos en Python (principalmente, NumPy, pandas, matplotlib y scipy), y se encuentra familiarizado con el uso de jupyter notebooks. |
||||||
Recomendamos haber cursado la asignatura Fundamentos de Programación para poder hacer un correcto seguimiento de esta asignatura. | ||||||
El objetivo principal de la asignatura es proporcionar al estudiantado una base sólida de programación en Python, en el contexto de los problemas típicos que se afrontan en ciencia de datos. Esta asignatura se puede cursar dentro del programa del Grado de Ciencia de Datos Aplicada, o bien como complemento de formación del Máster en Ciencia de Datos. A continuación se detallan las competencias concretas a que se refiere la asignatura en cada caso. Para el estudiantado que cursa el Grado de Ciencia de Datos Aplicada, las competencias del grado que se trabajan en la asignatura son:
|
||||||
Bloque 1: Se presenta una visión más profunda y formal a conceptos básicos de programación. Se revisan algunas estructuras de datos básicos (listas, tuplas, diccionarios), se presentan variantes (diccionarios ordenados, pilas, colas) y estructuras de datos más avanzadas (árboles). También se profundiza en el uso de funciones para mejorar la modularidad del código, así como el uso de archivos. El bloque 1 está formado por las siguientes unidades:
Bloque 2: Se centra en la optimización de programas: explica cómo evaluamos la complejidad teórica de un determinado algoritmo, qué herramientas podemos utilizar para evaluar el uso de recursos de nuestros programas, y qué técnicas tenemos a nuestro alcance para mejorar el rendimientos de nuestros programas. El bloque 2 está formado por las siguientes unidades:
Bloque 3: Se expone cómo podemos probar el correcto funcionamiento de nuestro código, como desplegamos aplicaciones para su uso y cómo se mantienen estas aplicaciones una vez han sido desplegadas. Las explicaciones se encuentran siempre contextualizadas en el ámbito de la ciencia de datos, proporcionando ejemplos donde aplicar cada una de las técnicas presentadas. De este modo, al finalizar el curso, se espera que el estudiante haya adquirido unas bases sólidas de programación en Python que le permitan afrontar proyectos de análisis de datos y que sirvan como base para el aprendizaje autónomo de la programación. El bloque 3 está formado por la siguiente unidad:
|
||||||
|
||||||
En cada unidad encontraréis el material necesario para realizar un trabajo práctico. Esto incluye teoría, referencias bibliográficas, enlaces, ejemplos prácticos, enunciados de problemas a resolver y software necesario. Con ello se pretende que el estudiante se familiarice con el contenido a través de la práctica (learn by doing). El entorno de programación utilizará una máquina virtual con la distribución Xubuntu instalada y que correrá sobre la arquitectura Oracle VM VirtualBox. La máquina virtual ya dispone de todas las librerías Python instaladas que se necesitan. La versión de Python elegida es la última estable de la serie 3. Los módulos con los contenidos son notebooks de jupyter que permiten ejecutar los ejemplos y ejercicios propuestos desde el navegador web y con la posibilidad de modificarlos para una mejor comprensión. |
||||||
El proceso de evaluación se fundamenta en el trabajo personal de cada estudiante y presupone la autenticidad de la autoría y la originalidad de los ejercicios realizados. La falta de autenticidad en la autoría o de originalidad de las pruebas de evaluación; la copia o el plagio; el intento fraudulento de obtener un resultado académico mejor; la colaboración, el encubrimiento o el favorecimiento de la copia, o la utilización de material o dispositivos no autorizados durante la evaluación, entre otras, son conductas irregulares que pueden tener consecuencias académicas y disciplinarias graves. Por un lado, si se detecta alguna de estas conductas irregulares, puede comportar el suspenso (D/0) en las actividades evaluables que se definan en el plan docente - incluidas las pruebas finales - o en la calificación final de la asignatura, ya sea porque se han utilizado materiales o dispositivos no autorizados durante las pruebas, como redes sociales o buscadores de información en internet, porque se han copiado fragmentos de texto de una fuente externa (internet, apuntes, libros, artículos, trabajos o pruebas del resto de estudiantes, etc.) sin la correspondiente citación, o porque se ha practicado cualquier otra conducta irregular. Por el otro, y de acuerdo con las normativas académicas, las conductas irregulares en la evaluación, además de comportar el suspenso de la asignatura, pueden dar lugar a la incoación de un procedimiento disciplinario y a la aplicación, si procede, de la sanción que corresponda. La UOC se reserva la potestad de solicitar al estudiante que se identifique o que acredite la autoría de su trabajo a lo largo de todo el proceso de evaluación por los medios que establezca la universidad (síncronos o asíncronos). A estos efectos, la UOC puede exigir al estudiante el uso de un micrófono, una cámara u otras herramientas durante la evaluación y que este se asegure de que funcionan correctamente. La verificación de los conocimientos para garantizar la autoría de la prueba no implicará en ningún caso una segunda evaluación. |
||||||
|