Sequence Alignment Algorithms

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Sequence Alignment Algorithms"

Transcript

1 Sequence Alignment Algorithms Algoritmi per l Allineamento di Sequenze Relatore: Prof. Giancarlo Mauri Correlatore: Prof. Gianluca Della Vedova Tesi di Laurea di: Mauro Baluda Matricola Part of ALiBio project

2 1 Obiettivi dello stage Scopo di questo stage è stata la realizzazione di un implementazione efficiente degli algoritmi per L Allineamento di Sequenze, un problema che riveste un grande interesse in ambito biologico essendo un metodo chiave per cercare aree importanti all interno del genoma, determinare la loro funzione e scoprirne l origine evoluzionistica. Lo stage è parte del progetto ALiBio che si propone di formire una raccolta di librerie per lo sviluppo di programmi di bioinformatica con particolare riguardo all efficenza dell implementazione. Quando ho incominciato lo stage, le strutture dati necessarie per rappresentare informazioni biologiche quali le sequenze di DNA, RNA e proteine erano già state implementate. Ho costruito le mie funzioni sulla base di queste strutture dati. 2 Allineamento di Sequenze Gli algoritmi implementati sono quelli per l allineamento globale, locale e semiglobale. Il codice prodotto segue le specifiche generali del progetto. Gli algoritmi di allineamento sono utilizzati per misurare la similitudine tra sequenze di proteine o DNA e per trovarne l allineamento migliore anche inserendo dei gaps nelle sequenze che migliorino il risultato finale. Gli algoritmi di allineamento globale cercano di far combaciare le due sequenze dall inizio alla fine ottenendo a volte allineamenti non molto convincenti tra sottosezioni delle sequenze originali, per esempio: CATTTAGATT-C X X X --GTT-GTTTAT D altro canto gli algoritmi per l allineamento locale cercano dei segmenti delle sequenze di partenza che coincidano al meglio. Utilizzando le sequenze già viste otterremmo: catttagattc gttgtttat L Allineamento semiglobale invece allinea un prefisso di una delle due sequenze con un suffisso dell altra e darebbe: CATttagattc gttgttt-at 2

3 3 Specifiche del progetto Nello sviluppo della libreria ho seguito le linee guida definite dal progetto ALiBio. Literate Programming Il primo requisito è di produrre il lavoro utilizzando uno strumento per il Literate Programming che si chiama noweb. Il Literate Programming è una metodologia di sviluppo che combina un linguaggio di programmazione con un linguaggio per la documentazione con l obiettivo di produrre lavori meglio documentati e perciò più robusti, portabili, facili da manutenere e probabilmente anche più divertenti da scrivere. L idea principale è quella di trattare un programma come un testo letterario, facile da leggere dagli uomini oltre che dai computers. Il prodotto finale è un documento ipertestuale, nello stile del World Wide Web. Linguaggi Come linguaggio per la documentazione ALiBio adotta il sistema di scrittura L A TEXche produce documentazione scientifica e matematica di grande qualità tipografica. L intero progetto è sviluppato con il linguaggio C++ che, assieme a C, è probabilmente il più usato dai programmatori di applicazioni scientifiche in tutto il mondo. Questa scelta garantisce la portabilità del codice verso tutti i compilatori che reispettino lo standard ISO e quindi la sua compatibilità con tutte le piattaforme hardware. Paradigmi di Programmazione Oltre ad utilizzare le caratteristiche del linguaggio C++ come l orientamento agli oggetti, il progetto adotta anche il concetto di Programmazione Generica come proposto dalla Standard Template Library che viene usata intensivamente in tutto il progetto. La Programmazione Generica è una tecnica che permette di implementare algoritmi in modo per quanto possibile indipendente dalle strutture dati sottostante. Questo significa che lo stesso codice sorgente può essere usato indipendentemente dal tipo di dato con il quale viene istanziato o che viene passato come parametro. Licenza Da un punto di vista legale e di distribuzione, ALiBio adotta una licenza libera che si chiama LGPL, permettendo a chiunque di accedere al codice ed alla documentazione. 3

4 4 Fasi dello sviluppo Conoscere gli strumenti di lavoro Prima di poter procedere con la fase di codifica vera e propria, ho dedicato un periodo di studio all apprendimento degli strumenti necessari per la realizzazione del progetto. Tutti i software utilizzati (noweb, L A TEX, Gnu C++ Compiler, CVS, GAWK) sono liberamente disponibili per il sistema operativo GNU/Linux, in questo modo ho avuto la possibilità di approfondire la mia conoscenza di questo sistema come piattaforma di sviluppo nonchè della suite di strumenti messi a disposizione dal progetto GNU e in particolare del programma make. Sebbene conoscessi già L A TEX, non avevo mai utilizzato il sistema noweb o più in generale il Literate Programming. Ho anche dovuto approfondire il mio livello di conoscenza del sistema di versioning CVS. Nel mio lavoro ho utilizzato alcune funzioni prese dalla Boost Library, la loro documentazione on-line è molto curata ed esaustiva. Studio ed implementazione degli algoritmi Una volta acquisiti gli strumenti necessari per la realizzazione del progetto, ho incominciato a studiare gli algoritmi che avrei dovuto implementare usando gli articoli originali scritti dai loro autori nonchè una moltitudine di altra documentazione ricavata dal World Wide Web. Nel progetto ho implementato le librerie che si occupano dell allineamento di sequenze con costo lineare ed affine per i gap, ho anche implementato una versione spazio-lineare dei medesimi algoritmi. Per ognuno dei possibili tipi di allineamento ho incluso una funzione per l allineamento globale, locale e semiglobale. Testing La fase di test ha un importanza fondamentale in questo progetto. Una volta che il codice è stato scritto, è necessario scrivere alcuni tests specifici per verificarne la correttezza. La tecnica adottata è chiamata automatic regression tests e permette di confrontare l effettivo output del test con quello atteso o con quello di versioni precedenti della funzione in esame. Sono state preparate due classi di test: uno per testare la correttezza e le funzionalità della classe score matrix e l altra per verificare l esecuzione della classe seq alignment che è quella che si occupa dell effettivo allineamento delle sequenze. Gli algoritmi sono stati implementati facendo largo uso di accessi diretti alla memoria, C++ non offre protezione automatica contro i memory leaks quindi abbiamo utilizzato uno strumento specifico chiamato Valgrind per riconoscere eventuali errori di lettura o scrittura in memoria. 4

