Aquest mòdul proporciona una base integral i orientada a la pràctiques en enginyeria de dades moderna i analytics, dotant els estudiants de les competències tècniques per processar, gestionar i extreure valor de fonts de dades diverses. Els participants aprendran a utilitzar Python i les seves biblioteques principals (Numpy, Pandas, Matplotlib, SciPy) per a la transformació i anàlisi de dades, alhora que adquiriran una comprensió sòlida de les arquitectures de sistemes Big Data, el processament distribuït en clústers i els serveis de dades basats en el núvol. El curs també cobreix temes essencials com la conversió i estandardització de dades, les tècniques de preparació per al modelatge estadístic i el machine learning, i la visualització efectiva de dades. L'exposició addicional a tecnologies emergents com Blockchain i els seus principis de seguretat garanteix que els estudiants estiguin preparats per navegar tant per entorns consolidats com en evolució en entorns basats en dades. Al final del mòdul, els estudiants seran capaços de dissenyar i implementar fluxos de treball de dades end-to-end —des de la ingestió i neteja fins a l'anàlisi i comunicació d'insights— utilitzant eines estàndard de la indústria i millors pràctiques.
Per participar amb èxit en aquest mòdul, els estudiants han de disposar de coneixements bàsics en processament de dades en general, incloent-hi familiaritat amb bases de dades, formats de dades habituals i tècniques d'anàlisi tant tradicionals com avançades. La competència en el llenguatge de programació Python és important, ja que actua com a eina principal per implementar els conceptes i exercicis que es treballen al llarg del curs. A més, són aconsellables nocions bàsiques d'arquitectures de núvol, atès que moltes de les tecnologies i fluxos de treball que es tracten estan dissenyats per operar en entorns distribuïts o basats en el núvol.
L'objectiu de Big Data Analysis és ensenyar-te com utilitzar eines que puguin gestionar l'allau de dades generades en l'era moderna. Això s'assolirà mitjançant una combinació d'una arquitectura de gestió de dades (la big data pipeline), l'ús de tecnologies específiques de processament Big Data, i una mica de programació en Python. Al final d'aquest curs, hauries de ser capaç de processar fitxers de dades grans i manipular dades per generar estadístiques, mètriques i visualitzacions.
- Utilitzar Python per llegir i transformar dades en diferents formats. Els estudiants desenvoluparan solucions independents aprofitant biblioteques estàndard com Numpy, Pandas, Matplotlib i SciPy per gestionar tasques de manipulació, transformació i anàlisi de dades de manera eficient en múltiples formats i estructures de fitxers.
- Comprendre l'arquitectura de components d'un sistema de Big Data Management. Els participants seran capaços d'identificar els elements clau d'una Big Data processing pipeline i entendre el seu paper específic dins de la data value chain, incloent-hi familiaritat amb les variants principals de cada component i els aspectes tècnics i funcionals que els diferencien.
- Adquirir familiaritat amb les principals ofertes de Cloud Data Services per a Big Data. Els estudiants aprendran sobre els fonaments de cloud infrastructure, l'estructura i els tipus de data services disponibles, i les solucions específiques que ofereixen els principals cloud providers del mercat, permetent prendre decisions informades a l'hora de seleccionar eines per a scalable data workflows.
- Comprendre com funciona Blockchain i els fonaments de la seva seguretat. Els participants exploraran les funcions principals de la tecnologia Blockchain, els seus casos d'ús primaris, i els mecanismes criptogràfics i de consensus que permeten els seus alts nivells de seguretat i resiliència, amb una breu revisió de conceptes criptogràfics essencials per donar suport a una comprensió més profunda.
- Generar estadístiques i mètriques bàsiques utilitzant dades emmagatzemades en disc. Els estudiants recuperaran dades de sistemes d'emmagatzematge, les carregaràn en un format adequat i realitzaran els passos necessaris de neteja i pre-processament; a continuació, calcularan estadístiques fonamentals —com mean, median i standard deviation— i mètriques rellevants com averages o percentages, presentant els resultats d'una manera clara i accionable.
- Treballar amb tasques de processament distribuït en un cluster. Els participants aprendran a configurar un entorn de computing cluster, incloent-hi la selecció de hardware adequat, la configuració de software frameworks i l'establiment de comunicació de xarxa entre nodes, mentre desenvolupen i executen tasques que incorporin data parallelism, task distribution, fault tolerance i dynamic resource management.
- Convertir dades de fonts diverses en formats d'emmagatzematge o consulta estandarditzats. Els estudiants identificaran diverses fonts de dades —com flat files, APIs i databases— i implementaran procediments d'extracció robustos que abordin reptes específics de format; també desenvoluparan conversion workflows per transformar i harmonitzar dades de fonts heterogènies en una estructura comuna, assegurant qualitat, consistència i compatibilitat per a downstream analysis o storage.
- Preparar dades per a anàlisi estadística, visualització i machine learning. El curs cobreix tècniques per identificar i abordar valors manquants, outliers i inconsistències mitjançant mètodes com imputation, scaling i categorical encoding; els estudiants també aprendran a crear noves característiques rellevants i seleccionar variables informatives per optimitzar datasets per al modelatge, preservant la integritat de les dades i la validesa analítica.
- Presentar dades mitjançant visualitzacions efectives. Els participants aprendran a seleccionar els tipus de gràfics més apropiats —com bar charts, scatter plots o heat maps— basant-se en la naturalesa de les dades i els insights que es volen transmetre; dissenyaran visuals clars, precisos i estèticament atractius utilitzant colors, etiquetes i títols adequats, i els integraran en informes o presentacions per comunicar eficaçment insights basats en dades a stakeholders tècnics i no tècnics.
Aquesta assignatura té dues sessions docents per setmana. Cada sessió es divideix en dues parts: la primera part està principalment dirigida pel professor, durant la qual es presenten nous continguts i teoria; la segona part implica que els estudiants treballin en exercicis per reforçar els coneixements que han adquirit. Les avaluacions es realitzen periòdicament mitjançant activitats individuals o en grup i la recollida de tasques i exercicis, entre d'altres.
Tipus d'avaluació | Pes | Contingut | Tipus d'activitat |
|---|---|---|---|
Assistència i participació | 30% | Tots els temes | Moderadament important |
Activitats | 30% | Aproximadament 5 o 6 activitats individuals o grupals | Molt important |
Examen parcial (Mid-term exam) | 10% | Temes coberts fins al moment | Moderadament important |
Examen final | 30% | Tots els temes | Molt important |
- L'objectiu principal és ajudar els estudiants a mantenir-se al dia amb l'assignatura i adquirir un bon mètode de treball, de manera que els ajudi a assimilar els continguts, impartits de manera progressiva, i a obtenir bons resultats acadèmics.
- També permet valorar la feina que l'estudiant realitza dia a dia, sense que la seva nota depengui únicament dels exàmens realitzats durant els semestres del curs acadèmic.
- Com a docent, ajuda a disposar de més informació sobre la feina feta pels estudiants i a tenir un millor coneixement d'ells, tant a nivell acadèmic com personal.
---
Marin, I., Shukla, A., & VK, S. (2019). Big Data Analysis with Python. Packt Publishing.
Martin Kleppmann, (2019), Designing Data-Intensive Applications [O’Reilly]
---