Fondamenti di sistemi liberi

Renzo Davoli & Luca Padovani

Definizione di Software Libero. La storia dell’Informatica vista dalla prospettiva del Software Libero. Analisi degli aspetti del software libero correlati a:

  • Architettura degli Elaboratori
  • Algortimi
  • Sistemi Operativi
  • Reti
  • Sistemi Virtuali

Teoria e pratica dei sistemi operativi liberi

Anna Ciampolini & Enrico Tassi

Introduzione ai SO. Architettura dei sistemi operativi: sistemi Monolitici, Modulari e Microkernel. Virtualizzazione. Processi e thread. Sincronizzazione. Gestione della memoria. File system. I/O. Analisi e studio comparato dei principali SO/kernel liberi: GNU/Linux, *bsd, L4, Hurd, Darwin, etc. Sistemi di virtualizzazione liberi: qemu e xen. Installazione, configurazione, amministrazione e programmazione di SO liberi.

Gestione del diritto d'autore

Beatrice Cunegatti

La tutela giuridica del software: diritto d’autore, segreto industriale, brevetti. Comparazione fra il sistema normativo Europeo e Italiano in materia di Diritto di Autore. Cenni all’evoluzione del quadro giuridico nordamericano e internazionale. DMCA, EUCD, IPRED. Contratti di sviluppo software e di licenza. Natura giuridica della “licenza”. Licenze Libere e Licenze Proprietarie. Analisi delle differenze e dei vari tipi di licenza. Attività normativa a favore del software libero.

Sistemi cooperativi e di collaborazione

Claudio Sacerdoti Coen

Sistemi di sviluppo cooperativo: source code management systems (diff, RCS, CVS, GIT), bug tracking systems, project management systems e loro integrazione. Cenni ai continuous building systems. Sistemi integrati di gestione dei progetti (Gforge, Trac). Literate programming. La distribuzione del software (pacchettizzazione).

Project management

Matteo Vignoli

Nel corso vengono analizzati i progetti di sviluppo di software libero, approfondendo gli elementi che caratterizzano la progettazione e la produzione di software a codice aperto rispetto al software proprietario. Aspetti fondamentali dell’organizzazione di progetti complessi, quali ad esempio la pianificazione e il controllo delle attività, la divisione orizzontale e verticale del lavoro, il coordinamento, la risoluzione dei problemi, vengono introdotti e discussi facendo riferimento ad alcuni progetti di software a codice aperto.

Basi di dati e programmazione web

Paolo Ciaccia & Stefano Zacchiroli

Teoria

I fondamenti delle basi di dati: modello relazionale, linguaggio SQL. Integrità dei dati: vincoli, transazioni ACID e trigger. Architettura dei DBMS: storage manager, buffer manager, query processor, transaction manager. DBMS Open Source: aspetti specifici e analisi comparativa. Tool OS per la progettazione di basi di dati.

Laboratorio

Programmazione web: generalità. Cenni di Python. Common gateway interface (CGI). Data storage server-side e client-side: file system, DBMS, cookies, hidden GET/POST parameters. Object relational mappers (ORMs). Framework web MVC (Model-View-Controller).

Reti e servizi

Vittorio Ghini & Cristian Mezzetti

Standard in materia di protocolli (aperti/chiusi). Reti LAN e WAN - protocolli fisici e DL più diffusi: Routing (RIP, OSPF, BGP). IPv6.TCP/UDP. Servizi. Sistemi di manutenzione remota. Server per Web/Mail/FTP/NTP. Servizi di proxy. Configurazione di reti e routing: Sistemi di diagnostica. Netfilter/iptables, e architetture per la mobiltà e relativi protocolli con un caso di studio legato alle applicazioni VoIP che operano su dispositivi mobili usando reti wireless.

Sicurezza

Gabriele D'Angelo & Ludovico Gardenghi

Principi fondamentali di sicurezza informatica (sistemi sicuri, complessità dei sistemi, conoscenza di un sistema). Introduzione alla crittografia moderna (crittografia simmetrica ed asimmetrica, sistemi crittografici ibridi, firma digitale, public key infrastructure (PKI), posta elettronica certificata,tipologie di attacco, sistemi Zero-Knowledge, crittografica probabilistica e quantistica, crittografia e anonimato, steganografia). Natura ed evoluzione del fenomeno hacking. Concetti di base (protezione e sicurezza, obiettivi della sicurezza, politiche e meccanismi, minacce, obiettivi della protezione). Tecnologie anti-intrusione e sistemi di autenticazione. Attacchi, principi generali (percorsi di attacco, ingegneria sociale, metodi di difesa, protezione del software). Attacchi, tipologie (buffer overflow, meccanismi di protezione dai buffer overflow, errori di convalida dell’input, cavalli di Troia, bombe logiche/trapdoor,virus e worm). Sicurezza delle reti (Denial of Service (DoS), Distributed Denial of Service (DDoS), spoofing, poisoning, man in the middle, firewall, Intrusion Detection System (IDS)). Sicurezza del meccanismo DNS e in generale problemi di trust in sistemi distribuiti. Problematiche di sicurezza nelle reti wireless (es. wlan, Bluetooth). Meccanismi di virtualizzazione per la sicurezza. Introduzione alla computer forensics.

 
prog.txt · Ultima modifica: 2008/08/17 15:21 da kendra
 
Recent changes RSS feed Creative Commons License Donate Powered by PHP Valid XHTML 1.0 Valid CSS Driven by DokuWiki