Studio di buffer overflow in ambiente Win32

Dimensione: px
Iniziare la visualizzazioe della pagina:

Download "Studio di buffer overflow in ambiente Win32"

Transcript

1 e realizzazione di un tool per la ricerca automatica di programmi vulnerabili a questo tipo di attacco Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Triennale in Informatica Relatore: Ing. Mattia MONGA Tesi di Laurea di: Davide MARRONE Matricola

2 Sommario 1 Il problema Le soluzioni

3 Sommario 1 Il problema Le soluzioni 2 Implementazione Risultati

4 Il problema Le soluzioni Definizione del problema Con il termine buffer overflow si indica la scrittura in un buffer (o array) di una quantità di dati superiore alla sua capacità

5 Il problema Le soluzioni Definizione del problema Con il termine buffer overflow si indica la scrittura in un buffer (o array) di una quantità di dati superiore alla sua capacità Alcuni linguaggi di programmazione non controllano che la scrittura avvenga esclusivamente nei limiti del buffer

6 Il problema Le soluzioni Definizione del problema Con il termine buffer overflow si indica la scrittura in un buffer (o array) di una quantità di dati superiore alla sua capacità Alcuni linguaggi di programmazione non controllano che la scrittura avvenga esclusivamente nei limiti del buffer La causa del problema Assenza nei linguaggi di programmazione di controlli automatici di integrità

7 Il problema Le soluzioni Definizione del problema Con il termine buffer overflow si indica la scrittura in un buffer (o array) di una quantità di dati superiore alla sua capacità Alcuni linguaggi di programmazione non controllano che la scrittura avvenga esclusivamente nei limiti del buffer La causa del problema Assenza nei linguaggi di programmazione di controlli automatici di integrità Assenza nei programmi di controlli accurati sull input ricevuto

8 Il problema Le soluzioni Sovvertire il normale funzionamento di un programma 0xFFFFFFFF Chiamare una funzione 0x

9 Il problema Le soluzioni Sovvertire il normale funzionamento di un programma ESP 0xFFFFFFFF param due param uno Chiamare una funzione 1 I parametri sono passati sullo stack in ordine inverso 0x

10 Il problema Le soluzioni Sovvertire il normale funzionamento di un programma ESP 0xFFFFFFFF param due param uno return address Chiamare una funzione 1 I parametri sono passati sullo stack in ordine inverso 2 L istruzione call salva sullo stack il return address 0x

11 Il problema Le soluzioni Sovvertire il normale funzionamento di un programma ESP 0xFFFFFFFF param due param uno return address EBP variabili locali della funzione Chiamare una funzione 1 I parametri sono passati sullo stack in ordine inverso 2 L istruzione call salva sullo stack il return address 3 Il prologo della funzione alloca lo spazio per le variabili locali 0x

12 Il problema Le soluzioni Sovvertire il normale funzionamento di un programma 0xFFFFFFFF param due param uno 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 0x41 ESP 0x41 0x41 0x41 0x41 0x Chiamare una funzione 1 I parametri sono passati sullo stack in ordine inverso 2 L istruzione call salva sullo stack il return address 3 Il prologo della funzione alloca lo spazio per le variabili locali Buffer overflow È possibile prendere il controllo del return address

13 Il problema Le soluzioni Sovvertire il normale funzionamento di un programma 0xFFFFFFFF Chiamare una funzione 1 I parametri sono passati sullo stack in ordine inverso param due param uno nuovo ra codice macchina eseguibile 0x L istruzione call salva sullo stack il return address 3 Il prologo della funzione alloca lo spazio per le variabili locali Buffer overflow È possibile prendere il controllo del return address È possibile far eseguire al processo del codice arbitrario

14 Come limitare il problema Il problema Le soluzioni Soluzioni esistenti Ispezione automatica del codice

15 Come limitare il problema Il problema Le soluzioni Soluzioni esistenti Ispezione automatica del codice Modifiche ai compilatori per aggiungere del codice nel prologo e nell epilogo delle funzioni (tecnica canary)

16 Come limitare il problema Il problema Le soluzioni Soluzioni esistenti Ispezione automatica del codice Modifiche ai compilatori per aggiungere del codice nel prologo e nell epilogo delle funzioni (tecnica canary) Proposta del CERT IT Il CERT IT per l ambiente unix ha sviluppato OBOE (Object code Evaluator)

17 Come limitare il problema Il problema Le soluzioni Soluzioni esistenti Ispezione automatica del codice Modifiche ai compilatori per aggiungere del codice nel prologo e nell epilogo delle funzioni (tecnica canary) Proposta del CERT IT Il CERT IT per l ambiente unix ha sviluppato OBOE (Object code Evaluator) Si parte dal presupposto che il codice sorgente del target non sia a disposizione

18 Come limitare il problema Il problema Le soluzioni Soluzioni esistenti Ispezione automatica del codice Modifiche ai compilatori per aggiungere del codice nel prologo e nell epilogo delle funzioni (tecnica canary) Proposta del CERT IT Il CERT IT per l ambiente unix ha sviluppato OBOE (Object code Evaluator) Si parte dal presupposto che il codice sorgente del target non sia a disposizione Si effettua del fault injection sui programmi

19 Come limitare il problema Il problema Le soluzioni Soluzioni esistenti Ispezione automatica del codice Modifiche ai compilatori per aggiungere del codice nel prologo e nell epilogo delle funzioni (tecnica canary) Proposta del CERT IT Il CERT IT per l ambiente unix ha sviluppato OBOE (Object code Evaluator) Si parte dal presupposto che il codice sorgente del target non sia a disposizione Si effettua del fault injection sui programmi Scopo di questo lavoro Realizzare OBOE per l ambiente Win32 ()

20 OBOE per l ambiente Win32 Implementazione Risultati Obbiettivo Individuare buffer overflow causati dall input che viene passato al programma