5 Per essere certi che l algoritmo funzionasse correttamente su un grande numero di possibili inputs, abbiamo sviluppato un test randomizzato che utilizza le funzioni in esame su input casuali e ne verifica l output. Questo test ha rivelato alcuni errori nel codice che non era stato possibile notare precedentemente. La fase di test della libreria ha richiesto una quantità di lavoro notevole, paragonabile a quella dedicata all effettiva implementazione. Analisi delle performances Altri gruppi di lavoro negli scorsi anni hanno sviluppato altre librerie per risolvere il problema dell allineamento di sequenze, abbiamo pensato di confrontare i risultati e le performances della nostra implementazione con quelli di EMBOSS, uno dei pacchetti liberi più usati. Abbiamo notato che la nostra implementazione è paragonabile a quella di EMBOSS dal punto di vista dell utilizzo delle risorse della macchina tranne nel caso dell allineamento in spazio lineare che viene portato a termine da EMBOSS in un tempo significativamente minore. 5 Conclusioni Terminato il periodo di stage, gli obiettivi che ci eravamo posti sono stati raggiunti. Gli algoritmi richiesti sono stati implementati assieme alla loro documentazione come da specifiche di progetto, inoltre le performance della libreria sono in linea con quelle attese. La natura libera del progetto ALiBio è un incentivo per il suo ulteriore sviluppo, infatti i programmatori di software per la bioinformatica possono utilizzare liberamente ALiBio all interno dei loro programmi ma anche contribuire alla sua espansione ed al suo miglioramento. Possibili miglioramenti futuri Dal punto di vista delle performances è certamente possibile migliorare ancora il codice, in particolare per ridurne l utilizzo di memoria. Aggiunta di ulteriori algoritmi per l allineamento di sequenze, in particolare per la ricerca di allineamenti sub ottimali. ALiBio è un progetto rivolto agli sviluppatori per la creazione di applicazioni di bioinformatica, ad ogni modo le librerie presentate in questo lavoro potrebbero essere usate facilmente dagli utenti finali programmando un interfacca utente a linea di comando. A partire da quest interfaccia, con l aiuto di software specifici come Pise e Kaptain, sarebbe possibile sviluppare velocemente un interfaccia web ed una grafica. 5

Tesi di Laurea di Mauro Baluda matr. 038208

Tesi di Laurea di Mauro Baluda matr. 038208 Università degli Studi di Milano Bicocca Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Algoritmi per l'allineamento di Sequenze Tesi di Laurea di matr. 038208 Relatore:

Dettagli

Generazione Automatica di Asserzioni da Modelli di Specifica

Generazione Automatica di Asserzioni da Modelli di Specifica UNIVERSITÀ DEGLI STUDI DI MILANO BICOCCA FACOLTÀ DI SCIENZE MATEMATICHE FISICHE E NATURALI Corso di Laurea Magistrale in Informatica Generazione Automatica di Asserzioni da Modelli di Specifica Relatore:

Dettagli

Scopo della lezione. Informatica. Informatica - def. 1. Informatica

Scopo della lezione. Informatica. Informatica - def. 1. Informatica Scopo della lezione Informatica per le lauree triennali LEZIONE 1 - Che cos è l informatica Introdurre i concetti base della materia Definire le differenze tra hardware e software Individuare le applicazioni

Dettagli

Architetture Applicative

Architetture Applicative Alessandro Martinelli alessandro.martinelli@unipv.it 6 Marzo 2012 Architetture Architetture Applicative Introduzione Alcuni esempi di Architetture Applicative Architetture con più Applicazioni Architetture

Dettagli

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione

Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Università Roma Tre Dipartimento di Matematica e Fisica Corso di Laurea in Matematica Appunti del corso di Informatica 1 (IN110 Fondamenti) 4 Linguaggi di programmazione Marco Liverani (liverani@mat.uniroma3.it)

Dettagli

Dispensa di Informatica I.1

Dispensa di Informatica I.1 IL COMPUTER: CONCETTI GENERALI Il Computer (o elaboratore) è un insieme di dispositivi di diversa natura in grado di acquisire dall'esterno dati e algoritmi e produrre in uscita i risultati dell'elaborazione.

Dettagli

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo

ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo ALGORITMI e PROGRAMMI Programmazione: Lavoro che si fa per costruire sequenze di istruzioni (operazioni) adatte a svolgere un dato calcolo INPUT: dati iniziali INPUT: x,y,z AZIONI esempio: Somma x ed y

