FONDAMENTI DI INFORMATICA
|
|
|
- Filippo Pisani
- 9 anni fa
- Просмотров:
Транскрипт
1 Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia A.A Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1
2 Fondamenti di Informatica -Obiettivi L obiettivo del corso e' lo studio delle metodologie di base della programmazione dei calcolatori e della loro applicazione nello sviluppo di moduli software in Java che utilizzino tipi di dati semplici ed array. Il corso introduce alle tematiche relative alla programmazione ad oggetti. Crediti : 4 CFU. Fondamenti di Informatica - D. Talia - UNICAL 2
3 Fondamenti di Informatica - Orario Periodo: 13 Gennaio 15 Marzo. Ogni settimana 3 ore di lezione e 2 di esercitazione. In totale 25 ore di lezione e 12 ore di esercitazioni. Ore aggiuntive di tutoraggio (opzionali) Ricevimento : Martedi 17:30-19:30 Fondamenti di Informatica - D. Talia - UNICAL 3
4 Fondamenti di Informatica - Programma Introduzione alla programmazione e all organizzazione dei calcolatori Risoluzione algoritmica dei problemi. Correttezza ed altre proprietà degli algoritmi. Algoritmi e programmi. Livelli di astrazione e linguaggi. Codifica binaria. La rappresentazione dell'informazione all'interno dei calcolatori: caratteri, numeri naturali, interi, reali. Algebra di Boole. Fondamenti di Informatica - D. Talia - UNICAL 4
5 Fondamenti di Informatica - Programma Programmazione su tipi semplici Introduzione alla programmazione orientata agli oggetti. Codifica di algoritmi in programmi Java. Struttura di un programma: costanti, variabili, tipi, classi, oggetti, costruttori. Istruzioni semplici e tipi predefiniti. Compatibilità di tipo nella assegnazione. Operazioni di ingresso/uscita. Istruzioni per il controllo del flusso di elaborazione. Sviluppo incrementale di programmi. Fondamenti di Informatica - D. Talia - UNICAL 5
6 Fondamenti di Informatica - Programma Metodi e programmazione con array Concetto di funzione e procedura. Metodi in Java. Esecuzione di metodi e passaggio dei parametri. Il costruttore di tipo array. Tipi array monodimensionali, Tipi array multidimensionali, manipolazione di array. Gestione di vettori e matrici. Fondamenti di Informatica - D. Talia - UNICAL 6
7 Fondamenti di Informatica - Programma Tecniche di programmazione Proprietà delle classi e degli oggetti. Semplici algoritmi di ricerca. Tecniche di ordinamento di vettori. CENNI di Gerarchia di classi. Classi per la gestione di file. Classi per la gestione di vettori e stringhe. Fondamenti di Informatica - D. Talia - UNICAL 7
8 Fondamenti di Informatica Materiale didattico Ludici delle lezioni e programmi svolti nelle esercitazioni. Sito web : con i lucidi in formato PDF. Materiale disponibile anche su icampus ( CD-ROM L ambiente JDK, esempi di programmazione, libreria di input e altro materiale. Fondamenti di Informatica - D. Talia - UNICAL 8
9 Fondamenti di Informatica Testi Libri su Java M. Bertacca, A. Guidi, Introduzione a Java, McGraw-Hill. K. Arnold, J. Gosling, Java Didattica e Programmazione, Addison- Wesley. J. Hubbard, Programmare in Java, McGraw-Hill Libri Italia. L. Lemay, R. Cadanhead, Java 2 Guida Completa, Apogeo. C.S. Horstmann, Concetti di Informatica e Fondamenti di Java 2, Apogeo. C.T. Wu, Introduzione alla Programmazione a Oggetti in JAVA, McGraw-Hill, Fondamenti di Informatica - D. Talia - UNICAL 9
10 Fondamenti di Informatica Libri Consultazione e approfondimenti D. Sciuto, ed altri, Introduzione ai sistemi informatici, McGraw- Hill. S. Ceri, D. Mandrioli, L. Sbattella: Istituzioni di informatica, McGraw-Hill. S. Ceri, D. Mandrioli, L. Sbattella: Informatica: arte e mestiere, McGraw-Hill. Fondamenti di Informatica - D. Talia - UNICAL 10
11 Fondamenti di Informatica Modalità di esame Prerequisiti : l esame può essere sostenuto da chi ha superato l esame di Introduzione all Informatica. L esame prevede lo svolgimento di Una prova scritta di programmazione Java in aula con possibilità del voto massimo e Una prova orale facoltativa sugli argomenti del programma con la possibilità di miglioramento del voto dello scritto. La prova orale è obbligatoria per chi riporta un voto allo scritto compreso nell'intervallo chiuso (15,17). Fondamenti di Informatica - D. Talia - UNICAL 11
12 Richiami di concetti di base: Calcolatore Calcolatore Elettronico - Computer: Strumento per la rappresentazione e l'elaborazione dell'informazione oppure Esecutore di algoritmi. Il Calcolatore è uno strumento in grado di eseguire insiemi di azioni ( mosse ) elementari le azioni vengono eseguite su oggetti (dati) per produrre altri oggetti (risultati) l esecuzione di azioni viene richiesta all elaboratore attraverso frasi scritte in un qualche linguaggio (istruzioni). Fondamenti di Informatica - D. Talia - UNICAL 12
13 Richiami di concetti di base: Algoritmo Concetto di Algoritmo Sequenza finita di passi che portano alla realizzazione di un compito. Proprietà fondamentali Eseguibilità: ogni azione deve essere eseguibile da parte dell esecutore dell algoritmo in un tempo finito; Non-ambiguità: ogni azione deve essere univocamente interpretabile dall'esecutore; Finitezza: il numero totale di azioni da eseguire, per ogni insieme di dati di ingresso, deve essere finito. Fondamenti di Informatica - D. Talia - UNICAL 13
14 Richiami di concetti di base: Algoritmo Quindi un algoritmo deve: Essere applicabile a qualsiasi insieme di dati di ingresso appartenenti al dominio di definizione dell algoritmo; Essere costituito da operazioni appartenenti ad un determinato insieme di operazioni fondamentali; Essere costituito da regole non ambigue, cioè interpretabili in modo univoco qualunque sia l esecutore (persona o macchina ) che le legge. Altre proprietà desiderabili generalità, determinismo, efficienza. Fondamenti di Informatica - D. Talia - UNICAL 14
15 Programmi e Programmazione Programmazione È l'attività con cui definiscono le operazioni che servono a predisporre l'elaboratore ad eseguire un particolare insieme di azioni su particolari dati, allo scopo di risolvere un problema. Programma Sequenza di istruzioni di un linguaggio di programmazione comprensibile al calcolatore che realizzano un compito o risolvono un problema. Fondamenti di Informatica - D. Talia - UNICAL 15
16 Cosa è la Programmazione La programmazione è l attività di progettare e realizzare una programma, cioè definire le istruzioni che indicano ad un calcolatore i passi da eseguire per risolvere un problema. Usare un computer non necessariamente richiede una attività di programmazione. Tuttavia imparare a programmare un computer è una delle attività principali in informatica ed è utile a progettare e realizzare soluzioni a problemi in numerosi settori. Fondamenti di Informatica - D. Talia - UNICAL 16
17 Programmi e Programmazione METODO DI RISOLUZIONE LINGUAGGIO Fondamenti di Informatica - D. Talia - UNICAL 17
18 Programmi e Programmazione PROGRAMMA : È la descrizione di un algoritmo in un particolare linguaggio di programmazione. Quali parole chiave? Quali dati? Quali operazioni elementari? Quali meccanismi di combinazione? Un linguaggio di programmazione è una notazione formale per descrivere algoritmi che è comprensibile ad un calcolatore. Fondamenti di Informatica - D. Talia - UNICAL 18
19 Programmi e Programmazione SINTASSI e SEMANTICA Ogni linguaggio è caratterizzato da: sintassi: l insieme di regole formali per la scrittura di programmi in quel linguaggio, che dettano le modalità per costruire frasi corrette nel linguaggio stesso. semantica: l insieme dei significati da attribuire alle frasi (sintatticamente corrette) costruite nel linguaggio. Una frase può essere sintatticamente corretta e tuttavia non aver alcun significato! Lo stesso può accadere per una istruzione. Fondamenti di Informatica - D. Talia - UNICAL 19
20 Programmi e Programmazione Tipi di Linguaggi di Programmazione Linguaggi macchina e linguaggi assembler ogni azione è indicata in codice binario o con operazioni molto semplici e rudimentali : ADD X, Y oppure STORE A Linguaggi imperativi (PASCAL, FORTRAN, C, BASIC, ) le azioni da compiere sono indicate in una sequenza che partendo dai dati si completa calcolando i risultati : if a > 0 print ( valore positivo ) else print ( valore negativo); Linguaggi dichiarativi (logici - PROLOG, funzionali - LISP) un programma è la definizione di una funzione o l elenco delle regole logiche che portano a verificare una condizione. Fondamenti di Informatica - D. Talia - UNICAL 20
21 Programmi e Programmazione Linguaggi orientati agli oggetti (C++, Java, Smalltalk,.) Sono basati sul concetto di oggetto software che rappresenta un oggetto del mondo reale (un numero, un archivio, un testo, una matrice). I dati sono rappresentati come oggetti e le azioni da compiere come operazioni da effettuare sugli oggetti. Di solito sono realizzati come estensione dei linguaggi imperativi. Un programma modella un problema reale come una collezione di oggetti software che interagiscono. Fondamenti di Informatica - D. Talia - UNICAL 21
22 Programmi e Programmazione Per far eseguire un programma ad un calcolatore occorre tradurlo dal linguaggio usato nel linguaggio macchina. La traduzione avviene secondo due modalità principali: Compilazione Il compilatore controlla che tutte le istruzioni del programma siano corrette e alla fine di questo controllo se non ci sono errori genera il programma eseguibile che verrà eseguito dall esecutore. Interpretazione L interprete controlla una per volta ogni singola istruzione del programma e se questa è corretta la traduce e la esegue. Al primo errore termina l esecuzione del programma. Fondamenti di Informatica - D. Talia - UNICAL 22
FONDAMENTI DI INFORMATICA
Fondamenti di Informatica FONDAMENTI DI INFORMATICA Domenico Talia [email protected] A.A. 2002-2003 Facoltà di Ingegneria UNICAL Fondamenti di Informatica - D. Talia - UNICAL 1 Fondamenti di Informatica
FONDAMENTI DI INFORMATICA
Fondamenti di Informatica FONDAMENTI DI INFORMATICA Prof. Angela Bonifati [email protected] A.A. 2005-2006 Facoltà di Ingegneria UNICAL 1 Fondamenti di Informatica -Obiettivi L obiettivo del corso e'
CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1
CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1 Lezione 1 (Introduzione e Definizioni) Docenti Docente: Prof. Michele Colajanni Lezioni (Aula IV): martedì 10:00-12:45 Esercitazioni (Laboratorio): mercoledì
LINGUAGGI DI ALTO LIVELLO
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware Linguaggi di alto livello Barriera di astrazione C Fortran Modula-2 Cobol Algol Basic Ada
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
C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI
Linguaggi di alto livello Barriera di astrazione C Fortran Cobol Modula-2 Basic Pascal Algol Ada Lisp Smalltalk Simula67 Scheme C++ Prolog ML AN - 1995 Linguaggi di alto livello IMPERATIVI C Fortran Modula-2
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
Programmazione C Massimo Callisto De Donato
Università degli studi di Camerino Scuola di scienze e tecnologia - Sezione Informatica Programmazione C Massimo Callisto De Donato [email protected] www.cs.unicam.it/massimo.callisto LEZIONE
LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware
LINGUAGGI DI ALTO LIVELLO Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware 1 LINGUAGGI DI ALTO LIVELLO Barriera di astrazione Fortran Cobol Basic Pascal Python C
Linguaggi, Traduttori e le Basi della Programmazione
Corso di Laurea in Ingegneria Civile Politecnico di Bari Sede di Foggia Fondamenti di Informatica Anno Accademico 2011/2012 docente: Prof. Ing. Michele Salvemini Sommario Il Linguaggio I Linguaggi di Linguaggi
Cosa è l Informatica?
Cosa è l Informatica? Scienza degli elaboratori elettronici (Computer Science) Scienza dell informazione Scienza della rappresentazione, memorizzazione, elaborazione e trasmissione dell informazione Elaboratore
DAGLI ALGORITMI AI LINGUAGGI. Linguaggi di Programmazione
DAGLI ALGORITMI AI LINGUAGGI 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
Linguaggi di Programmazione
Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1
Lez. 8 La Programmazione Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1 Dott. Pasquale De Michele Dott. Raffaele Farina Dipartimento di Matematica e Applicazioni Università di Napoli
FONDAMENTI DI INFORMATICA - canale 1
DIPARTIMENTO DI INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICA Corso di laurea in Ingegneria informatica Anno accademico 2016/2017-1 anno FONDAMENTI DI INFORMATICA - canale 1 ING-INF/05-9 CFU - Insegnamento
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à
Programmazione. Dipartimento di Matematica. Ing. Cristiano Gregnanin. 29 febbraio Corso di laurea in Matematica
Programmazione Dipartimento di Matematica Ing. Cristiano Gregnanin Corso di laurea in Matematica 29 febbraio 2016 1 / 28 Linguaggi 2 / 28 Linguaggi 3 / 28 Linguaggi di alto livello Si basano su una macchina
TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE
TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE Riccardo Dondi Dipartimento di Scienze dei linguaggi, della comunicazione e degli studi culturali Università degli Studi di Bergamo Informazione sul corso
CORSO DI FONDAMENTI DI INFORMATICA
Università degli Studi di Bologna Facoltà di Ingegneria CORSO DI FONDAMENTI DI INFORMATICA Ing. Civile/Edile Anno Accademico 1999/2000 http://www-lia.deis.unibo.it/courses/fondcived Prof. Paola Mello Tel.
Docente: Prof. Marco Patella Tutor: Stefano Pio Zingaro
Università di Bologna Facoltà di Ingegneria C.d.L. in Ing. Gestionale Fondamenti di Informatica T-1 (A-K) A.A. 2016/17 Docente: Prof. Marco Patella Tutor: Stefano Pio Zingaro 1 Obiettivi del corso Il corso
ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE)
1 LEZIONE 9 ELABORAZIONE DELLE INFORMAZIONI (ALGORITMI E LINGUAGGI DI PROGRAMMAZIONE) Laboratorio di Informatica per l Educazione A. A. 2014/2015 IN SINTESI (ELABORAZIONE) Con i COMPUTER, le macchine diventano
ALGORITMI: PROPRIETÀ FONDAMENTALI
ALGORITMI: PROPRIETÀ FONDAMENTALI Non si può risolvere un problema senza prima fissare un insieme di azioni, i di mosse elementari possibili per l'esecutore. Bisogna conoscerne le caratteristiche, le mosse
Algoritmi e Programmi
Algoritmi e Programmi Algoritmi e Programmi Le azioni che si compiono ogni giorno sono finalizzate alla risoluzione di problemi. Problema di elaborazione Insieme dati di partenza Risultato ricerca Algoritmi
Algoritmi e Strutture Dati
Introduzione al corso di Algoritmi e Strutture Dati Luigi Pontieri Il nome del corso: Algoritmi e Strutture Dati Algoritmo: metodo per la risoluzione di problemi di elaborazione di informazioni, espresso
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
Programma del corso. Elementi di Programmazione. Introduzione agli algoritmi. Rappresentazione delle Informazioni. Architettura del calcolatore
Programma del corso Introduzione agli algoritmi Rappresentazione delle Informazioni Architettura del calcolatore Reti di Calcolatori Elementi di Programmazione Algoritmi e programmi Algoritmo Sequenza
Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco
Università di Bologna Facoltà di Ingegneria C.d.L. in Ing. Gestionale Fondamenti di Informatica T-1 (A-K) A.A. 2015/16 Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco 1 Obiettivi del corso Il corso
Domenico Talia. Corso di Laurea in Ingegneria Informatica. Facoltà di Ingegneria A.A UNICAL. D. Talia SISTEMI DISTRIBUITI - UNICAL 1
Corso di Laurea in Ingegneria Informatica SISTEMI DISTRIBUITI Domenico Talia Facoltà di Ingegneria UNICAL A.A. 2006-2007 D. Talia SISTEMI DISTRIBUITI - UNICAL 1 Sistemi Distribuiti - Obiettivi Gli obiettivi
Corso di. Fondamenti di Informatica T
Università degli Studi di Bologna Facoltà di Ingegneria Corso di http://lia.deis.unibo.it/courses/fondt-1011-elt Corso di Laurea in Ingegneria Elettrica Prof. Rebecca Montanari Anno accademico 2010/2011
Corso di Fondamenti di Informatica e Laboratorio T-AB
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Fondamenti di Informatica e Laboratorio T-AB Corso di Laurea in Ingegneria Elettronica e Telecomunicazioni e Ingegneria dell Automazione
Il linguaggio di programmazione Python
Università Roma Tre Dipartimento di Matematica e Fisica Percorso Abilitante Speciale Classe A048 Matematica Applicata Corso di Informatica Il linguaggio di programmazione Python Marco Liverani ([email protected])
Fondamenti di Informatica T1"
Università degli Studi di Bologna Facoltà di Ingegneria" Fondamenti di Informatica T1" Corso di Laurea in Ingegneria! Elettrica e Automazione! Prof. Michela Milano" Anno accademico 2012/2013 CONTENUTI"
Fondamenti di Informatica. Proff. B.Buttarazzi & A.D Ambrogio A.A. 2011/2012
Fondamenti di Informatica Proff. B.Buttarazzi & A.D Ambrogio A.A. 2011/2012 Sommario Contenuti del Corso Obiettivi Riferimenti Regole del Corso Materiale Didattico Scheduling Esami Introduzione al Corso
Informatica 3. LEZIONE 1: Introduzione. Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di programmazione
Informatica 3 LEZIONE 1: Introduzione Modulo 1: Introduzione al corso Modulo 2: Introduzione ai linguaggi di Informatica 3 Lezione 1- Modulo 1 Introduzione al corso Introduzione Corso di Informatica 3
FONDAMENTI DI INFORMATICA
Fondamenti di Informatica FONDAMENTI DI INFORMATICA Fondamenti di Informatica -Obiettivi L obiettivo del corso e' lo studio delle metodologie di base della programmazione dei calcolatori e della loro applicazione
Corso di Laurea in Ingegneria Informatica (L8) Anno Accademico 2015/2016 FONDAMENTI DI INFORMATICA
Dipartimento di Ingegneria Elettrica, Elettronica e Informatica Corso di Laurea in Ingegneria Informatica (L8) Anno Accademico 2015/2016 FONDAMENTI DI INFORMATICA Docente titolare dell insegnamento: Proff.
Concetti Introduttivi. Il Computer
Concetti Introduttivi Il Computer Introduzione Informazione Notizia, dato o elemento che consente di avere conoscenza più o meno esatta di fatti, situazioni, modi di essere Messaggio Tutto ciò che porta
Elementi di Informatica e Programmazione
Elementi di Informatica e Programmazione Introduzione Corsi di Laurea in: Ingegneria Civile Ingegneria per l Ambiente e il Territorio Università degli Studi di Brescia Docente: Daniela Fogli Informazioni
Introduzione alla programmazione
Introduzione alla programmazione Risolvere un problema Per risolvere un problema si procede innanzitutto all individuazione Delle informazioni, dei dati noti Dei risultati desiderati Il secondo passo consiste
Corso di Fondamenti di Informatica e Laboratorio ato o T-AB
Università degli Studi di Bologna Facoltà di Ingegneria Corso di Fondamenti di Informatica e Laboratorio ato o T-AB Corso di Laurea in Ingegneria Elettronica e Telecomunicazioni Prof. Michela Milano Prof.
Linguaggi di programmazione
Parte 2 Linguaggi di programmazione Livello di Astrazione per la Codifica di un Algoritmo Si può risolvere un problema senza prima fissare un insieme di azioni, di mosse elementari possibili per l elaboratore?
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
I Linguaggi di Programmazione
I Linguaggi di Programmazione 1 Linguaggio naturale e linguaggio macchina La comunicazione uomo-macchina avviene attraverso formalismi che assumono la forma di un linguaggio. Caratteristiche del Linguaggio
ELEMENTI DI INFORMATICA L. Ing. Claudia Chiusoli
ELEMENTI DI INFORMATICA L Ing. Claudia Chiusoli Materiale Lucidi delle lezioni Date degli appelli Esempi di Testi di esame Informazioni e contatti http://www.lia.deis.unibo.it/courses/ Programma del corso
Introduzione alla programmazione strutturata
FONDAMENTI DI INFORMATICA Prof. PIER LUCA MONTESSORO Prof. ELIO TOPPANO Facoltà di Ingegneria Università degli Studi di Udine Introduzione alla programmazione strutturata 2001 Pier Luca Montessoro, Elio
Il Software programmabili programma algoritmo
Il Software La proprietà fondamentale dei calcolatori e` quella di essere programmabili cioè in grado di svolgere compiti diversi a seconda delle istruzioni fornite dall utente mediante un programma, ossia