21 OBOE per l ambiente Win32 Implementazione Risultati Obbiettivo Individuare buffer overflow causati dall input che viene passato al programma Input considerato Tutti i dati di input, se gestiti in maniera scorretta, possono causare un buffer overflow, le due fonti analizzate sono:

22 OBOE per l ambiente Win32 Implementazione Risultati Obbiettivo Individuare buffer overflow causati dall input che viene passato al programma Input considerato Tutti i dati di input, se gestiti in maniera scorretta, possono causare un buffer overflow, le due fonti analizzate sono: 1 Parametri passati a linea di comando

23 OBOE per l ambiente Win32 Implementazione Risultati Obbiettivo Individuare buffer overflow causati dall input che viene passato al programma Input considerato Tutti i dati di input, se gestiti in maniera scorretta, possono causare un buffer overflow, le due fonti analizzate sono: 1 Parametri passati a linea di comando 2 Chiavi di registro

24 Implementazione Risultati Composizione dell input per la ricerca di buffer overflow Stringhe utilizzate Stringhe composte da caratteri fissi

25 Implementazione Risultati Composizione dell input per la ricerca di buffer overflow Stringhe utilizzate Stringhe composte da caratteri fissi formano degli indirizzi che fanno riferimento a zone di memoria del kernel

26 Implementazione Risultati Composizione dell input per la ricerca di buffer overflow Stringhe utilizzate Stringhe composte da caratteri fissi formano degli indirizzi che fanno riferimento a zone di memoria del kernel Stringhe composte da caratteri pseudocasuali

27 Implementazione Risultati Composizione dell input per la ricerca di buffer overflow Stringhe utilizzate Stringhe composte da caratteri fissi formano degli indirizzi che fanno riferimento a zone di memoria del kernel Stringhe composte da caratteri pseudocasuali sono utilizzate per diversificare i possibili flussi di esecuzione dei programmi

28 Implementazione Risultati Come individuare un buffer overflow Stategia utilizzata Per capire se sia presente un buffer overflow: 1 Si crea il target passando una stringa con la lunghezza massima per il tipo di input considerato

29 Implementazione Risultati Come individuare un buffer overflow Stategia utilizzata Per capire se sia presente un buffer overflow: 1 Si crea il target passando una stringa con la lunghezza massima per il tipo di input considerato 2 Si analizza il comportamento del processo in funzione dell input

30 Implementazione Risultati Come individuare un buffer overflow Stategia utilizzata Per capire se sia presente un buffer overflow: 1 Si crea il target passando una stringa con la lunghezza massima per il tipo di input considerato 2 Si analizza il comportamento del processo in funzione dell input 3 Se il processo genera un eccezione si cerca di determinare la posizione del return address

31 Implementazione Risultati Come individuare un buffer overflow Stategia utilizzata Per capire se sia presente un buffer overflow: 1 Si crea il target passando una stringa con la lunghezza massima per il tipo di input considerato 2 Si analizza il comportamento del processo in funzione dell input 3 Se il processo genera un eccezione si cerca di determinare la posizione del return address 4 Si diminuisce la stringa fino a sovrascrivere esattamente i quattro byte del return address

32 Implementazione Risultati Come individuare un buffer overflow Stategia utilizzata Per capire se sia presente un buffer overflow: 1 Si crea il target passando una stringa con la lunghezza massima per il tipo di input considerato 2 Si analizza il comportamento del processo in funzione dell input 3 Se il processo genera un eccezione si cerca di determinare la posizione del return address 4 Si diminuisce la stringa fino a sovrascrivere esattamente i quattro byte del return address 5 Quando viene trovata la posizione del return address si tenta di far eseguire al processo del codice arbitrario

33 Prove effettuate Implementazione Risultati Parametri passati a linea di comando Sono stati testati 40 programmi che accettano parametri da linea di comando

34 Prove effettuate Implementazione Risultati Parametri passati a linea di comando Sono stati testati 40 programmi che accettano parametri da linea di comando In 8 programmi sono state rilevate diverse eccezioni

35 Prove effettuate Implementazione Risultati Parametri passati a linea di comando Sono stati testati 40 programmi che accettano parametri da linea di comando In 8 programmi sono state rilevate diverse eccezioni In un caso (mysql.exe) è riuscito in automatico a far eseguire del codice arbitrario al target

36 Prove effettuate Implementazione Risultati Parametri passati a linea di comando Sono stati testati 40 programmi che accettano parametri da linea di comando In 8 programmi sono state rilevate diverse eccezioni In un caso (mysql.exe) è riuscito in automatico a far eseguire del codice arbitrario al target Chiavi di registro Sono stati testati 60 programmi che utilizzano il registro

37 Prove effettuate Implementazione Risultati Parametri passati a linea di comando Sono stati testati 40 programmi che accettano parametri da linea di comando In 8 programmi sono state rilevate diverse eccezioni In un caso (mysql.exe) è riuscito in automatico a far eseguire del codice arbitrario al target Chiavi di registro Sono stati testati 60 programmi che utilizzano il registro Non è stata rilevata nessuna eccezione

38 Prove effettuate Implementazione Risultati Parametri passati a linea di comando Sono stati testati 40 programmi che accettano parametri da linea di comando In 8 programmi sono state rilevate diverse eccezioni In un caso (mysql.exe) è riuscito in automatico a far eseguire del codice arbitrario al target Chiavi di registro Sono stati testati 60 programmi che utilizzano il registro Non è stata rilevata nessuna eccezione Risultato dovuto al funzionamento della API che legge le stringhe dal registro

39 I buffer overflow ancora oggi sono un problema, soprattutto per i programmi in cui il sorgente non è disponibile

40 I buffer overflow ancora oggi sono un problema, soprattutto per i programmi in cui il sorgente non è disponibile In ambiente open source sono disponibili delle patch per il kernel del sistema operativo (PaX)

41 I buffer overflow ancora oggi sono un problema, soprattutto per i programmi in cui il sorgente non è disponibile In ambiente open source sono disponibili delle patch per il kernel del sistema operativo (PaX) può essere uno strumento valido soprattutto per altri tipi di input