Dettagli

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it

Automazione Industriale (scheduling+mms) scheduling+mms. adacher@dia.uniroma3.it Automazione Industriale (scheduling+mms) scheduling+mms adacher@dia.uniroma3.it Introduzione Sistemi e Modelli Lo studio e l analisi di sistemi tramite una rappresentazione astratta o una sua formalizzazione

Dettagli

Linguaggi di programmazione

Linguaggi di programmazione Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un programma, cioè di una sequenza di istruzioni descritte nel linguaggio interpretabile dal calcolatore

Dettagli

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche

Software di sistema e software applicativo. I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software di sistema e software applicativo I programmi che fanno funzionare il computer e quelli che gli permettono di svolgere attività specifiche Software soft ware soffice componente è la parte logica

Dettagli

Fasi di creazione di un programma

Fasi di creazione di un programma Fasi di creazione di un programma 1. Studio Preliminare 2. Analisi del Sistema 6. Manutenzione e Test 3. Progettazione 5. Implementazione 4. Sviluppo 41 Sviluppo di programmi Per la costruzione di un programma

Dettagli

Progettaz. e sviluppo Data Base

Progettaz. e sviluppo Data Base Progettaz. e sviluppo Data Base! Progettazione Basi Dati: Metodologie e modelli!modello Entita -Relazione Progettazione Base Dati Introduzione alla Progettazione: Il ciclo di vita di un Sist. Informativo

Dettagli

Linguaggi e Paradigmi di Programmazione

Linguaggi e Paradigmi di Programmazione Linguaggi e Paradigmi di Programmazione Cos è un linguaggio Definizione 1 Un linguaggio è un insieme di parole e di metodi di combinazione delle parole usati e compresi da una comunità di persone. È una

Dettagli

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI

RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI RAPPRESENTAZIONE GRAFICA DEGLI ALGORITMI Diagramma di flusso L algoritmo può essere rappresentato in vari modi, grafici o testuali. Uno dei metodi grafici più usati e conosciuti è il cosiddetto diagramma

Dettagli

Ottimizzazione delle interrogazioni (parte I)

Ottimizzazione delle interrogazioni (parte I) Ottimizzazione delle interrogazioni I Basi di Dati / Complementi di Basi di Dati 1 Ottimizzazione delle interrogazioni (parte I) Angelo Montanari Dipartimento di Matematica e Informatica Università di

Dettagli

Alternanza scuola lavoro: che cosa significa

Alternanza scuola lavoro: che cosa significa Alternanza scuola lavoro: che cosa significa È una modalità didattica realizzata in collaborazione fra scuole e imprese per offrire ai giovani competenze spendibili nel mercato del lavoro e favorire l

Dettagli

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA

COS È UN LINGUAGGIO? LINGUAGGI DI ALTO LIVELLO LA NOZIONE DI LINGUAGGIO LINGUAGGIO & PROGRAMMA LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware COS È UN LINGUAGGIO? Un linguaggio è un insieme di parole e di metodi di combinazione delle

Dettagli

Introduzione ai tipi di dato astratti: applicazione alle liste

Introduzione ai tipi di dato astratti: applicazione alle liste Universitàdegli Studi di L Aquila Facoltàdi Scienze M.F.N. Corso di Laurea in Informatica Corso di Laboratorio di Algoritmi e Strutture Dati A.A. 2005/2006 Introduzione ai tipi di dato astratti: applicazione

Dettagli

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi.

Sommario. Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. Algoritmi 1 Sommario Definizione di informatica. Definizione di un calcolatore come esecutore. Gli algoritmi. 2 Informatica Nome Informatica=informazione+automatica. Definizione Scienza che si occupa dell

Dettagli

Dalle scatole alle figure piane. Percorso di geometria Classe prima Scuola Primaria Rispescia a.s. 2014-2015

Dalle scatole alle figure piane. Percorso di geometria Classe prima Scuola Primaria Rispescia a.s. 2014-2015 Dalle scatole alle figure piane Percorso di geometria Classe prima Scuola Primaria Rispescia a.s. 2014-2015 Dalle Indicazioni nazionali per il curricolo Le conoscenze matematiche contribuiscono alla formazione

Dettagli

La Metodologia adottata nel Corso

La Metodologia adottata nel Corso La Metodologia adottata nel Corso 1 Mission Statement + Glossario + Lista Funzionalià 3 Descrizione 6 Funzionalità 2 Schema 4 Schema 5 concettuale Logico EA Relazionale Codice Transazioni In PL/SQL Schema

Dettagli

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE

PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE PROTOTIPAZIONE DI UN TRADUTTORE DA SORGENTE PLC AD ASSEMBLY DI UNA MACCHINA VIRTUALE Relatore: prof. Michele Moro Laureando: Marco Beggio Corso di laurea in Ingegneria Informatica Anno Accademico 2006-2007

Dettagli

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni

Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni Specifiche dello sviluppo di un progetto software e indicazioni sulla documentazione e sulle modalità di esercizio delle prestazioni Redatto dalla Commissione per l elettronica, l informatica e la telematica

Dettagli

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi.

Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. PROGETTO SeT Il ciclo dell informazione Alla ricerca dell algoritmo. Scoprire e formalizzare algoritmi. Scuola media Istituto comprensivo di Fagagna (Udine) Insegnanti referenti: Guerra Annalja, Gianquinto

