LINGUAGGIO E LOGICA DELLE MACCHINE

LINGUAGGIO E LOGICA DELLE MACCHINE

Giuseppe D'Acquisto

Obiettivi formativi

Il laboratorio è il primo insegnamento della complessiva struttura didattica di Informatica Giuridica del corso di laurea magistrale a ciclo unico in Giurisprudenza della LUISS, che si compone di cinque laboratori propedeutici ed un corso distribuiti sui primi tre anni. Tali insegnamenti costituiscono un percorso unitario e progressivo secondo un itinerario logico studiato al fine di implementare la sensibilità dello studente per la reciproca interazione fra l’informatica ed il diritto. L’intento è quello di formare un giurista realmente pronto ad affrontare le sfide legali della dimensione digitale, sempre più pervasiva e trasversale in ogni settore professionale, e delle applicazioni informatiche nell’ambito legale. A tal fine lo studente dovrà acquisire conoscenze anche puramente tecniche ed informatiche per comprendere a fondo i fenomeni tecnologici dei quali potrà essergli/le richiesto di valutare risvolti ed effetti giuridici. È questo un obiettivo strategico che il Dipartimento di Giurisprudenza si è prefisso, non potendosi contemplare la figura di un giurista che oggi non possieda piena dimestichezza anche degli strumenti digitali e non sappia analizzare l’impatto delle applicazioni tecnologiche più dirompenti sulla società, sul diritto, sui mercati e sulle istituzioni a livello globale. L’innovazione travolgente ed incentivata dalle politiche pubbliche nazionali ed europee esige figure professionali versatili, capaci di applicare le categorie tradizionali del diritto a fenomeni tecnologici inediti, o addirittura di costruirne di nuove meglio in grado di regolare il presente. Per far ciò si richiede una comprensione dell’architettura di base delle reti, nonché dei linguaggi della matematica e della logica degli algoritmi, per poterli quindi leggere nelle forme del diritto. Il Laboratorio di Linguaggio e logica delle macchine, nello specifico, vuole costituire il fondamento di tali complesse conoscenze, fornendo il vocabolario, la grammatica e la sintassi del pensiero computazionale, della programmazione e del coding e della crittografia.

Risultati di apprendimento attesi

Conoscenza e capacità di comprensione: raggiungere la conoscenza di alcuni argomenti d'avanguardia nel campo di studio con il supporto didattico appropriato, comprensione elementare dei linguaggi di programmazione e conoscenza dell'architettura e delle reti dei computer. Conoscenza e comprensione applicate: capacità di utilizzare il coding di base per ottenere risultati efficaci. Autonomia di giudizio: raccogliere e interpretare informazioni e dati rilevanti. Abilità comunicative: comunicare informazioni, idee, problemi e soluzioni. Capacità di apprendere: aver sviluppato le competenze necessarie per intraprendere gli studi successivi con un elevato grado di autonomia.

Contenuti Del Corso

I. Logica e pensiero computazionale II. Linguaggi di programmazione e coding III. Architettura hardware e software IV. Protezione del dato e sicurezza dell’informazione

Testi Di Riferimento

Il materiale didattico è costituito dal contenuto delle lezioni impartite dal docente, relative dispense e altri materiali condivisi su Luiss Learn. Letture consigliate: G.D’Acquisto, M. Naldi, Big Data e privacy by Design, Giappichelli G.D’Acquisto, D.Benedetti, L.Nobile, Innovazione tecnologica per umanisti, Giappichelli Jake VanderPlas, A Whirlwind Tour of Python, ed. O'Reilly Dennis Curtin, Kim Foley, Kunal Sen, Cathy Morin, Agostino Marengo e Alessandro Pagano, Informatica di base, McGraw-Hill

Metodologie Didattiche

Apprendimento: lezioni frontali, podcast e quiz online Pratica: ospiti esperti e simulazioni di coding Indagine: analisi di idee e informazioni fra una gamma di materiali e risorse, utilizzando metodi convenzionali per raccogliere e analizzare dati e confrontare testi Collaborazione: lavori in piccoli gruppi, discussione dei risultati altrui e proposta di risultati comuni Discussione: seminari, discussioni di gruppo in classe, forum online e discussioni sincrone e asincrone Produzione: saggi, relazioni, presentazioni e blog

Modalità di verifica dell'apprendimento

Il voto finale, espresso in 30/trentesimi deriverà dalla valutazione delle seguenti voci per la rispettiva quota percentuale 20% frequenza 10% partecipazione attiva in aula 50% valutazioni delle prove intermedie 20% esame finale (scritto e orale) N.B. Il voto conseguito all’esito dell’esame del presente Laboratorio parteciperà per 1/7 al voto finale che sarà attribuito all’esito dell’esame del corso di Macchine intelligenti e diritto (MID1) e che rientra regolarmente nella media curriculare dello studente.

Criteri per l’assegnazione dell’elaborato finale

La valutazione sarà basata su una prova scritta e orale. Il 50% della valutazione verrà data parte di teoria, il 50% della valutazione verrà dato dalla parte pratica.

Settimana 1

I. Logica e pensiero computazionale 1. Presentazione della struttura complessiva del corso di Informatica giuridica (struttura in 6 esami/150 ore, modalità di verifica e calcolo del voto finale) Lezione frontale, Pratica, Discussione

Settimana 2

I. Logica e pensiero computazionale 2. Algebra di Boole 3. Tavole di verità Lezione frontale, Pratica, Discussione

Settimana 3

I. Logica e pensiero computazionale 4. Teoremi di De Morgan Esercizi Lezione frontale, Pratica, Discussione

Settimana 4

I. Logica e pensiero computazionale 5. Inferenze elementari Lezione frontale, Pratica, Discussione

Settimana 5

II. Linguaggi di programmazione 1. Teoria e concetti fondamentali del coding Variabil e tipi Istruzioni iterative Istruzioni condizionali Lezione frontale, Pratica, Discussione

Settimana 6

II. Linguaggi di programmazione 2. Introduzione ai linguaggi di programmazione maggiormente diffusi Modalità interattive Modalità compilate Lezione frontale, Pratica, Discussione

Settimana 7

II. Linguaggi di programmazione Esercitazioni Python Lezione frontale, Pratica, Discussione

Settimana 8

II. Linguaggi di programmazione GPT-3 Discussione, Produzione

Settimana 9

III. Architettura hardware e software 1. Struttura del calcolatore 2. Protocolli di comunicazione Lezione frontale, Pratica, Discussione

Settimana 10

III. Architettura hardware e software 3. Internet e Web 4. 2.0, 3.0 e oltre Lezione frontale, Pratica, Discussione

Settimana 11

IV. Protezione del dato e sicurezza dell’informazione 1. Teoria di base: obiettivi di sicurezza 2. Crittografia simmetrica Esempi Lezione frontale, Pratica, Discussione

Settimana 12

IV. Protezione del dato e sicurezza dell’informazione Crittografia asimmetrica Esempi 4. [Il problema della crittografia quantistica] Lezione frontale, Pratica, Discussione