42 I buffer overflow ancora oggi sono un problema, soprattutto per i programmi in cui il sorgente non è disponibile In ambiente open source sono disponibili delle patch per il kernel del sistema operativo (PaX) può essere uno strumento valido soprattutto per altri tipi di input Si può estendere la versione sviluppata per analizzare altre fonti di input

43 I buffer overflow ancora oggi sono un problema, soprattutto per i programmi in cui il sorgente non è disponibile In ambiente open source sono disponibili delle patch per il kernel del sistema operativo (PaX) può essere uno strumento valido soprattutto per altri tipi di input Si può estendere la versione sviluppata per analizzare altre fonti di input Socket

44 I buffer overflow ancora oggi sono un problema, soprattutto per i programmi in cui il sorgente non è disponibile In ambiente open source sono disponibili delle patch per il kernel del sistema operativo (PaX) può essere uno strumento valido soprattutto per altri tipi di input Si può estendere la versione sviluppata per analizzare altre fonti di input Socket File

Spazio di indirizzamento virtuale

Spazio di indirizzamento virtuale Programmazione M-Z Ingegneria e Scienze Informatiche - Cesena A.A. 016-01 Spazio di indirizzamento virtuale Pietro Di Lena - pietro.dilena@unibo.it // The function name says it all int stack_overflow (){

Dettagli

Processore Danilo Dessì. Architettura degli Elaboratori.

Processore Danilo Dessì. Architettura degli Elaboratori. Processore 8088 Architettura degli Elaboratori Danilo Dessì danilo_dessi@unica.it Subroutine Anche nel linguaggio assemblativo è possibile suddividere un programma in subroutine Per invocare una subroutine

Dettagli

Programmare. Compilatori e interpreti. Editor :: vi. Hello1.c. #include <stdio.h> >> cc Hello1.c. main() { printf( \n Hello World!

Programmare. Compilatori e interpreti. Editor :: vi. Hello1.c. #include <stdio.h> >> cc Hello1.c. main() { printf( \n Hello World! Programmare Hello1.c #include printf( \n Hello World! \n ); >> cc Hello1.c >> a.out Hello World! >> Hello1.c = file sorgente per scriverlo occorre un editor cc = compilatore per altri linguaggi

Dettagli

Stack-based buffer overflow

Stack-based buffer overflow Università degli Studi di Milano Facoltà di Scienze e Tecnologie Stack-based buffer overflow Andrea Lanzi A.A. 2015 2016 Andrea Lanzi Stack-based buffer overflow A.A. 2015 2016 1 / 19 Classificazione attacchi

Dettagli

Analisi e verifica di un framework per l analisi dinamica di codice binario

Analisi e verifica di un framework per l analisi dinamica di codice binario Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea Triennale in Informatica Analisi e verifica di un framework per l analisi dinamica di codice binario

Dettagli

Format String Vulnerability

Format String Vulnerability Università degli Studi di Milano Facoltà di Scienze Matematiche, Fisiche e Naturali Corso di Laurea in Informatica April 15, 2005 Sommario 1 Format string Definizione Format function Componenti delle Format

Dettagli

LABORATORIO DI SICUREZZA 1. Ora possiamo provare inviare delle format string come input. ad esempio

LABORATORIO DI SICUREZZA 1. Ora possiamo provare inviare delle format string come input. ad esempio LABORATORIO DI SICUREZZA 1 Format strings È un altra tecnica classica di program exploitation. Una format string è una stringa contenente parametri di formato come ad esempio %i o %d nella printf. Tali

Dettagli

TCL PAD: UN EDITOR DI TESTO ESTENDIBILE, INCORPORABILE E CON INTERFACCE DI TEXT-PROCESSING

TCL PAD: UN EDITOR DI TESTO ESTENDIBILE, INCORPORABILE E CON INTERFACCE DI TEXT-PROCESSING Tesi di Laurea Triennale in Ingegneria Informatica TCL PAD: UN EDITOR DI TESTO ESTENDIBILE, INCORPORABILE E CON INTERFACCE DI TEXT-PROCESSING Relatore: Prof. SERGIO FLESCA Laureando: ANTONIO BONIFATI MATR.

Dettagli

Programmazione II. Lezione 7. Daniele Sgandurra 9/11/2010.

Programmazione II. Lezione 7. Daniele Sgandurra 9/11/2010. Programmazione II Lezione 7 Daniele Sgandurra daniele.sgandurra@iit.cnr.it 9/11/2010 1/24 Programmazione II Lezione 7 9/11/2010 Sommario 1 Gestione della Memoria 2/24 Programmazione II Lezione 7 9/11/2010

Dettagli

STUDIO DI BUFFER OVERFLOW IN AMBIENTE WIN32 E REALIZZAZIONE DI UN TOOL PER LA RICERCA AUTOMATICA DI PROGRAMMI VULNERABILI A QUESTO TIPO DI ATTACCO

STUDIO DI BUFFER OVERFLOW IN AMBIENTE WIN32 E REALIZZAZIONE DI UN TOOL PER LA RICERCA AUTOMATICA DI PROGRAMMI VULNERABILI A QUESTO TIPO DI ATTACCO UNIVERSITÀ DEGLI STUDI DI MILANO FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI CORSO DI LAUREA TRIENNALE IN INFORMATICA STUDIO DI BUFFER OVERFLOW IN AMBIENTE WIN32 E REALIZZAZIONE DI UN TOOL PER LA

Dettagli

Octave. Luca Abeni. Informatica Luca Abeni 1 / 21

Octave. Luca Abeni. Informatica Luca Abeni 1 / 21 Luca Abeni Informatica Luca Abeni 1 / 21 Linguaggi di Programmazione di Alto Livello Parole chiave: possibilmente con significato in inglese Ma agli informatici piacciono molto contrazioni e acronimi...

Dettagli

1.7: Spazio degli Indirizzi di un Processo

