Overordnede kursusmål
Dette kursus giver en kort og intensiv introduktion til en stor
mængde beregningsmæssige værktøjer og teknikker til at håndtere
store datamængder. Vi vil berøre for eksempel: UNIX-terminalen,
versionsstyring, grafdatabaser, Python, hashing-tricks og
cloud-computing.
Læringsmål
En studerende, der fuldt ud har opfyldt kursets mål, vil kunne:
- Udvikle og implementere algoritmer til parallel kørsel af kode
og vurdere hvornår problemer kan paralleliseres.
- Bruge cluster-computere - for eksempel DTU's eget
HPC-cluster, Amazon EC2 og Google Compute Platform - til at
foretage storskala beregninger.
- Designe, analysere og implementere MapReduce-algoritmer for
simple og komplekse problemer og forklare hvornår brugen af
MapReduce giver mening.
- Kombinere forskellige UNIX-værktøjer (for eksempel sed, cut og
grep) til at håndtere og redigere store og komplekse datafiler i
terminalen.
- Sammenligne og vurdere metoder til at skalere data analyse til
store datamængder.
- Sammenligne databasemodeller (for eksempel SQL, NoSQL og
grafdatabaser) og databaseimplementationer (for eksempel Postgres,
MongoDB og Neo4j). Vurdere hvilken database der egner sig til et
specifikt problem.
- Finde og vurdere flere værktøjer til at arbejde med store
datamængder og præsentere fordele og ulemper samt hvordan disse
værktøjer virker.
- Læse, vurdere og give feedback til arbejde af andre
studerende.
Kursusindhold
UNIX, Git, Amazon EC2, DTU HPC, Python, Numpy, Scipy, Scikit-learn,
Cython, iPython, Pandas, Postgresql, MongoDB, Neo4j, feature
hashing, locality sensitive hashing, MapReduce, Apache Spark.
Sidst opdateret
28. oktober, 2016