Dettagli

Concetti di base di ingegneria del software

Concetti di base di ingegneria del software Concetti di base di ingegneria del software [Dalle dispense del corso «Ingegneria del software» del prof. A. Furfaro (UNICAL)] Principali qualità del software Correttezza Affidabilità Robustezza Efficienza

Dettagli

Metodologie di programmazione in Fortran 90

Metodologie di programmazione in Fortran 90 Metodologie di programmazione in Fortran 90 Ing. Luca De Santis DIS - Dipartimento di informatica e sistemistica Anno accademico 2007/2008 Fortran 90: Metodologie di programmazione DIS - Dipartimento di

Dettagli

Object Oriented Programming

Object Oriented Programming OOP Object Oriented Programming Programmazione orientata agli oggetti La programmazione orientata agli oggetti (Object Oriented Programming) è un paradigma di programmazione Permette di raggruppare in

Dettagli

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA

UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA UNA LEZIONE SUI NUMERI PRIMI: NASCE LA RITABELLA Tutti gli anni, affrontando l argomento della divisibilità, trovavo utile far lavorare gli alunni sul Crivello di Eratostene. Presentavo ai ragazzi una

Dettagli

e-dva - eni-depth Velocity Analysis

e-dva - eni-depth Velocity Analysis Lo scopo dell Analisi di Velocità di Migrazione (MVA) è quello di ottenere un modello della velocità nel sottosuolo che abbia dei tempi di riflessione compatibili con quelli osservati nei dati. Ciò significa

Dettagli

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo.

Siamo così arrivati all aritmetica modulare, ma anche a individuare alcuni aspetti di come funziona l aritmetica del calcolatore come vedremo. DALLE PESATE ALL ARITMETICA FINITA IN BASE 2 Si è trovato, partendo da un problema concreto, che con la base 2, utilizzando alcune potenze della base, operando con solo addizioni, posso ottenere tutti

Dettagli

Sviluppo di processi per l automatizzazione del testing per applicazioni Android

Sviluppo di processi per l automatizzazione del testing per applicazioni Android tesi di laurea Sviluppo di processi per l automatizzazione del testing per applicazioni Anno Accademico 2011/2012 relatori Ch.mo prof. Porfirio Tramontana candidato Enrico Solimeo Matr. 534002361 Contesto:

Dettagli

Report di valutazione studiolegalebraggio.it

Report di valutazione studiolegalebraggio.it Roma, li 15/01/2013 Report di valutazione studiolegalebraggio.it Il presente documento è redatto allo scopo di mostrare e analizzare le performance del sito web a due mesi e mezzo dalla pubblicazione online,

Dettagli

Introduzione alla Progettazione per Componenti

Introduzione alla Progettazione per Componenti Introduzione alla Progettazione per Componenti Alessandro Martinelli 6 ottobre 2014 Obiettivo del Corso Il Progetto Software Reale Il Componente Software La Programmazione Ad Oggetti Fondamenti di Informatica

Dettagli

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain.

GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. *+33(GLWRU GHPPEditor è un software realizzato per produrre in modo rapido e guidato un part program per controlli numerici Heidenhain. Il programma si basa su un architettura di tasti funzionali presenti

Dettagli

Database. Si ringrazia Marco Bertini per le slides

Database. Si ringrazia Marco Bertini per le slides Database Si ringrazia Marco Bertini per le slides Obiettivo Concetti base dati e informazioni cos è un database terminologia Modelli organizzativi flat file database relazionali Principi e linee guida

Dettagli

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0

4 3 4 = 4 x 10 2 + 3 x 10 1 + 4 x 10 0 aaa 10 2 10 1 10 0 Rappresentazione dei numeri I numeri che siamo abituati ad utilizzare sono espressi utilizzando il sistema di numerazione decimale, che si chiama così perché utilizza 0 cifre (0,,2,3,4,5,6,7,8,9). Si dice

Dettagli

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi

Indice generale. OOA Analisi Orientata agli Oggetti. Introduzione. Analisi Indice generale OOA Analisi Orientata agli Oggetti Introduzione Analisi Metodi d' analisi Analisi funzionale Analisi del flusso dei dati Analisi delle informazioni Analisi Orientata agli Oggetti (OOA)

Dettagli

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati

Informatica 3. Informatica 3. LEZIONE 10: Introduzione agli algoritmi e alle strutture dati. Lezione 10 - Modulo 1. Importanza delle strutture dati Informatica 3 Informatica 3 LEZIONE 10: Introduzione agli algoritmi e alle strutture dati Modulo 1: Perchè studiare algoritmi e strutture dati Modulo 2: Definizioni di base Lezione 10 - Modulo 1 Perchè

Dettagli

Carpire il segreto della vita con l informatica Giosuè Lo Bosco Dipartimento di Matematica e Informatica, Università di Palermo, ITALY.

Carpire il segreto della vita con l informatica Giosuè Lo Bosco Dipartimento di Matematica e Informatica, Università di Palermo, ITALY. Carpire il segreto della vita con l informatica Giosuè Lo Bosco Dipartimento di Matematica e Informatica, Università di Palermo, ITALY. Lezioni Lincee Palermo, 26 Febbraio 2015 Alla base della vita degli

Dettagli

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO CLASSE DISCIPLINA MODULO Conoscenze Abilità e competenze Argomento 1 Concetti di base Argomento 2 Sistema di elaborazione Significato dei termini informazione, elaborazione, comunicazione, interfaccia,

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T2 1 Sistema software 1 Prerequisiti Utilizzo elementare di un computer Significato elementare di programma e dati Sistema operativo 2 1 Introduzione In questa Unità studiamo

Dettagli

La progettazione centrata sull utente nei bandi di gara

La progettazione centrata sull utente nei bandi di gara Progetto PerformancePA Ambito A - Linea 1 - Una rete per la riforma della PA La progettazione centrata sull utente nei bandi di gara Autore: Maurizio Boscarol Creatore: Formez PA, Progetto Performance

Dettagli

La candela accesa. Descrizione generale. Obiettivi. Sequenza didattica e metodo di lavoro. Esperimenti sulla crescita delle piante

La candela accesa. Descrizione generale. Obiettivi. Sequenza didattica e metodo di lavoro. Esperimenti sulla crescita delle piante Esperimenti sulla crescita delle piante unità didattica 1 La candela accesa Durata 60 minuti Materiali per ciascun gruppo - 1 candela - 1 vaso di vetro - 1 cronometro - 1 cannuccia - fiammiferi - 1 pezzo

Dettagli

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto)