1.7: Spazio degli Indirizzi di un Processo 1.7: Spazio degli Indirizzi di un Processo Obiettivo: analizzare come e quando i processi richiedono memoria al Kernel. Indirizzi logici e fisici Spazio degli indirizzi Modifiche dello spazio degli indirizzi

Dettagli

Informazioni sul corso

Informazioni sul corso Informazioni sul corso Marco Alberti Programmazione e Laboratorio, A.A. 2016-2017 Dipartimento di Matematica e Informatica - Università di Ferrara Ultima modifica: 11 ottobre 2016 Programmazione Programmazione

Dettagli

Iniziare a programmare in C++

Iniziare a programmare in C++ Iniziare a programmare in C++ Docente: Ing. Edoardo Fusella Dipartimento di Ingegneria Elettrica e Tecnologie dell Informazione Via Claudio 21, 4 piano laboratorio SECLAB Università degli Studi di Napoli

Dettagli

Introduzione al Linguaggio C ed all IDE DEV-C++

Introduzione al Linguaggio C ed all IDE DEV-C++ Microsoft Windows e Dev-C++ Introduzione al Linguaggio C ed all IDE DEV-C++ Le Esercitazioni in Laboratorio Laboratorio M1 + MLAB1/2: Edificio Via Valotti, primo piano e piano interrato Orario: Mercoledì

Dettagli

Introduzione alle tecniche di Exploit

Introduzione alle tecniche di Exploit Introduzione alle tecniche di Exploit Luigi Mori Network Security Manager Intrinsic lm@intrinsic.it IFOA 24 Luglio 2003 Agenda Memory layout di un processo Win2000 Stack Frame Exploit Shellcode Note finali

Dettagli

Introduzione al Linguaggio C ed all IDE DEV-C++

Introduzione al Linguaggio C ed all IDE DEV-C++ Microsoft Windows e Dev-C++ Introduzione al Linguaggio C ed all IDE DEV-C++ 1 Le Esercitazioni in Laboratorio! MTA + MLAB1/2: Edificio Via Valotti, primo piano e piano interrato! Orario: Giovedì 14:30-17:30!

Dettagli

Corso di Fondamenti di Informatica Linguaggi di Programmazione

Corso di Fondamenti di Informatica Linguaggi di Programmazione Corso di Informatica Linguaggi di Programmazione Anno Accademico 2011/2012 Francesco Tortorella Linguaggi di programmazione Un calcolatore basato sul modello di von Neumann permette l esecuzione di un

Dettagli

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica prof. ing. Corrado Santoro A.A. 2009-10 Dai flow-chart ai linguaggi... Abbiamo imparato ad usare uno strumento formale i flowchart per

Dettagli

Algoritmi e Programmazione Avanzata. Pile e code. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino

Algoritmi e Programmazione Avanzata. Pile e code. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Sommario ADT Pile Code. A.A. 2001/2002 APA - 2 1 Sommario ADT Pile Code. A.A. 2001/2002 APA - 3 ADT Le regole che

Dettagli

Convenzioni per la chiamata a procedure

Convenzioni per la chiamata a procedure Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2017-2018 Convenzioni per la chiamata a procedure Homepage del corso Turno A Nicola Basilico Dipartimento di Informatica Via Comelico

Dettagli

Pile e code. Sommario. Algoritmi e Programmazione Avanzata. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino

Pile e code. Sommario. Algoritmi e Programmazione Avanzata. Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Pile e code Fulvio CORNO - Matteo SONZA REORDA Dip. Automatica e Informatica Politecnico di Torino Sommario ADT Pile Code. A.A. 2002/2003 APA - Pile e code 2 Politecnico di Torino Pagina 1 di 23 Sommario

Dettagli

Introduzione - aspetti generali dell informatica

Introduzione - aspetti generali dell informatica Introduzione - aspetti generali dell informatica Vittorio Zaccaria, Daniele Loiacono Informatica B - Codice Corso: 081369 - A.A. 2010/2011 INGEGNERIA MECCANICA (BV) - INGEGNERIA IV (1 liv.) - Scaglione

Dettagli

Simulazione esame Laboratorio di Sistemi Operativi Cognome Nome Mat.

Simulazione esame Laboratorio di Sistemi Operativi Cognome Nome Mat. Il compito è costituito da domande chiuse, domande aperte ed esercizi. Non è consentito l uso di libri, manuali, appunti., etc. Tempo massimo 2 ore. Domande chiuse: ogni domanda corrisponde ad un punteggio

Dettagli

Linguaggi Formali e Compilatori Proff. Breveglieri, Crespi Reghizzi, Morzenti Prova scritta 1 : Domanda relativa alle esercitazioni 20/06/2011

Linguaggi Formali e Compilatori Proff. Breveglieri, Crespi Reghizzi, Morzenti Prova scritta 1 : Domanda relativa alle esercitazioni 20/06/2011 Linguaggi Formali e Compilatori Proff. Breveglieri, Crespi Reghizzi, Morzenti Prova scritta 1 : Domanda relativa alle esercitazioni 20/06/2011 COGNOME:.............................................................

Dettagli

Corso di Fondamenti di Informatica e Laboratorio

Corso di Fondamenti di Informatica e Laboratorio Corso di Fondamenti di Informatica e Laboratorio Corsi di Laurea Ingegneria Informatica (O-Z) Corsi di Laurea Ingegneria delle Telecomunicazioni - (A-Z) (ordinamento 03) A.A. 2009-2010 Prof. Giuseppe Mangioni

Dettagli

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura

Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE. Francesco Tura. F. Tura Informatica ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE Francesco Tura francesco.tura@unibo.it 1 Lo strumento dell informatico: ELABORATORE ELETTRONICO [= calcolatore = computer] Macchina multifunzionale Macchina

Dettagli

La protezione dai memory error exploit

