Data Programming Course  Hex Artifact Content

Artifact 0dfef280d823eadeb9a62e58c84acb89d64f19fc:

Wiki page [Piano delle lezioni] by EnricoGiampieri 2017-03-08 13:37:24.
0000: 44 20 32 30 31 37 2d 30 33 2d 30 38 54 31 33 3a  D 2017-03-08T13:
0010: 33 37 3a 32 34 2e 34 30 39 0a 4c 20 50 69 61 6e  37:24.409.L Pian
0020: 6f 5c 73 64 65 6c 6c 65 5c 73 6c 65 7a 69 6f 6e  o\sdelle\slezion
0030: 69 0a 4e 20 74 65 78 74 2f 78 2d 6d 61 72 6b 64  i.N text/x-markd
0040: 6f 77 6e 0a 50 20 38 65 66 36 62 32 38 64 62 62  own.P 8ef6b28dbb
0050: 64 66 38 33 39 62 36 32 64 37 36 34 35 39 31 37  df839b62d7645917
0060: 63 61 64 65 34 38 36 34 66 36 34 38 38 30 0a 55  cade4864f64880.U
0070: 20 45 6e 72 69 63 6f 47 69 61 6d 70 69 65 72 69   EnricoGiampieri
0080: 0a 57 20 32 35 38 33 0a 31 2e 20 63 6f 6e 74 72  .W 2583.1. contr
0090: 6f 6c 6c 6f 20 64 69 20 76 65 72 73 69 6f 6e 65  ollo di versione
00a0: 20 65 20 66 6f 73 73 69 6c 0d 0a 20 20 20 20 2d   e fossil..    -
00b0: 20 49 6e 73 74 61 6c 6c 61 7a 69 6f 6e 65 20 70   Installazione p
00c0: 79 74 68 6f 6e 20 65 20 6d 61 74 6c 61 62 2c 20  ython e matlab, 
00d0: 61 6d 62 69 65 6e 74 65 20 64 69 20 73 76 69 6c  ambiente di svil
00e0: 75 70 70 6f 20 73 70 79 64 65 72 20 65 20 6d 61  uppo spyder e ma
00f0: 74 6c 61 62 0d 0a 20 20 20 20 2d 20 41 6c 74 72  tlab..    - Altr
0100: 69 20 6c 69 6e 67 75 61 67 67 69 20 61 64 20 61  i linguaggi ad a
0110: 6c 74 6f 20 6c 69 76 65 6c 6c 6f 3a 20 52 2c 20  lto livello: R, 
0120: 4d 61 74 68 65 6d 61 74 69 63 61 2f 53 61 67 65  Mathematica/Sage
0130: 2c 20 53 63 61 6c 61 2c 20 4a 75 6c 69 61 0d 0a  , Scala, Julia..
0140: 20 20 20 20 2d 20 56 65 72 73 69 6f 6e 20 63 6f      - Version co
0150: 6e 74 72 6f 6c 2c 20 47 69 74 20 61 6e 64 20 46  ntrol, Git and F
0160: 6f 73 73 69 6c 0d 0a 20 20 20 20 2d 20 44 6f 63  ossil..    - Doc
0170: 75 6d 65 6e 74 61 7a 69 6f 6e 65 2c 20 68 65 6c  umentazione, hel
0180: 70 2c 20 6d 65 74 61 64 61 74 69 2c 20 62 75 67  p, metadati, bug
0190: 20 74 72 61 63 6b 69 6e 67 0d 0a 20 20 20 20 2d   tracking..    -
01a0: 20 43 6f 64 65 20 63 6f 72 72 65 63 74 6e 65 73   Code correctnes
01b0: 73 2c 20 72 65 70 6c 69 63 61 62 69 6c 69 74 79  s, replicability
01c0: 20 61 6e 64 20 72 65 70 72 6f 64 75 63 69 62 69   and reproducibi
01d0: 6c 69 74 79 20 28 66 69 78 69 6e 67 20 74 68 65  lity (fixing the
01e0: 20 72 61 6e 64 6f 6d 20 73 65 65 64 29 0d 0a 32   random seed)..2
01f0: 2e 20 69 6e 74 72 6f 64 75 7a 69 6f 6e 65 20 61  . introduzione a
0200: 20 70 79 74 68 6f 6e 0d 0a 20 20 20 20 2d 20 49   python..    - I
0210: 6e 74 72 6f 64 75 7a 69 6f 6e 65 20 61 20 70 79  ntroduzione a py
0220: 74 68 6f 6e 0d 0a 20 20 20 20 2d 20 49 6e 74 65  thon..    - Inte
0230: 72 66 61 63 63 65 20 64 69 20 65 73 65 63 75 7a  rfacce di esecuz
0240: 69 6f 6e 65 3a 20 73 63 72 69 70 74 2c 20 4d 41  ione: script, MA
0250: 54 4c 41 42 2d 6c 69 6b 65 2c 20 6e 6f 74 65 62  TLAB-like, noteb
0260: 6f 6f 6b 0d 0a 20 20 20 20 2d 20 53 74 72 75 74  ook..    - Strut
0270: 74 75 72 65 20 64 61 74 69 20 64 61 69 20 62 61  ture dati dai ba
0280: 73 65 3a 20 6c 69 73 74 65 2c 20 73 65 74 2c 20  se: liste, set, 
0290: 64 69 7a 69 6f 6e 61 72 69 2c 20 71 75 65 75 65  dizionari, queue
02a0: 2c 20 64 65 71 75 65 0d 0a 33 2e 20 74 65 73 74  , deque..3. test
02b0: 69 6e 67 20 65 20 68 79 70 6f 74 68 65 73 79 73  ing e hypothesys
02c0: 0d 0a 20 20 20 20 2d 20 74 65 73 74 3a 20 63 6c  ..    - test: cl
02d0: 61 73 73 69 63 61 6c 20 74 65 73 74 2c 20 70 72  assical test, pr
02e0: 6f 70 65 72 74 79 20 74 65 73 74 2c 20 72 65 67  operty test, reg
02f0: 72 65 73 73 69 6f 6e 20 74 65 73 74 69 6e 67 0d  ression testing.
0300: 0a 20 20 20 20 2d 20 28 68 74 74 70 73 3a 2f 2f  .    - (https://
0310: 65 6e 2e 77 69 6b 69 70 65 64 69 61 2e 6f 72 67  en.wikipedia.org
0320: 2f 77 69 6b 69 2f 54 68 65 72 61 63 2d 32 35 29  /wiki/Therac-25)
0330: 0d 0a 20 20 20 20 2d 20 28 68 74 74 70 73 3a 2f  ..    - (https:/
0340: 2f 77 77 77 2e 66 61 73 74 63 6f 6d 70 61 6e 79  /www.fastcompany
0350: 2e 63 6f 6d 2f 32 38 31 32 31 2f 74 68 65 79 2d  .com/28121/they-
0360: 77 72 69 74 65 2d 72 69 67 68 74 2d 73 74 75 66  write-right-stuf
0370: 66 29 0d 0a 20 20 20 20 2d 20 54 68 65 20 70 61  f)..    - The pa
0380: 69 6e 20 6f 66 20 74 65 73 74 69 6e 67 20 72 61  in of testing ra
0390: 6e 64 6f 6d 20 70 72 6f 63 65 73 73 65 73 0d 0a  ndom processes..
03a0: 20 20 20 20 2d 20 64 65 62 75 67 67 69 6e 67 3f      - debugging?
03b0: 0d 0a 34 2e 20 76 65 74 74 6f 72 69 7a 7a 61 7a  ..4. vettorizzaz
03c0: 69 6f 6e 65 20 65 20 6e 75 6d 70 79 0d 0a 20 20  ione e numpy..  
03d0: 20 20 2d 20 70 72 6f 67 72 61 6d 6d 61 7a 69 6f    - programmazio
03e0: 6e 65 20 76 65 74 74 6f 72 69 61 6c 65 20 28 6e  ne vettoriale (n
03f0: 75 6d 70 79 20 65 20 6d 61 74 6c 61 62 29 0d 0a  umpy e matlab)..
0400: 20 20 20 20 2d 20 50 72 6f 62 6c 65 6d 69 20 64      - Problemi d
0410: 65 6c 20 63 61 6c 63 6f 6c 6f 20 6e 75 6d 65 72  el calcolo numer
0420: 69 63 6f 3f 20 4f 76 65 72 66 6c 6f 77 2c 20 75  ico? Overflow, u
0430: 6e 64 65 72 66 6c 6f 77 2c 20 70 72 65 63 69 73  nderflow, precis
0440: 69 6f 6e 20 6c 6f 73 73 2c 20 74 65 73 74 69 6e  ion loss, testin
0450: 67 20 70 65 72 20 75 67 75 61 67 6c 69 61 6e 7a  g per uguaglianz
0460: 61 2f 73 69 6d 69 6c 69 74 75 64 69 6e 65 0d 0a  a/similitudine..
0470: 35 2e 20 53 63 69 70 79 0d 0a 20 20 20 20 2d 20  5. Scipy..    - 
0480: 4c 69 62 72 65 72 69 65 20 70 72 65 2d 65 73 69  Librerie pre-esi
0490: 73 74 65 6e 74 69 20 28 73 63 69 70 79 2c 20 65  stenti (scipy, e
04a0: 74 63 2e 2e 2e 29 2c 20 6e 6f 6e 20 72 65 69 6e  tc...), non rein
04b0: 76 65 6e 74 61 72 65 20 6c 61 20 72 75 6f 74 61  ventare la ruota
04c0: 0d 0a 20 20 20 20 2d 20 56 69 73 75 61 6c 69 7a  ..    - Visualiz
04d0: 7a 61 7a 69 6f 6e 65 20 67 72 61 66 69 63 61 0d  zazione grafica.
04e0: 0a 36 2e 20 44 61 74 61 66 72 61 6d 65 20 65 20  .6. Dataframe e 
04f0: 50 61 6e 64 61 73 0d 0a 20 20 20 20 2d 20 49 4f  Pandas..    - IO
0500: 20 64 69 20 64 61 74 69 2c 20 63 61 72 69 63 61   di dati, carica
0510: 72 65 20 43 53 56 2c 20 65 78 63 65 6c 2c 20 73  re CSV, excel, s
0520: 63 61 72 69 63 61 72 65 20 64 61 20 69 6e 74 65  caricare da inte
0530: 72 6e 65 74 20 65 20 73 69 6d 69 6c 69 0d 0a 20  rnet e simili.. 
0540: 20 20 20 2d 20 64 61 74 61 66 72 61 6d 65 73 2c     - dataframes,
0550: 20 74 69 64 79 20 64 61 74 61 2c 20 73 70 6c 69   tidy data, spli
0560: 74 2d 61 70 70 6c 79 2d 63 6f 6d 62 69 6e 65 20  t-apply-combine 
0570: 28 67 72 6f 75 70 69 6e 67 29 2c 20 6a 6f 69 6e  (grouping), join
0580: 2c 20 70 69 76 6f 74 20 65 20 6d 65 6c 74 0d 0a  , pivot e melt..
0590: 37 2e 20 64 61 74 61 20 70 69 70 65 6c 69 6e 65  7. data pipeline
05a0: 20 65 20 73 6e 61 6b 65 6d 61 6b 65 0d 0a 20 20   e snakemake..  
05b0: 20 20 2d 20 6c 69 66 65 20 63 79 63 6c 65 20 6f    - life cycle o
05c0: 66 20 64 61 74 61 20 28 72 61 77 2c 20 73 6f 75  f data (raw, sou
05d0: 72 63 65 2c 20 75 73 61 67 65 2c 20 74 65 6d 70  rce, usage, temp
05e0: 6f 72 61 72 79 29 0d 0a 20 20 20 20 2d 20 66 69  orary)..    - fi
05f0: 6c 65 20 66 6f 72 6d 61 74 73 3a 20 68 64 66 35  le formats: hdf5
0600: 2c 20 63 73 76 2c 20 6a 73 6f 6e 2c 20 78 6d 6c  , csv, json, xml
0610: 2c 20 79 61 6d 6c 2c 20 69 6e 69 2c 20 65 74 63  , yaml, ini, etc
0620: 2e 2e 0d 0a 20 20 20 20 2d 20 44 61 74 61 20 74  ....    - Data t
0630: 65 73 74 69 6e 67 3a 20 68 61 73 68 69 6e 67 20  esting: hashing 
0640: 66 75 6e 63 74 69 6f 6e 73 2c 20 73 61 6e 69 74  functions, sanit
0650: 79 20 63 6f 6e 74 72 6f 6c 73 0d 0a 20 20 20 20  y controls..    
0660: 2d 20 44 52 59 20 4b 49 53 53 20 28 44 6f 6e e2  - DRY KISS (Don.
0670: 80 99 74 20 52 65 70 65 61 74 20 59 6f 75 72 73  ..t Repeat Yours
0680: 65 6c 66 2c 20 4b 65 65 70 20 49 74 20 53 69 6d  elf, Keep It Sim
0690: 70 6c 65 20 53 74 75 70 69 64 29 2c 20 72 65 6d  ple Stupid), rem
06a0: 6f 76 65 20 72 65 64 75 6e 64 61 6e 63 79 20 66  ove redundancy f
06b0: 72 6f 6d 20 63 6f 64 65 20 61 6e 64 20 64 61 74  rom code and dat
06c0: 61 0d 0a 20 20 20 20 2d 20 70 69 70 65 6c 69 6e  a..    - pipelin
06d0: 65 20 65 20 6d 61 6b 65 2c 20 69 64 65 6d 70 6f  e e make, idempo
06e0: 74 65 6e 7a 61 2c 20 44 41 47 20 28 64 69 72 65  tenza, DAG (dire
06f0: 63 74 65 64 20 61 63 79 63 6c 69 63 20 67 72 61  cted acyclic gra
0700: 70 68 73 29 0d 0a 38 2e 20 70 72 6f 66 69 6c 69  phs)..8. profili
0710: 6e 67 0d 0a 20 20 20 20 2d 20 6c 69 6e 65 5f 70  ng..    - line_p
0720: 72 6f 66 69 6c 65 0d 0a 20 20 20 20 2d 20 6d 65  rofile..    - me
0730: 6d 6f 72 79 5f 70 72 6f 66 69 6c 65 0d 0a 39 2e  mory_profile..9.
0740: 20 69 6e 74 72 6f 20 61 69 20 62 69 67 20 64 61   intro ai big da
0750: 74 61 0d 0a 20 20 20 20 2d 20 69 6e 74 72 6f 20  ta..    - intro 
0760: 74 6f 20 62 69 67 20 64 61 74 61 3a 20 6f 75 74  to big data: out
0770: 2d 6f 66 2d 63 6f 72 65 20 61 6c 67 6f 72 69 74  -of-core algorit
0780: 68 6d 20 28 63 68 75 6e 6b 69 6e 67 29 2c 20 73  hm (chunking), s
0790: 70 61 72 73 65 20 6d 61 74 72 69 63 65 73 2c 20  parse matrices, 
07a0: 6d 65 6d 6d 61 70 70 69 6e 67 0d 0a 20 20 20 20  memmapping..    
07b0: 2d 20 53 65 6d 61 66 6f 72 69 2c 20 52 65 73 6f  - Semafori, Reso
07c0: 75 72 63 65 20 6c 6f 63 6b 73 20 28 6c 6f 63 6b  urce locks (lock
07d0: 20 66 69 6c 65 73 29 2c 20 6f 70 65 72 61 7a 69   files), operazi
07e0: 6f 6e 69 20 61 74 6f 6d 69 63 68 65 2c 20 63 6f  oni atomiche, co
07f0: 6e 63 75 72 72 65 6e 63 79 20 61 6e 64 20 70 61  ncurrency and pa
0800: 72 61 6c 6c 65 6c 20 65 78 65 63 75 74 69 6f 6e  rallel execution
0810: 0d 0a 0d 0a 23 23 20 41 72 67 6f 6d 65 6e 74 69  ....## Argomenti
0820: 20 64 61 20 69 6e 73 65 72 69 72 65 3f 0d 0a 0d   da inserire?...
0830: 0a 2a 20 72 65 67 65 78 0d 0a 2a 20 63 6f 6d 61  .* regex..* coma
0840: 6e 64 69 20 64 69 20 62 61 73 68 0d 0a 2a 20 64  ndi di bash..* d
0850: 65 62 75 67 67 69 6e 67 0d 0a 2a 20 69 74 65 72  ebugging..* iter
0860: 61 74 6f 72 69 20 65 20 67 65 6e 65 72 61 74 6f  atori e generato
0870: 72 69 0d 0a 2a 20 70 72 6f 67 72 61 6d 6d 61 7a  ri..* programmaz
0880: 69 6f 6e 65 20 66 75 6e 7a 69 6f 6e 61 6c 65 20  ione funzionale 
0890: 28 69 74 65 72 61 74 6f 72 69 2c 20 6d 61 70 2d  (iteratori, map-
08a0: 66 69 6c 74 65 72 2d 72 65 64 75 63 65 29 0d 0a  filter-reduce)..
08b0: 0d 0a 23 23 20 41 72 67 6f 6d 65 6e 74 69 20 63  ..## Argomenti c
08c0: 68 65 20 6e 6f 6e 20 74 72 61 74 74 65 72 65 6d  he non tratterem
08d0: 6f 0d 0a 2a 20 49 6e 74 65 72 66 61 63 63 69 61  o..* Interfaccia
08e0: 6d 65 6e 74 6f 20 63 6f 6e 20 64 61 74 61 62 61  mento con databa
08f0: 73 65 20 28 53 51 4c 29 0d 0a 2a 20 49 6e 74 65  se (SQL)..* Inte
0900: 72 66 61 63 63 69 61 20 63 6f 6e 20 6c 69 6e 67  rfaccia con ling
0910: 75 61 67 67 69 20 64 69 20 62 61 73 73 6f 20 6c  uaggi di basso l
0920: 69 76 65 6c 6c 6f 20 28 43 79 74 68 6f 6e 29 0d  ivello (Cython).
0930: 0a 2a 20 49 6e 74 65 72 66 61 63 63 69 61 20 63  .* Interfaccia c
0940: 6f 6e 20 61 6c 74 72 69 20 6c 69 6e 67 75 61 67  on altri linguag
0950: 67 69 20 64 69 20 61 6c 74 6f 20 6c 69 76 65 6c  gi di alto livel
0960: 6c 6f 20 28 20 52 20 29 0d 0a 2a 20 41 6c 67 65  lo ( R )..* Alge
0970: 62 72 61 20 73 69 6d 62 6f 6c 69 63 61 20 28 73  bra simbolica (s
0980: 79 6d 70 79 29 0d 0a 2a 20 50 61 63 63 68 65 74  ympy)..* Pacchet
0990: 74 69 20 73 74 61 74 69 73 74 69 63 69 2f 6d 61  ti statistici/ma
09a0: 63 68 69 6e 65 20 6c 65 61 72 6e 69 6e 67 0d 0a  chine learning..
09b0: 2a 20 44 65 73 69 67 6e 20 47 55 49 20 69 6e 74  * Design GUI int
09c0: 65 72 66 61 63 65 0d 0a 2a 20 45 73 70 6c 6f 72  erface..* Esplor
09d0: 61 7a 69 6f 6e 65 20 64 61 74 69 2c 20 67 6c 75  azione dati, glu
09e0: 65 76 69 7a 0d 0a 2a 20 47 65 6e 65 72 61 7a 69  eviz..* Generazi
09f0: 6f 6e 65 20 61 75 74 6f 6d 61 74 69 63 61 20 64  one automatica d
0a00: 69 20 72 65 70 6f 72 74 20 28 64 6f 63 75 74 69  i report (docuti
0a10: 6c 73 2c 20 72 65 70 6f 72 74 6c 61 62 29 20 65  ls, reportlab) e
0a20: 20 6c 69 74 65 72 61 74 65 20 70 72 6f 67 72 61   literate progra
0a30: 6d 6d 69 6e 67 0d 0a 2a 20 42 61 73 68 20 65 20  mming..* Bash e 
0a40: 6c 69 62 72 65 72 69 65 20 70 65 72 20 69 6e 74  librerie per int
0a50: 65 72 66 61 63 63 69 61 72 63 69 73 69 0d 0a 2a  erfacciarcisi..*
0a60: 20 4d 69 63 72 6f 20 77 65 62 20 66 72 61 6d 65   Micro web frame
0a70: 77 6f 72 6b 20 70 65 72 20 69 6c 20 72 65 70 6f  work per il repo
0a80: 72 74 69 6e 67 20 28 66 6c 61 73 6b 2c 20 62 6f  rting (flask, bo
0a90: 74 74 6c 65 2c 20 65 74 63 2e 2e 2e 29 0d 0a 0a  ttle, etc...)...
0aa0: 5a 20 34 32 66 39 33 34 30 61 38 61 34 31 32 37  Z 42f9340a8a4127
0ab0: 36 39 33 35 32 61 33 32 31 32 30 32 64 65 30 62  69352a321202de0b
0ac0: 61 63 0a                                         ac.