Fasi del ciclo di vita del software (riassunto) Progetto: generalità. Progetto e realizzazione (riassunto) Università degli Studi di Roma La Sapienza Facoltà di Ingegneria Sede di Latina Laurea in Ingegneria dell Informazione Fasi del ciclo di vita del software (riassunto) Corso di PROGETTAZIONE DEL SOFTWARE

Dettagli

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C

GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C GUIDA ALLA PROGRAMMAZIONE GRAFICA IN C.:luxx:. PREMESSE In questa guida non verranno trattati i costrutti di flusso, le funzioni, o comunque le caratteristiche del linguaggio, che si danno come presupposte.

Dettagli

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI

CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI VERO FALSO CAPITOLO 8 LA VERIFICA D IPOTESI. I FONDAMENTI 1. V F Un ipotesi statistica è un assunzione sulle caratteristiche di una o più variabili in una o più popolazioni 2. V F L ipotesi nulla unita

Dettagli

La Certificazione di qualità in accordo alla norma UNI EN ISO 9001:2000

La Certificazione di qualità in accordo alla norma UNI EN ISO 9001:2000 La Certificazione di qualità in accordo alla norma UNI EN ISO 9001:2000 Giorgio Capoccia (Direttore e Responsabile Gruppo di Audit Agiqualitas) Corso USMI 07 Marzo 2006 Roma Gli argomenti dell intervento

Dettagli

PROPOSTA DI PACCHETTO DI ORIENTAMENTO

PROPOSTA DI PACCHETTO DI ORIENTAMENTO PROPOSTA DI PACCHETTO DI ORIENTAMENTO MOMENTI DI ORIENTAMENTO Obiettivi INDICE Bilancio delle Competenze e Consapevolezza delle Vocazioni...4 La Gestione del Cambiamento...4 Momenti e iniziative sul tema

Dettagli

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali

Come costruire una presentazione. PowerPoint 1. ! PowerPoint permette la realizzazione di presentazioni video ipertestuali, animate e multimediali PowerPoint Come costruire una presentazione PowerPoint 1 Introduzione! PowerPoint è uno degli strumenti presenti nella suite Office di Microsoft! PowerPoint permette la realizzazione di presentazioni video

Dettagli

Come ragiona il computer. Problemi e algoritmi

Come ragiona il computer. Problemi e algoritmi Come ragiona il computer Problemi e algoritmi Il problema Abbiamo un problema quando ci poniamo un obiettivo da raggiungere e per raggiungerlo dobbiamo mettere a punto una strategia Problema Strategia

Dettagli

Rapporto sul tirocinio del 01/04 al 30/06. Al Università di Udine DUT. Dall IUT A di Lille 1

Rapporto sul tirocinio del 01/04 al 30/06. Al Università di Udine DUT. Dall IUT A di Lille 1 Cyprien Desquiens Rapporto sul tirocinio del 01/04 al 30/06 Al Università di Udine DUT 2015 Dall IUT A di Lille 1 Tutore: M. Pier Lucas Montessoro, professore di Computer Science Del 1 aprile 2015 al 30

Dettagli

Sommario. Prefazione...9. Introduzione...11

Sommario. Prefazione...9. Introduzione...11 Sommario Prefazione...9 Introduzione...11 1. L interfaccia utente e le operazioni più comuni...13 La scheda File... 20 Ridurre la barra multifunzione... 24 Personalizzare la barra multifunzione... 25 La

Dettagli

ISTITUTO COMPRENSIVO. S. Casciano V.P. Scuola Primaria G. Rodari - Cerbaia Classe II A

ISTITUTO COMPRENSIVO. S. Casciano V.P. Scuola Primaria G. Rodari - Cerbaia Classe II A ISTITUTO COMPRENSIVO S. Casciano V.P. Scuola Primaria G. Rodari - Cerbaia Classe II A INS. REDDITI CATIA CURRICOLO DI ITALIANO NELL ANNO SCOLASTICO 2011-2012 IL NOSTRO ISTITUTO COMPRENSIVO HA ATTIVATO

Dettagli

Verdi Cafaro ISTITUTO COMPRENSIVO STATALE Scuola dell Infanzia, Primaria e Secondaria di Primo Grado