La protezione dai memory error exploit Università degli Studi di Milano Sommario Introduzione 1 Stack Guard Terminator Canaries Random Canaries 2 3 Buffer Overflow Stack Guard Introduzione Buffer Overflow Condizione anomala. Memorizzazione

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Programmazione I e Laboratorio Corso di Laurea in Informatica A.A. 2016/2017 Calendario delle lezioni Lez. 1 Lez. 2 Lez. 3 Lez. 4 Lez. 5 Lez. 6 Lez. 7

Dettagli

1. Un array è: A. Un simbolo usato nel linguaggio C per rappresentare un numero non specificato di variabili B. Un insieme di indirizzi di memoria

1. Un array è: A. Un simbolo usato nel linguaggio C per rappresentare un numero non specificato di variabili B. Un insieme di indirizzi di memoria Esame teorico Rispondere alle domande a risposta multipla (probabilmente 10) Eventualmente 1-2 domande a risposta libera Ogni domanda ha una ed una sola risposta corretta Tempo di risposta: 60 minuti Peso:

Dettagli

STORIA E CARATTERISTICHE

STORIA E CARATTERISTICHE IL LINGUAGGIO C STORIA E CARATTERISTICHE STORIA E VERSIONI Sviluppato da Dennis Ritchie ai Bell Labs nel 1972 per realizzare il sistema operativo UNIX K&R C: 1978 (prima versione, K&R dal nome degli autori

Dettagli

MATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari

MATRICE TUNING competenze versus unità didattiche, Corso di Laurea in Informatica (classe L-31), Università degli Studi di Cagliari A: CONOSCENZA E CAPACITA DI COMPRENSIONE Conoscere e saper comprendere i fondamenti della matematica discreta (insiemi, interi, relazioni e funzioni, calcolo combinatorio) Conoscere e saper comprendere

Dettagli

Corso di Informatica A.A

Corso di Informatica A.A Corso di Informatica A.A. 2009-2010 Lezione 9 Lezione 9 1 Il linguaggio C Istruzioni di input/output Arrays La funzione printf() La funzione printf() consente di mostrare sullo standard output (normalmente

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 3: assegnamento e variabili

Fondamenti di informatica T-1 (A K) Esercitazione 3: assegnamento e variabili Fondamenti di informatica T-1 (A K) Esercitazione 3: assegnamento e variabili A.A. 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Esercitazione 3 Introduzione al calcolatore e Java Linguaggio Java,

Dettagli

Funzioni, Stack e Visibilità delle Variabili in C

Funzioni, Stack e Visibilità delle Variabili in C Funzioni, Stack e Visibilità delle Variabili in C Laboratorio di Programmazione I Corso di Laurea in Informatica A.A. 2018/2019 Argomenti del Corso Ogni lezione consta di una spiegazione assistita da slide,

Dettagli

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Lez. 5 La Programmazione. Prof. Salvatore CUOMO Lez. 5 La Programmazione Prof. Salvatore CUOMO 1 2 Programma di utilità: Bootstrap All accensione dell elaboratore (Bootsrap), parte l esecuzione del BIOS (Basic Input Output System), un programma residente

Dettagli

Convenzioni di chiamata a procedure

Convenzioni di chiamata a procedure Università degli Studi di Milano Laboratorio di Architettura degli Elaboratori II Corso di Laurea in Informatica, A.A. 2016-2017 Convenzioni di chiamata a procedure Nicola Basilico Dipartimento di Informatica

Dettagli

Calcolatori Elettronici Lezione A4 Programmazione a Moduli

Calcolatori Elettronici Lezione A4 Programmazione a Moduli Calcolatori Elettronici Lezione A4 Programmazione a Moduli Ing. Gestionale e delle Telecomunicazioni A.A. 2007/08 Gabriele Cecchetti Sommario Programmazione a moduli Programmi con linguaggi misti Tempo

Dettagli

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H

Architettura dei calcolatori e sistemi operativi. Architettura MIPS e set istruzioni Capitolo 2 P&H Architettura dei calcolatori e sistemi operativi Architettura MIPS e set istruzioni Capitolo 2 P&H Instruction Set Architecture ISA Linguaggio assemblatore e linguaggio macchina ISA processore MIPS Modello

Dettagli

Allocazione dinamica della memoria

Allocazione dinamica della memoria Università degli Studi di Milano Corso di Laurea in Informatica, A.A. 2017-2018 Allocazione dinamica della memoria Homepage del corso Turno A Nicola Basilico Dipartimento di Informatica Via Comelico 39/41-20135

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica Modulo T4 A1 Allocazione dinamica 1 Prerequisiti Programmazione elementare Programmazione ad oggetti Dati semplici e strutturati 2 1 Introduzione In molti problemi capita di non conoscere

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione Lezione 4 Chiara Braghin braghin@dti.unimi.it Dipartimento di Tecnologie dell Informazione Università degli Studi di Milano 6 Marzo 2007 Regole della grammatica di un linguaggio

Dettagli

- qualita' - ce ne sono svariate; parliamo di efficienza, correttezza e robustezza

- qualita' - ce ne sono svariate; parliamo di efficienza, correttezza e robustezza Qualita' dei programmi e test di correttezza e basta - qualita' - ce ne sono svariate; parliamo di efficienza, correttezza e robustezza - test di programmi (per valutare la correttezza) - dobbiamo prima

Dettagli

Esercizio 2: Algebra dei Puntatori e Puntatori a Puntatori

Esercizio 2: Algebra dei Puntatori e Puntatori a Puntatori Esercizio 2: Algebra dei Puntatori e Puntatori a Puntatori Salvatore Mandrà 7 Ottobre 2008 1 Esercizio L esercizio prevede l implementazione di funzioni per il prodotto di una matrice per un vettore, attraverso

Dettagli

Gestione del processore. Il modello a processi sequenziali

Gestione del processore. Il modello a processi sequenziali Gestione del processore Il modello a processi sequenziali 1 Il modello a processi sequenziali Nei computer attuali, ci sono molte attività attive contemporaneamente (sia di SO che di utente) es : stampa

Dettagli

Fasi di un Compilatore

Fasi di un Compilatore Dipartimento di Matematica e Informatica Università di Camerino Un implementazione compilativa di un linguaggio di programmazione viene realizzata tramite un programma che prende il nome di compilatore

Dettagli

Corso di Architettura (Prof. Scarano) 10/05/2002

Corso di Architettura (Prof. Scarano) 10/05/2002 Lezione 0 Il Set di Istruzioni (6) Vittorio Scarano Architettura Corso di Laurea in Informatica Università degli Studi di Salerno Le procedure Prima della chiamata di una procedura In ogni linguaggio di

Dettagli

Introduzione al linguaggio C Primi programmi

Introduzione al linguaggio C Primi programmi Introduzione al linguaggio C Primi programmi Violetta Lonati Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica

Dettagli

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti

Corso di Sicurezza Informatica. Sicurezza del software. Ing. Gianluca Caminiti Corso di Sicurezza Informatica Sicurezza del software Ing. Gianluca Caminiti Software Sicuro Privo di errori (logici) che comportino un comportamento inatteso. Tali bug possono minare la sicurezza dell

Dettagli

Informatica. Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven

Informatica. Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven Tesi di laurea in Informatica Progettazione ed implementazione di un tool per il supporto al debug nella pratica di sviluppo Test Driven Relatore Ch.mo Prof. Giuseppe Trautteur Candidato Gioacchino Del

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO IX.2017

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO IX.2017 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2016 2017 18.IX.2017 VINCENZO MARRA Indice Premessa 2 Esercizio 1 2 Lettura da file della cartella e dell

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VII.2017

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO VII.2017 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2016 2017 17.VII.2017 VINCENZO MARRA Indice Esercizio 1 2 Strutture di dati, funzioni diam, dist e centr.

Dettagli

SimpleFS - un semplice filesystem. Prova finale di Algoritmi e Principi dell Informatica. DEIB, Politecnico di Milano. Anno accademico

SimpleFS - un semplice filesystem. Prova finale di Algoritmi e Principi dell Informatica. DEIB, Politecnico di Milano. Anno accademico SimpleFS - un semplice filesystem Prova finale di Algoritmi e Principi dell Informatica DEIB, Politecnico di Milano Anno accademico 2016-17 Sommario L obiettivo è l implementazione di un semplice filesystem

Dettagli

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO IX.2014

APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO IX.2014 APPELLO SCRITTO DI PROGRAMMAZIONE 1 CORSO DI LAUREA IN MATEMATICA UNIVERSITÀ DEGLI STUDI DI MILANO 2013 2014 8.IX.2014 VINCENZO MARRA Indice Esercizio 1 1 Leggere una stringa e calcolarne la lunghezza.

Dettagli

Calcolo numerico e programmazione Programmazione

Calcolo numerico e programmazione Programmazione Calcolo numerico e programmazione Programmazione Tullio Facchinetti 11 maggio 2012 14:05 http://robot.unipv.it/toolleeo La programmazione la programmazione è l insieme delle

Dettagli

Linguaggi di Programmazione

Linguaggi di Programmazione Linguaggi di Programmazione E una notazione con cui e possibile descrivere gli algoritmi. Programma: e la rappresentazione di un algoritmo in un particolare linguaggio di programmazione. In generale, ogni

Dettagli

Fortran in pillole : prima parte

Fortran in pillole : prima parte Fortran in pillole : prima parte Annamaria Mazzia Dipartimento di Metodi e Modelli Matematici per le Scienze Applicate Corso di Metodi Numerici per l Ingegneria Introduzione al Fortran Un libro consigliato

Dettagli

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo

19 - Eccezioni. Programmazione e analisi di dati Modulo A: Programmazione in Java. Paolo Milazzo 19 - Eccezioni Programmazione e analisi di dati Modulo A: Programmazione in Java Paolo Milazzo Dipartimento di Informatica, Università di Pisa http://www.di.unipi.it/ milazzo milazzo di.unipi.it Corso

Dettagli

Tipi di programmazione. Varietà dei linguaggi. Cos è un programma di calcolo. (Vaghi) Elementi di programmazione dei calcolatori elettronici e altro.

Tipi di programmazione. Varietà dei linguaggi. Cos è un programma di calcolo. (Vaghi) Elementi di programmazione dei calcolatori elettronici e altro. Tipi di programmazione (Vaghi) Elementi di programmazione dei calcolatori elettronici e altro. Procedural C, Pascal, Basic, Fortran Functional Lisp, ML Object-oriented C++, Java, Smalltalk Rule-based (or

Dettagli

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA

PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA PROGRAMMAZIONE DISCIPLINARE PROGRAMMAZIONE DISCIPLINARE LICEO SCIENTIFICO OPZIONE SCIENZE APPLICATE INFORMATICA CLASSE QUINTA 1. Competenze: le specifiche competenze di base disciplinari previste dalla

Dettagli

Assembly (3): le procedure

Assembly (3): le procedure Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:

Dettagli

INTRODUZIONE ALLA PROGRAMMAZIONE. Cosimo Laneve

INTRODUZIONE ALLA PROGRAMMAZIONE. Cosimo Laneve INTRODUZIONE ALLA PROGRAMMAZIONE Cosimo Laneve 1 argomenti (Capitolo 1 Savitch) 1. sistemi di calcolo 2. programmazione e problem solving 3. introduzione a C++ 4. testing e debugging 2 sistema di calcolo

Dettagli

Informatica 1. 4 Programmazione e Sviluppo del software. ing. Luigi Puzone

Informatica 1. 4 Programmazione e Sviluppo del software. ing. Luigi Puzone Informatica 1 4 Programmazione e Sviluppo del software ing. Luigi Puzone Software Software, l insieme di programmi che consentono alla macchina di funzionare e svolgono le funzioni richieste dall utente

Dettagli

LINUX: struttura generale

LINUX: struttura generale LINUX: struttura generale User Interface The layers of a UNIX system. 1 Processi in LINUX Ogni processo nasce con un solo thread Un processo gira in modalità utente; quando effettua una system call passa

Dettagli

ISTITUZIONE SCOLASTICA DI ISTRUZIONE TECNICA LYCÉE TECHNIQUE PROGRAMMAZIONE EDUCATIVA E DIDATTICA ANNUALE PER COMPETENZE A.S.

ISTITUZIONE SCOLASTICA DI ISTRUZIONE TECNICA LYCÉE TECHNIQUE PROGRAMMAZIONE EDUCATIVA E DIDATTICA ANNUALE PER COMPETENZE A.S. ISTITUZIONE SCOLASTICA DI ISTRUZIONE TECNICA LYCÉE TECHNIQUE PROGRAMMAZIONE EDUCATIVA E DIDATTICA ANNUALE PER COMPETENZE A.S. 2018/2019 Materia Classe Informatica 3 IT Competenze (Linee guida+competenze

Dettagli

ciclo di vita della soluzione (informatica) di un problema

ciclo di vita della soluzione (informatica) di un problema Università di Roma Tor Vergata L2-1 ciclo di vita della soluzione (informatica) di un problema errori run-time errori sintattici codice editor codice C++ compilatore esegui eseguibile OK risultati scorretti

Dettagli

Dal linguaggio macchina al linguaggio C

Dal linguaggio macchina al linguaggio C FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Università degli Studi di Udine Dal linguaggio macchina al linguaggio C Programma sorgente, compilatore, file oggetto, file eseguibile programma sorgente

Dettagli

Primi programmi in C

Primi programmi in C Università degli studi di Milano Dipartimento di Scienze dell Informazione Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica In breve Uso del compilatore gcc Struttura di un programma

Dettagli

Sistemi Operativi: Concetti Introduttivi

Sistemi Operativi: Concetti Introduttivi Sistemi Operativi: Concetti Introduttivi 1.1 Principali funzioni di un Sistema Operativo 1.2 Cenni Storici 1.3 Classificazione dei Sistemi Operativi 1.4 Struttura dei Sistemi Operativi 1.5 Processi e gestione

Dettagli

Cognome:, Nome: Matricola:

Cognome:, Nome: Matricola: I Prova Intercorso Fondamenti di Informatica e Programmazione, A.A. 2017/18 Docente: R. Pizzolante Traccia C Cognome:, Nome: Matricola: Spazio riservato alla commissione esaminatrice 1 2 3 4 5 6 7 8 9

Dettagli

Laboratorio reti AA 2008/2009. Dott. Matteo Roffilli Ricevimento in ufficio dopo la lezione

Laboratorio reti AA 2008/2009. Dott. Matteo Roffilli Ricevimento in ufficio dopo la lezione Laboratorio reti AA 2008/2009 Dott. Matteo Roffilli roffilli@csr.unibo.it Ricevimento in ufficio dopo la lezione 1 Laboratorio reti AA 2008/2009 Per esercitarvi fate SSH su: alfa.csr.unibo.it si-tux00.csr.unibo.it.

Dettagli

Assembly (3): le procedure

Assembly (3): le procedure Architettura degli Elaboratori e delle Reti Lezione 13 Assembly (3): le procedure Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 13 1/23 Chiamata

Dettagli

Classe III A. A.s Programma di Informatica 5 ore settimanali (3 laboratorio) Docenti. Prof. Alberto Ferrari Prof.

Classe III A. A.s Programma di Informatica 5 ore settimanali (3 laboratorio) Docenti. Prof. Alberto Ferrari Prof. Classe III A A.s. 2011 2012 Programma di Informatica 5 ore settimanali (3 laboratorio) Docenti Prof. Alberto Ferrari Prof. Alberto Paganuzzi Moduli A. Informazione e dati digitali B. L'informatica come

Dettagli

Il principio di induzione. La Ricorsione. Il fattoriale: iterativo. Il fattoriale: ricorsivo. P (0) P (n) P (n + 1) per ogni n

Il principio di induzione. La Ricorsione. Il fattoriale: iterativo. Il fattoriale: ricorsivo. P (0) P (n) P (n + 1) per ogni n Università Roma La Sapienza Corsi di Laurea Informatica/Tecnologie Informatiche La Ricorsione Prof. Stefano Guerrini guerrini@di.uniroma1.it Programmazione II (can. P-Z) A.A. 2005-06 Il principio di induzione

Dettagli

STRUMENTI PER LA MISURA SU CODICE ACTIONSCRIPT SVILUPPATI CON JAVACC

STRUMENTI PER LA MISURA SU CODICE ACTIONSCRIPT SVILUPPATI CON JAVACC tesi di laurea STRUMENTI PER LA MISURA SU CODICE ACTIONSCRIPT SVILUPPATI CON JAVACC Anno Accademico 2005/2006 relatore Ch.mo prof. Porfirio Tramontana candidato Matteo Luongo Matr. 534/802 IL REVERSE ENGINEERING

Dettagli

Introduzione al linguaggio C Puntatori

Introduzione al linguaggio C Puntatori Introduzione al linguaggio C Puntatori Violetta Lonati Università degli studi di Milano Dipartimento di Informatica Laboratorio di algoritmi e strutture dati Corso di laurea in Informatica 19 ottobre 2017

Dettagli

L AMBIENTE CODE BLOCKS E L IO

L AMBIENTE CODE BLOCKS E L IO L AMBIENTE CODE BLOCKS E L IO Il primo programma in C++ #include using namespace std; main() { cout

Dettagli

Assembly IV Le procedure

Assembly IV Le procedure rchitettura degli Elaboratori e delle Reti Lezione 14 ssembly IV Le procedure Proff.. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano (Patterson-Hennessy:

Dettagli

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05

Strutture dati. Il che cosa e il come. F. Damiani - Alg. & Lab. 04/05 Strutture dati Il che cosa e il come Il che cosa ed il come Struttura dati: descrive come sono organizzati i dati e come sono realizzate le operazioni su di essi (cioe come si accede ai dati) Specifica

Dettagli

15 April LABORATORIO 04 PROCEDURE STACK. CHIAMATA A PROCEDURE I. Frosio

15 April LABORATORIO 04 PROCEDURE STACK. CHIAMATA A PROCEDURE I. Frosio 15 April 2011 05 LABORATORIO 04 PROCEDURE STACK CHIAMATA A PROCEDURE I. Frosio 1 SOMMARIO Procedure Stack Chiamata a procedure 2 PERCHÈ LE PROCEDURE? 15 April 2011 Main Proc3 Proc2 Proc1 Programmazione

Dettagli

Università degli Studi di Ferrara

Università degli Studi di Ferrara Università degli Studi di Ferrara Corso di Laurea in Matematica - A.A. 2017-2018 Programmazione Lezione 4 il Linguaggio C Docente: Michele Ferrari - michele.ferrari@unife.it Nelle lezioni precedenti Problemi

Dettagli

Corso di Informatica

Corso di Informatica Corso di Informatica CdL in Matematica e CdL in Matematica per le Applicazioni Prof. G. Nicosia Dipartimento di Matematica e Informatica Facoltà di Scienze MM.FF.NN. Università degli Studi di Catania A.

Dettagli

L ambiente di simulazione SPIM

L ambiente di simulazione SPIM Architettura degli Elaboratori e delle Reti Lezione 14 L ambiente di simulazione SPIM Proff. A. Borghese, F. Pedersini Dipartimento di Scienze dell Informazione Università degli Studi di Milano L 14 1/20

Dettagli

La programmazione in linguaggio C

La programmazione in linguaggio C FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Ing. DAVIDE PIERATTONI Facoltà di Ingegneria Università degli Studi di Udine La programmazione in linguaggio C 2001 Pier Luca Montessoro - Davide Pierattoni

Dettagli

Esercizi sui file. Esercizio 1. Soluzione. Domenico Cotroneo Dipartimento di Informatica e Sistemistica

Esercizi sui file. Esercizio 1. Soluzione. Domenico Cotroneo Dipartimento di Informatica e Sistemistica Esercizi sui file Domenico Cotroneo Dipartimento di Informatica e Sistemistica Esercizio 1 Si implementi un programma in C concorrente nel quale siano presenti tre processi distinti: un processo P1 che

Dettagli

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1

Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande / VERSIONE 1 Informatica/ Ing. Meccanica/ Ing. Edile/ Prof. Verdicchio/ 02/04/2014/ Appello straordinario/ Foglio delle domande/ VERSIONE 1 1) Nell uso dei puntatori in C++ la scrittura -> vuol dire: a) riferimento

Dettagli

Elementi di programmazione

Elementi di programmazione Fondamenti di Informatica per la Sicurezza a.a. 2003/04 Elementi di programmazione Stefano Ferrari Università degli Studi di Milano Dipartimento di Tecnologie dell Informazione Stefano Ferrari Università

Dettagli

Programmazione C: Esercizi su vettori e funzioni. Titolo presentazione. sottotitolo. Milano, XX mese 20XX

Programmazione C: Esercizi su vettori e funzioni. Titolo presentazione. sottotitolo. Milano, XX mese 20XX Titolo presentazione Programmazione C: sottotitolo Esercizi su vettori e funzioni Milano, XX mese 20XX Informatica ed Elementi di Informatica Medica Agenda Richiami su vettori e funzioni Esercizi su vettori

Dettagli

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 5 Ing. Gian Enrico Conti Dott. Michele Zanella

INFORMATICA A. Titolo presentazione sottotitolo. Laboratorio n 5 Ing. Gian Enrico Conti Dott. Michele Zanella INFORMATICA A Titolo presentazione sottotitolo A.A. 2017-18 Milano, XX mese 20XX Laboratorio n 5 Ing. Gian Enrico Conti Dott. Michele Zanella Info Logistiche (cont d) Calendario laboratori Data Orario

Dettagli

Sviluppo di strumenti grafici su una Web Application per il data mining

Sviluppo di strumenti grafici su una Web Application per il data mining Sviluppo di strumenti grafici su una Web Application per il data mining Università degli studi di Napoli Federico II FACOLTÀ DI SCIENZE MATEMATICHE, FISICHE E NATURALI Corso di Laurea in Informatica 4

Dettagli

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso

Università degli studi di Roma Tor Vergata Ingegneria Medica Informatica I Programma del Corso Obiettivi Di seguito vengono riportate una serie di domande che possono essere poste durante la prova formale del corso. Le seguenti domande non sono da ritenersi esaustive ma esemplificative. 1. Architettura

Dettagli

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java

Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java Fondamenti di informatica T-1 (A K) Esercitazione 2 Basi del linguaggio Java AA 2018/2019 Tutor Lorenzo Rosa lorenzo.rosa@unibo.it 2 Programma Introduzione al calcolatore e Java Linguaggio Java, basi e

Dettagli

IDE DevC

IDE DevC IDE DevC++ 4.9.8.1.0 Manuale utente Data ultima revisione: 22/01/2005 Fondamenti di informatica Università Facoltà Corso di laurea Università degli Studi di Modena e Reggio Emilia Facoltà di Ingegneria

Dettagli

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008

Sistemi Operativi 1. Lezione IV: Processi e thread. Mattia Monga. 11 marzo 2008 1 Dip. di Informatica e Comunicazione Università degli Studi di Milano, Italia mattia.monga@unimi.it 11 marzo 2008 1 c 2008 M. Monga. Creative Commons Attribuzione-Condividi allo stesso modo 2.5 Italia

Dettagli

Programmazione Orientata agli Oggetti in Linguaggio Java

Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Orientata agli Oggetti in Linguaggio Java Programmazione Grafica: Conclusioni versione 1.0 Questo lavoro è concesso in uso secondo i termini di una licenza Creative Commons (vedi ultima

Dettagli