Ingegneria Medica Informatica I Programma del Corso Obiettivi

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 dei sistemi di elaborazione
2. Architettura a livelli e astrazioni funzionali
3. Struttura della CPU
4. Differenze e idee alla base del tecniche del parallelismo, pipelining e unità
funzionali multiple
5. Esercizi sulla correzione degli errori
6. Spiegare i concetti di Classe/ oggetto /metodo / attributo.
7. Algoritmi di ordinamento (SelectionSort, InsertionSort, Bubblesort, Mergesort,
Quicksort)
8. Differenze tra Accesso ai file in modalità sequenziale o casuale e tra file binari e
testuali.
Programmazione java:
9. Dichiarazione di una variabile
10.Dichiarazione di un array
11.Definizione di una classe
12.Compilazione di una classe tramite riga di comando o tramite Bluej
13.Scrittura di un metodo per la stampa di un array
14.Scrittura di un metodo per il confronto tra due array
15. Scrittura del metodo main per l’input da tastiera tramite la classe scanner
16.Esempio conversione esplicita tra due tipi di dato per cui è prevista
17.Dato un programma già scritto trovare l’errore e correggerlo
18.Data una classe che implementa un algoritmo scrivere la classe mail che la
utilizza secondo l’obiettivo specificato
Università degli studi di Roma “Tor Vergata”
Ingegneria Medica
Informatica I
Programma del Corso
In riferimento al libro adottato Concetti di Informatica e Fondamenti di Java
Cay. S Horstmann:
Capitolo 1 - Introduzione
Che cos'e' la programmazione?
L'anatomia di un computer
Tradurre in codice macchina programmi leggibili dalle persone
Il linguaggio di programmazione Java
Prendere confidenza con il computer
Compilare un semplice programma
Errori
Il processo di compilazione
Capitolo 2 - Utilizzare Oggetti
Tipi e variabili
L’operatore di Assegnazione
Oggetti classi e metodi
Parametri e valori restituiti dei metodi
Tipi numerici
Costruire Oggetti
Metodi d’accesso e metodi modificatori
Riferimenti a oggetti
Capitolo 3 – Realizzare Classi
Scatole nere
Progettare l’interfaccia pubblica di una classe
Realizzare costruttori e metodi
Parametri impliciti ed espliciti dei metodi
Capitolo 4 - Tipi di dati fondamentali
Tipi di numeri
Assegnazioni
Costanti
Conversione dei tipi di dati
Invocare metodi statici
Stringhe
Leggere dati in ingresso
Caratteri
Capitolo 5 - Decisioni
L'enunciato if
Confrontare valori
Operatori relazionali
Confrontare numeri in virgola mobile
Confrontare stringhe
Alternative multiple
Sequenze di confronto
Diramazioni annidate
Utilizzare le espressioni booleane
Il tipo boolean
I metodi predicativi
Università degli studi di Roma “Tor Vergata”
Ingegneria Medica
Informatica I
Programma del Corso
Gli operatori booleani
Utilizzare variabili booleane
Capitolo 7 - Iterazioni
Cicli while
Cicli for
Cicli annidati
Argomenti avanzati
Capitolo 8 - Vettori e array
Array
Vettori
Trovare un valore
Contare
Trovare il massimo o il minimo
Memorizzare numeri in vettori
Dichiarare array e accedervi
Array a due dimensioni
Capitolo 9 – Progettazione di Classi
Metodi di accesso
Metodi modificatori
Metodi statici
Ambito di visibilità
Capitolo 15 – File e Flussi
Leggere e scrivere file di testo
Formato binario e formato testo
Accesso casuale
Flussi di oggetti
Capitolo 17 – Ordinamento e Ricerca
Ordinamento per selezione
Ordinamento per Fusione
In riferimento al libro: “Fondamenti di informatica oggetti e Java” L. Cabibbo
McGraw- Hill
1 ARCHITETTURA DEI CALCOLATORI
1.1 Calcolatori e applicazioni;
Alcuni esempi d'applicazioni;
Applicazioni e interfaccie;
1.2Architettura dei calcolatori
Hardware e software
Macchina di von neumann
1.3 Tecnologie dei calcolatori
codifica dei dati
microprocessore
Memoria centrale
Memoria secondaria
1.5 Calcolatori e programmazione
Università degli studi di Roma “Tor Vergata”
Ingegneria Medica
Informatica I
Programma del Corso
2.OGGETTI SOFTWARE
2.1Programmi e programmazione ;
2.2 Introduzione agli oggetti software;
2.3 Esempi d'oggetti software;
L'oggetto software System.out
3.OGGETTI E JAVA
3.1 Introduzione alla programmazione in Java
Il linguaggio di programmmazione Java
Classi Java
Programmi di java
API di java (cenni)
Programmazione in java
3.2 Introduzione a Java
Scrittore sullo schermo
Calcolo di una radice quadrata
4.STRUMENTI PER LA PROGRAMMAZIONE
4.1 Strumenti per la programmazione
Editing e editor
Compilazione e compilatori
Esecuzione
Compilatori ed interpreti
Compilazione ed esecuzione di programma Java
Java 2 Software Development Kit
4.2 Che cosa fare in pratica
4.3 Errori di programmazione
4.4 Ambienti integrati di sviluppo
5.PROBLEMI ,ALGORITMI E OGGETTI
5.1 Problemi e Algoritmi
Comprensione del problema
Identificazione di un algoritmo per il problema
6.LE BASI DEL LINGUAGGIO JAVA
6.1 Sintassi e semantica
6.2 Introduzione alla sintassi di Java
6.3 Introduzione alla semantica di Java
Semantica delle espressioni
Semantica delle istruzioni
6.4 Sintassi , semantica ed errori
6.5 Introduzione alle istruzioni di Java
7.LEGGIBILITA' (solo da leggere)
7.1 Stile e convenzioni di codifica
7.2 Commenti
7.3 Scelta dei nomi
7.4 Indentazione
8 Uso di Oggetti
8.1 Tipi ed espressioni
Università degli studi di Roma “Tor Vergata”
Ingegneria Medica
Informatica I
Programma del Corso
8.2 Uso di oggetti
8.2.1 Operazioni e messaggi
8.2.2 Operazioni e metodi
8.2.3 Invocazione di metodi
8.2.4 Accesso a propriet_a di oggetti
8.3 Descrizione di oggetti e classi
8.3.1 Descrizione di metodi
8.3.2 Descrizione di metodi che restituiscono un valore
8.3.3 Descrizione di variabili
8.3.4 Selezione di metodi
8.4 Creazione di oggetti e costruttori
9 VARIABILI E ASSEGNAZIONE
9.1 Variabili e assegnazione
9.1.2 Dichiarazione di variabili
9.1.3 Assegnazione e accesso
9.1.4 Costanti
10 ERRORI DI PROGRAMMAZIONE (CENNI)
10.1 Classificazione degli errori
10.2 Errori sintattici
10.3 Errori di semantica statica
10.4 Errori di semantica dinamica
10.5 Errori logici
10.6 Discussione
11 TIPI ED ESPRESSIONI
11.1 Tipi
11.2 Espressioni
11.3 Tipi primitivi per numeri interi
11.3.1 Introduzione al tipo primitivo int
11.3.2 Valutazione delle espressioni
11.3.3 Rappresentazione dei numeri interi
11.3.4 Altri tipi primitivi numerici interi
11.4 Tipi primitivi per numeri reali
11.5 Conversione tra tipi
11.5.1 Conversione implicita
11.5.2 Conversione esplicita
11.7.2 Il tipo primitivo boolean
12TIPI RIFERIMENTO E STRINGHE
12.1 TIPI DI RIFERIMENTO
12.2 STRINGHE E OGGETTI STRING
12.3 USO DI VARIABILI RIFERIMENTO
12.4 USO D'OGGETTI STRING
12.5 STRINGHE E TIPI PRIMITIVI
12.6 CONVERSIONE DA I TIPI PRIMITIVI A STRINGHE
12.7 CONVERSIONE TRA STRINGHE E TIPI PRIMITIVI
12.8 IL METODO CHARAT
12.9 CONCATENAZIONE DI STRINGHE
12.10 CONFRONTO TRA STRINGHE
Università degli studi di Roma “Tor Vergata”
Ingegneria Medica
Informatica I
Programma del Corso
13 ISTRUZIONI CONDIZIONALI E BLOCCO
13.1 INTRODUZIONE ALLE ISTRUZIONI DI CONTROLLO
13.2 ISTRUZIONE CONDIZIONALE IF-ELSE
13.3 BLOCCO (ISTRUZIONE COMPOSTA)
13.4 ISTRUZIONE CONDIZIONALE IF
13.5 ISTRUZIONI CONDIZIONALI ANNIDATE
13.6 CASCATA DI ISTRUZIONI IF-ELSE
13.7 IL PROBLEMA DELL'ELSE MANCANTE
13 ISTRUZIONI CONDIZIONALI E BLOCCO
13.1 INTRODUZIONE ALLE ISTRUZIONI DI CONTROLLO
13.2 ISTRUZIONE CONDIZIONALE IF-ELSE
13.3 BLOCCO(ISTRUZIONE COMPOSTA)
13.4 ISTRUZIONE CONDIZIONALE IF
13.5 ISTRUZIONI CONDIZIONALI ANNIDATE
13.6 CASCATA D'ISTRUZIONI IF-ELSE
14 ISTRUZIONI RIPETITIVE
14.1 ISTRUZIONI RIPETITIVE
14.2 ISTRUZIONE RIPETITIVA WHILE
14.3 ISTRUZIONE RIPETITIVA FOR
14.3.1 ISTRUZIONE FOR CON VARIABILE CONTATORE
14.4 ISTRUZIONE RIPETITIVA DO-WHILE
14.5 CONFRONTO TRA ISTRUZIONI RIPETITIVE
14.7 ISTRUZIONI RIPETITIVE E CICLI
14.9 ISTRUZIONI RIPETITIVE ANNIDATE
15 DEFINIZIONE DI METODI
15.1 INTRODUZIONE ALLA DEFINIZIONE DI METODI
15.1.1 DEFINIZIONE DI UN SEMPLICE METODO
15.1.2 USO DI CLASSI E METODI
15.2 METODI E VARIABILI LOCALI
15.3 METODI CON PARAMETRI
15.4 METODI CHE RESTITUISCONO UN VALORE
15.5 SOVRACCARICO DI NOMI
15.6 AUTO-REFERENZIAZIONE
15.7 CLASSI E APPLICAZIONI
15.8 VISIBILITA’ DELLE VARIABILI
15.9 PROGRAMMAZIONE STRUTTURATA (E NON)
15.11.1 IL MODIFICATORE PRIVATE
15.12 LEGAME DEI PARAMETRI
15.12.1 LEGAME DEI PARAMETRI PER VALORE
15.12.2 LEGAME DEI PARAMETRI PER RIFERIMENTO
18 DEFINIZIONE DI CLASSI
18.1 CLASSI PER ISTANZIARE OGGETTI
18.3 VARIABILI D'ISTANZA
18.3.1 ACCESSO A VARIABILI D'ISTANZA
18.4 METODI D'ISTANZA
18.5 COSTRUTTORI
18.6.1 AUTO-REFERENZIAZIONE
Università degli studi di Roma “Tor Vergata”
Ingegneria Medica
Informatica I
Programma del Corso
18.6.4
18.6.5
18.6.6
18.6.7
SOVRACCARICO DEL COSTRUTTORE 371
METODI DI CLASSE 372
VARIABILI DI CLASSE 372
CLASSI E OGGETTI 373
19 ARRAY
19.1 IL PROBLEMA DEGLI STUDENTI DA PROMUOVERE
19.2 ARRAY
19.3 ARRAY IN JAVA
19.4 USO DI ARRAY
19.4.1 DICHIARAZIONE DI VARIABILI ARRAY E TIPI ARRAY
19.4.2 CREAZIONE DI ARRAY 389
19.4.3 ACCESSO A UN ARRAY 389
19.4.4 IL PROBLEMA DEGLI STUDENTI DA PROMUOVERE 390
19.4.5 LUNGHEZZA DI UN ARRAY 390
19.5.2 VISUALIZZAZIONE DEGLI ELEMENTI DI UN ARRAY
19.5.3 CALCOLO DEL MASSIMO ELEMENTO DI UN ARRAY DI INTERI
19.7 PARAMETRO DEL METODO MAIN 404
20 ARRAY DI ARRAY 417
20.1 ARRAY BIDIMENSIONALI 417
20.1.1 CREAZIONE E USO DI ARRAY BIDIMENSIONALI 418
20.2 ARRAY DI ARRAY 420
24 ORDINAMENTO
24.1 ORDINAMENTO
24.3 ORDINAMENTO
24.4 ORDINAMENTO
24.5 ORDINAMENTO
24.6 ORDINAMENTO
24.7 ORDINAMENTO
DI UN ARRAY
PER SELEZIONE
A BOLLE
PER INSERZIONE
PER FUSIONE(SOLO ALGORITMO)
VELOCE (SOLO ALGORITMO)