Verdi Cafaro ISTITUTO COMPRENSIVO STATALE Scuola dell Infanzia, Primaria e Secondaria di Primo Grado Giuseppe Pasquale Verdi Cafaro ISTITUTO COMPRENSIVO STATALE Scuola dell Infanzia, Primaria e Secondaria di Primo Grado Sede centrale Via G. Verdi, n. 65-76123 Andria (BT) Telefono 0883 246.239 - Fax 0883-56.45.45

Dettagli

Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato

Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato tesi di laurea Titolo della tesi Testing Black Box di un Web Service : sperimentazione su di un servizio con stato Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Giuseppe

Dettagli

INGEGNERIA DEL SOFTWARE

INGEGNERIA DEL SOFTWARE INGEGNERIA DEL SOFTWARE A.A. 2014 2015 Pasquale Ardimento, Nicola Boffoli, Danilo Caivano, Giuseppe Visaggio Sommario ð Il Piano del Corso ð Svolgimento degli Esami ð Bibliografia ð Materiale didattico

Dettagli

15 volte più veloce. per ridurre TCO e time-to-market

15 volte più veloce. per ridurre TCO e time-to-market 15 volte più veloce per ridurre TCO e time-to-market Instant Developer aumenta la produttività dei team di sviluppo riducendo il TCO e i tempi di realizzazione delle soluzioni software Instant Developer

Dettagli

Introduzione al Calcolo Scientifico

Introduzione al Calcolo Scientifico Introduzione al Calcolo Scientifico Corso di Calcolo Numerico, a.a. 2010/2011 Francesca Mazzia Dipartimento di Matematica Università di Bari Francesca Mazzia (Univ. Bari) Introduzione al Calcolo Scientifico

Dettagli

Export Development Export Development

Export Development Export Development SERVICE PROFILE 2014 Chi siamo L attuale scenario economico nazionale impone alle imprese la necessità di valutare le opportunità di mercato offerte dai mercati internazionali. Sebbene una strategia commerciale

Dettagli

Strumenti e metodi di ausilio didattico per i dislessici

Strumenti e metodi di ausilio didattico per i dislessici Strumenti e metodi di ausilio didattico per i dislessici La Dislessia è un Disturbo specifico dell Apprendimento (DSA) di cui soffrono dal 3 al 4% degli studenti in età evolutiva. Da almeno 10 anni viene

Dettagli

Trip è un motore di ricerca progettato per consentire agli utenti di trovare rapidamente e facilmente documentazione EBM. Online dal 1997, è stato

Trip è un motore di ricerca progettato per consentire agli utenti di trovare rapidamente e facilmente documentazione EBM. Online dal 1997, è stato Trip è un motore di ricerca progettato per consentire agli utenti di trovare rapidamente e facilmente documentazione EBM. Online dal 1997, è stato pensato come uno strumento in grado di aiutare i due fondatori,

Dettagli

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa.

Algebra booleana. Si dice enunciato una proposizione che può essere soltanto vera o falsa. Algebra booleana Nel lavoro di programmazione capita spesso di dover ricorrere ai principi della logica degli enunciati e occorre conoscere i concetti di base dell algebra delle proposizioni. L algebra

Dettagli

ISTITUTO TECNICO ECONOMICO MOSSOTTI

ISTITUTO TECNICO ECONOMICO MOSSOTTI CLASSE III INDIRIZZO S.I.A. UdA n. 1 Titolo: conoscenze di base Conoscenza delle caratteristiche dell informatica e degli strumenti utilizzati Informatica e sistemi di elaborazione Conoscenza delle caratteristiche

Dettagli

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni

Dall Algoritmo al Programma. Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni Dall Algoritmo al Programma Prof. Francesco Accarino IIS Altiero Spinelli Sesto San Giovanni IL PROGRAMMA Gli algoritmi sono modelli di descrizione astratti e per controllarne il funzionamento devono essere

Dettagli

Esempi di algoritmi. Lezione III

Esempi di algoritmi. Lezione III Esempi di algoritmi Lezione III Scopo della lezione Implementare da zero algoritmi di media complessità. Verificare la correttezza di un algoritmo eseguendolo a mano. Imparare a valutare le prestazioni

Dettagli

Codifica: dal diagramma a blocchi al linguaggio C++

Codifica: dal diagramma a blocchi al linguaggio C++ Codifica: dal diagramma a blocchi al linguaggio C++ E necessario chiarire inizialmente alcuni concetti. La compilazione Il dispositivo del computer addetto all esecuzione dei programmi è la CPU La CPU

Dettagli

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO

TECNOLOGIE INFORMATICHE DELLA COMUNICAZIONE ORE SETTIMANALI 2 TIPO DI PROVA PER GIUDIZIO SOSPESO PROVA DI LABORATORIO CLASSE DISCIPLINA MODULO Conoscenze Abilità e competenze Argomento 1 Concetti di base Argomento 2 Sistema di elaborazione Significato dei termini informazione, elaborazione, comunicazione, interfaccia,

Dettagli

OSSERVAZIONI TEORICHE Lezione n. 4

OSSERVAZIONI TEORICHE Lezione n. 4 OSSERVAZIONI TEORICHE Lezione n. 4 Finalità: Sistematizzare concetti e definizioni. Verificare l apprendimento. Metodo: Lettura delle OSSERVAZIONI e risoluzione della scheda di verifica delle conoscenze

Dettagli

Innovazione e Design educativo per la buona scuola

Innovazione e Design educativo per la buona scuola Innovazione e Design educativo per la buona scuola Convegno nazionale ANP e Fondazione Telecom Italia 6 maggio 2015, Biblioteca Nazionale Centrale, Roma L innovazione come scelta strategica. Il monitoraggio

Dettagli

Il sistema operativo TinyOS

Il sistema operativo TinyOS tesi di laurea Anno Accademico 2005/2006 relatore Ch.mo prof. Domenico Cotroneo candidato Giovanni Chierchia Matr. 534 / 804 ::. Obiettivi del lavoro di tesi Studio del sistema operativo TinyOS Studio

Dettagli

I libri di testo. Carlo Tarsitani

I libri di testo. Carlo Tarsitani I libri di testo Carlo Tarsitani Premessa Per accedere ai contenuti del sapere scientifico, ai vari livelli di istruzione, si usa comunemente anche un libro di testo. A partire dalla scuola primaria, tutti

Dettagli

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video

Librerie digitali. Video. Gestione di video. Caratteristiche dei video. Video. Metadati associati ai video. Metadati associati ai video Video Librerie digitali Gestione di video Ogni filmato è composto da più parti Video Audio Gestito come visto in precedenza Trascrizione del testo, identificazione di informazioni di interesse Testo Utile

Dettagli

Parte I. Prima Parte

Parte I. Prima Parte Parte I Prima Parte Capitolo 1 Introduzione generale 1.1 Il problema dell assegnazione Corsi-Borsisti Il problema dell assegnazione delle borse dei corsi ai vari studenti può essere riassunto nei punti

Dettagli

11. Evoluzione del Software

11. Evoluzione del Software 11. Evoluzione del Software Andrea Polini Ingegneria del Software Corso di Laurea in Informatica (Ingegneria del Software) 11. Evoluzione del Software 1 / 21 Evoluzione del Software - generalità Cosa,

Dettagli

PLC Sistemi a Logica Programmabile Il linguaggi di programmazione

PLC Sistemi a Logica Programmabile Il linguaggi di programmazione PLC Sistemi a Logica Programmabile Il linguaggi di programmazione Prof. Nicola Ingrosso Guida di riferimento all applicazione applicazione dei Microcontrollori Programmabili IPSIA G.Ferraris Brindisi nicola.ingrosso

Dettagli

PROGRAMMAZIONE E GESTIONE DI UN PROGETTO DI SERVIZIO SOCIALE

PROGRAMMAZIONE E GESTIONE DI UN PROGETTO DI SERVIZIO SOCIALE PROGRAMMAZIONE E GESTIONE DI UN PROGETTO DI SERVIZIO SOCIALE A.S. Dott.ssa Carmen Prizzon Il progetto Operazione complessa unica e di durata limitata rivolta a produrre un risultato specifico attraverso

Dettagli

Principi di analisi causale Lezione 2

Principi di analisi causale Lezione 2 Anno accademico 2007/08 Principi di analisi causale Lezione 2 Docente: prof. Maurizio Pisati Logica della regressione Nella sua semplicità, l espressione precedente racchiude interamente la logica della

Dettagli

Insegnare le abilità sociali con la carta a T. ins. Fabrizia Monfrino

Insegnare le abilità sociali con la carta a T. ins. Fabrizia Monfrino Insegnare le abilità sociali con la carta a T ins. Fabrizia Monfrino Scuola: I circolo di Giaveno (To) Classe: trasversale Anno scolastico: 2003/2004 Insegnare le abilità sociali con l uso della carta

Dettagli

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico

Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Stimare il WCET Metodo classico e applicazione di un algoritmo genetico Sommario Introduzione Definizione di WCET Importanza del WCET Panoramica dei classici metodi per calcolare il WCET [1] Utilizzo di

Dettagli

Programmi e Oggetti Software

Programmi e Oggetti Software Corso di Laurea Ingegneria Civile Elementi di Informatica Programmi e Oggetti Software Settembre 2006 Programmi e Oggetti Software 1 Contenuti Cosa è un programma Cosa significa programmare Il punto di

Dettagli

LA MOLTIPLICAZIONE IN CLASSE SECONDA

LA MOLTIPLICAZIONE IN CLASSE SECONDA LA MOLTIPLICAZIONE IN CLASSE SECONDA Rossana Nencini, 2013 Le fasi del lavoro: 1. Proponiamo ai bambini una situazione reale di moltiplicazione: portiamo a scuola una scatola di biscotti (. ) e diamo la

Dettagli

Bibliosan 2.0 Risorse on-line per bibliotecari, ricercatori e medici

Bibliosan 2.0 Risorse on-line per bibliotecari, ricercatori e medici WorkShop Bibliosan 2012 Update e nuove risorse in Biblioteca 29 novembre 2012, Istituto Superiore di Sanità Bibliosan 2.0 Risorse on-line per bibliotecari, ricercatori e medici Contenuti dell intervento

Dettagli

Università degli Studi di Salerno

Università degli Studi di Salerno Università degli Studi di Salerno Facoltà di Scienze Matematiche Fisiche e Naturali Corso di Laurea in Informatica Tesi di Laurea Algoritmi basati su formule di quadratura interpolatorie per GPU ABSTRACT

Dettagli

Funzioni in C. Violetta Lonati

Funzioni in C. Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica Funzioni - in breve: Funzioni Definizione di funzioni

Dettagli

Il corso di italiano on-line: presentazione

Il corso di italiano on-line: presentazione Il corso di italiano on-line: presentazione Indice Perché un corso di lingua on-line 1. I corsi di lingua italiana ICoNLingua 2. Come è organizzato il corso 2.1. Struttura generale del corso 2.2. Tempistica

Dettagli

Le strategie di marketing

Le strategie di marketing Stampa Le strategie di marketing admin in Professione Consulente Con l analisi di mercato è possibile mettere a punto i prodotti o servizi corrispondenti alle esigenze di ogni segmento di mercato. Essa

Dettagli

Introduzione al corso

Introduzione al corso Introduzione al corso Sistemi Informativi L-B Home Page del corso: http://www-db.deis.unibo.it/courses/sil-b/ Versione elettronica: introduzione.pdf Sistemi Informativi L-B Docente Prof. Paolo Ciaccia

Dettagli

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6

Finalità della soluzione... 3. Schema generale e modalità d integrazione... 4. Gestione centralizzata in TeamPortal... 6 Finalità della soluzione... 3 Schema generale e modalità d integrazione... 4 Gestione centralizzata in TeamPortal... 6 Dati gestiti dall Anagrafica Unica... 8 Gestione anagrafica... 9 Storicizzazione...

Dettagli

Il modello veneto di Bilancio Sociale Avis

Il modello veneto di Bilancio Sociale Avis Il modello veneto di Bilancio Sociale Avis Le organizzazioni di volontariato ritengono essenziale la legalità e la trasparenza in tutta la loro attività e particolarmente nella raccolta e nell uso corretto

Dettagli

Il Test d ingresso per la Facoltà à di Scienze. PISA 3 dicembre 2008

Il Test d ingresso per la Facoltà à di Scienze. PISA 3 dicembre 2008 Il Test d ingresso per la Facoltà à di Scienze PISA 3 dicembre 2008 SOMMARIO Il documento ufficiale Esempio di test I punti del documento ufficiale della Conferenza delle Facoltà di Scienze Necessità di

Dettagli

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI

INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI INTRODUZIONE AGLI ALGORITMI Prima di riuscire a scrivere un programma, abbiamo bisogno di conoscere un metodo risolutivo, cioè un metodo che a partire dai dati di ingresso fornisce i risultati attesi.

Dettagli

Permutazione degli elementi di una lista

Permutazione degli elementi di una lista Permutazione degli elementi di una lista Luca Padovani padovani@sti.uniurb.it Sommario Prendiamo spunto da un esercizio non banale per fare alcune riflessioni su un approccio strutturato alla risoluzione

Dettagli

Identificare le classi in un sistema

Identificare le classi in un sistema 3.7 (Caso di studio facoltativo) Pensare a oggetti: identificare le classi nella specifica del problema Cominciamo ad affrontare la progettazione del simulatore di ascensore introdotto nel capitolo. Iniziamo

Dettagli

Il ruolo del chimico per la sicurezza ambientale

Il ruolo del chimico per la sicurezza ambientale ambientale di Piero Frediani * Ciampolini A. (a cura di). L innovazione per lo sviluppo locale ISBN 88-8453-362-7 (online) 2005 Firenze University Press Nell Anno Accademico 1996-97 l Università di Firenze

Dettagli

Un metodo per il rilevamento degli errori: la tecnica del Bit di Parità

Un metodo per il rilevamento degli errori: la tecnica del Bit di Parità Appunti: Tecniche di rilevazione e correzione degli errori 1 Tecniche di correzione degli errori Le tecniche di correzione degli errori sono catalogabili in: metodi per il rilevamento degli errori; metodi

Dettagli

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso

Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Programmazione in Java e gestione della grafica (I modulo) Lezione 1: Presentazione corso Informazioni generali Docente: Prof.ssa Dora Giammarresi: giammarr@mat.uniroma2.it Tutor:??? Informazioni generali

Dettagli

Esercizi Capitolo 6 - Alberi binari di ricerca

Esercizi Capitolo 6 - Alberi binari di ricerca Esercizi Capitolo 6 - Alberi binari di ricerca Alberto Montresor 23 settembre 200 Alcuni degli esercizi che seguono sono associati alle rispettive soluzioni. Se il vostro lettore PDF lo consente, è possibile

Dettagli

Piano di gestione della qualità

Piano di gestione della qualità Piano di gestione della qualità Pianificazione della qualità Politica ed obiettivi della qualità Riferimento ad un eventuale modello di qualità adottato Controllo della qualità Procedure di controllo.

Dettagli

COME VIENE REALIZZATA UNA RICERCA SPERIMENTALE IN BIOLOGIA MOLECOLARE?

COME VIENE REALIZZATA UNA RICERCA SPERIMENTALE IN BIOLOGIA MOLECOLARE? COME VIENE REALIZZATA UNA RICERCA SPERIMENTALE IN BIOLOGIA MOLECOLARE? A Flusso di attività B - INPUT C Descrizione dell attività D RISULTATO E - SISTEMA PROFESSIONALE 0. RICHIESTA DI STUDIARE E/O INDIVIDUARE

Dettagli

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi.

Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. E. Calabrese: Fondamenti di Informatica Problemi-1 Il sapere tende oggi a caratterizzarsi non più come un insieme di contenuti ma come un insieme di metodi e di strategie per risolvere problemi. L'informatica

Dettagli