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



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

Corso di Laurea Ingegneria Civile Fondamenti di Informatica. Traduzione ed esecuzione di programmi. Dispensa 08

Dispensa di Informatica I.1

Corso di Informatica

Contenuti. Visione macroscopica Hardware Software. 1 Introduzione. 2 Rappresentazione dell informazione. 3 Architettura del calcolatore

All interno del computer si possono individuare 5 componenti principali: SCHEDA MADRE. MICROPROCESSORE che contiene la CPU MEMORIA RAM MEMORIA ROM

Software. Algoritmo. Algoritmo INFORMATICA PER LE DISCIPLINE UMANISTICHE 2 (13042)

Esame di INFORMATICA

Programmare in Java. Olga Scotti

Informatica - A.A. 2010/11

Approccio stratificato

Fondamenti di Informatica. Docenti: Prof. Luisa Gargano Prof. Adele Rescigno BENVENUTI!

La macchina programmata Instruction Set Architecture (1)

Il Software. Il software del PC. Il BIOS

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Nozioni di Informatica di base. dott. Andrea Mazzini

Linguaggi di programmazione

Il Software e Il Sistema Operativo. Prof. Francesco Accarino IIS Altiero Spinelli A.S. 09/10

Linguaggi e Paradigmi di Programmazione

Il computer: primi elementi

Sistemi Operativi MECCANISMI E POLITICHE DI PROTEZIONE. D. Talia - UNICAL. Sistemi Operativi 13.1

MECCANISMI E POLITICHE DI PROTEZIONE 13.1

introduzione I MICROCONTROLLORI

RETI E SISTEMI INFORMATIVI

Elementi di informatica

CONCETTI BASE dell'informatica Cose che non si possono non sapere!

MODELLO CLIENT/SERVER. Gianluca Daino Dipartimento di Ingegneria dell Informazione Università degli Studi di Siena

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

Il Personal Computer. Cos è Lo schema di massima Che cosa ci possiamo fare. 1

Vari tipi di computer

Corso di INFORMATICA 2 (Matematica e Applicazioni)

Software relazione. Software di base Software applicativo. Hardware. Bios. Sistema operativo. Programmi applicativi

PROGRAMMAZIONE DISCIPLINARE INDIVIDUALE

Architettura di un calcolatore

Introduzione a Dev-C++

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

Laboratorio di Informatica

Corso di Informatica

NozionidiBase di Informatica

C. P. U. MEMORIA CENTRALE

Università degli Studi di Roma La Sapienza, Facoltà di Ingegneria

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

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

CHE COS È L INFORMATICA

Il calcolatore oggi : UN SISTEMA DI ELABORAZIONE

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

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

Parte II.2 Elaboratore

VIRTUALIZZAZIONE. Docente: Marco Sechi Modulo 1

Valutazione delle Prestazioni. Valutazione delle Prestazioni. Architetture dei Calcolatori (Lettere. Tempo di risposta e throughput

Introduzione. Classificazione di Flynn... 2 Macchine a pipeline... 3 Macchine vettoriali e Array Processor... 4 Macchine MIMD... 6

MANUALE MOODLE STUDENTI. Accesso al Materiale Didattico

23/02/2014. Dalla scorsa lezione. La Macchina di Von Neumann. Uomo come esecutore di algoritmi

Introduzione. Laboratorio di Calcolo Corso di Laurea in Fisica. Università degli Studi di Roma La Sapienza

Software di base. Corso di Fondamenti di Informatica

NOZIONI ELEMENTARI DI HARDWARE E SOFTWARE

INFORMATICA, IT e ICT

Architettura hardware

Corso di Informatica

Introduzione alle tecnologie informatiche. Strumenti mentali per il futuro

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

Architettura del calcolatore

ISTITUTO D ISTRUZIONE SECONDARIA F. DE SANCTIS SANT ANGELO DEI LOMBARDI (AV)

Hardware, software e periferiche. Facoltà di Lettere e Filosofia anno accademico 2008/2009 secondo semestre

Alfabetizzazione Informatica. Prof. Giuseppe Patti

INTRODUZIONE ALL' INFORMATICA

Modulo. Programmiamo in Pascal. Unità didattiche COSA IMPAREREMO...

HARDWARE. Relazione di Informatica

Architettura hardware

FACOLTÀ DI AGRARIA REGOLAMENTO PER L ACCERTAMENTO DELLA CONOSCENZA DELLA LINGUA INGLESE

Architetture Applicative

Fondamenti di Informatica Ingegneria Clinica Lezione 19/10/2009. Prof. Raffaele Nicolussi

1.4b: Hardware. (Memoria Centrale)

Tutorato 11 dicembre 2015

Programmazione Orientata agli Oggetti in Linguaggio Java

L informatica INTRODUZIONE. L informatica. Tassonomia: criteri. È la disciplina scientifica che studia

Programmi. Algoritmi scritti in un linguaggio di programmazione

Software Applicativo. Hardware. Sistema Operativo Software di Base Traduttori e Linguaggi

Scuola Secondaria di Primo Grado Anna Frank Nome Cognome classe anno sc. 2008/09 INFORMATICA

Dipartimento di Sociologia e ricerca sociale

Ing. Paolo Domenici PREFAZIONE

La Macchina Virtuale

INFORMATICA 1 L. Mezzalira

Struttura del calcolatore

Introduzione all'architettura dei Calcolatori

Corsi Speciali Abilitanti Indirizzo 2: Fisico-Matematico Modulo Didattico: Elementi di Informatica Classi: 48/A TEST D INGRESSO

MODULO 01. Come è fatto un computer

Corso di Laurea in Ingegneria Informatica e Biomedica. Sistemi Operativi A.A. ( )

SOFTWARE. È l insieme delle istruzioni che è necessario fornire alla macchina per il suo funzionamento. Vi sono due categorie di software:

PROGRAMMAZIONE COORDINATA TEMPORALMENTE

Il tutor è a disposizione per ogni chiarimento

Programma del Corso. Dati e DBMS SQL. Progettazione di una. Normalizzazione

COME È FATTO IL COMPUTER

TICa1. 3) Uno scanner è una periferica di: a) Input b) Output c) elaborazione d) Input-Output e) Memorizzazione

Concetti fondamentali della Tecnologia Dell informazione Parte prima

Transcript:

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 Numero crediti: 5 per ogni modulo (40-50 ore lezioni e laboratorio) Durata dell intero corso: 2 semestri I modulo da ottobre a gennaio Pausa a febbraio (verifica intermedia) II modulo da marzo a inizio giugno

Finalità del I modulo del corso Principi fondamentali della programmazione ad oggetti Soluzione di problemi con metodologie objectoriented Implementazione di semplici (ma non troppo! ) programmi Java

Libro di testo W.Savitch Programmazione con Java Pearson Education

Libro di testo W.Savitch Programmazione di base e avanzata con Java Pearson Education

Orario lezioni e laboratorio QUANDO: Lunedì e Giovedì 9:15-11:00 DOVE: aula 25 (laboratorio) (eventualmente portare un proprio computer)

Esami Quando? PREAPPELLO I modulo (febbraio) Sessione estiva (giugno/luglio) Sessione autunnale (settembre) Sessione invernale (febbraio)

Esami In cosa consistono? Prova pratica (in laboratorio): esercizi di programmazione in Java Orale: discussione dei progetti domande sul programma svolto

Esami Cosa fare per passare l esame? (studiare) programmare,programmare,programmare, programmare,programmare,programmare, programmare,programmare,programmare, programmare,programmare,programmare, programmare,programmare,programmare, programmare,programmare,programmare, programmare,programmare,programmare, programmare,programmare,programmare,

Pagina web del corso http://www.mat.uniroma2.it/~giammarr/teaching/java/index.html Consultatela spesso!

Gruppo facebook del corso Java STM 2015-16 Potete fare richiesta di iscrizione usando l'indirizzo https://www.facebook.com/groups/1479310332372838/ date il vostro contributo!

Una breve introduzione

Computer Eseguono calcoli e prendono decisioni basate sulla logica milioni o miliardi di volte più velocemente degli uomini. Programmi Insiemi di istruzioni tramite le quali i computer elaborano i dati Hardware Struttura fisica del computer Software Computer Programmi che vengono eseguiti sui computer

Componenti di un computer (Unità logiche) Unità di Input Mouse, tastiera Unità di Output Stampante, monitor, speakers audio Unità di Memoria Conserva input and elabora le informazioni Unità Aritmetico-Logica (ALU) Esegue i calcoli Unità centrale di calcolo (Central processing unit ) (CPU) Organizza e controlla tutte le operazioni Unità di Memoria secondaria Hard disks, floppy drives 16

Computer e programmazione Un computer è una macchina per eseguire programmi qualcuno ha già fatto per noi alcuni programmi che possiamo eseguire così come facciamo con ogni applicazione Un computer è anche una macchina programmabile, ossia una macchina le cui potenzialità possono essere aumentate da noi con la scrittura di nuovi programmi per far questo dobbiamo far uso di opportuni linguaggi di programmazione che ci permettono di esprimere nel modo più naturale le nostre esigenze di calcolo

Esecuzione di un programma

Computer e programmazione Ogni computer ha un proprio linguaggio macchina ogni istruzione coincide con un istruzione di macchina e pertanto è un linguaggio binario o anche linguaggio di basso livello

Computer e programmazione Esistono linguaggi di programmazione che consentono di scrivere i programmi in termini di istruzioni vicine alla logica delle tecniche di risoluzione di problemi le istruzioni sono espresse mediante simboli e pertanto tali linguaggi sono anche detti linguaggi simbolici o linguaggi ad alto livello sono linguaggi simbolici anche i linguaggi assemblativi, in cui ad ogni istruzione del linguaggio corrispondono una o più(poche) istruzioni di macchina

Esecuzione dei programmi Il Computer, in particolare il suo hardware, esegue solo programmi in linguaggio macchina Se un programma è in linguaggio macchina può essere quindi direttamente eseguibile tutte le applicazioni sono immediatamente eseguibili proprio per questo motivo

Esecuzione dei programmi Se un programma è in linguaggio simbolico non può essere eseguito immediatamente c è bisogno di un processo di traduzione che viene realizzato tramite opportune applicazioni già disponibili, e che sono quindi evidentemente in linguaggio macchina

Compilazione e interpretazione Esistono due approcci alla traduzione ed esecuzione dei programmi Compilazione un programma scritto in un linguaggio di programmazione di alto livello viene trasformato in un programma in linguaggio macchina e poi eseguito interpretazione ciascuna istruzione del programma scritto in un linguaggio di programmazione di alto livello viene trasformata in istruzioni del linguaggio macchina ed eseguita

Compilazione e interpretazione I traduttori del primo tipo sono chiamati effettivamente compilatori, quelli del secondo tipo sono chiamati interpreti Una analogia con la traduzione tra linguaggi diversi la compilazione è analoga alla traduzione di un libro l interpretazione è analoga alla traduzione simultanea

Compilazione Il computer con un programma compilatore, ricevendo un programma sorgente in linguaggio simbolico esegue la traduzione producendo in uscita il corrispondente programma eseguibile in linguaggio macchina Programma sorgente Compilatore Programma eseguibile

Interpretazione Il calcolatore con un programma interprete, ricevendo un programma sorgente in linguaggio simbolico e i relativi dati in ingresso lo interpreta e lo esegue, istruzione dopo istruzione, producendo direttamente i dati in uscita Dati in ingresso (input) Programma sorgente Interprete Dati in uscita (output)

Confronto tra compilazione e interpretazione I linguaggi compilati prevedono la distribuzione di un file eseguibile (in linguaggio macchina) specifico per ogni piattaforma il file sorgente, che consentirebbe di modificare il programma, rimane di esclusiva pertinenza del programmatore

Confronto tra compilazione e interpretazione I linguaggi interpretati prevedono la distribuzione diretta del file sorgente (che è il medesimo per tutte le piattaforme) su ogni piattaforma deve essere disponibile il programma interprete

Il linguaggio Java Java adotta una strategia mista il file sorgente contenente un programma Java viene prima compilato, generando un file in ByteCode il file in ByteCode è un file in linguaggio macchina per una macchina non esistente, detta macchina virtuale o Java Virtual Machine

Il linguaggio Java per essere eseguito il ByteCode viene interpretato su ogni piattaforma esistono programmi interpreti, che realizzano una Java VirtualMachine, per ogni piattaforma in questo modo il file sorgente non viene distribuito, mentre il file ByteCode distribuito è il medesimo per tutte le piattaforme

Compilazione di programmi Java Il calcolatore con un programma compilatore Java, ricevendo un programma sorgente in linguaggio lo traduce producendo in uscita il corrispondente programma in un linguaggio intermedio ByteCode Programma sorgente in Java Compilatore Java Programma ByteCode

Interpretazione di programmi in ByteCode Il calcolatore con un programma interprete Java VirtualMachine(JVM), ricevendo un programma in ByteCode e i relativi dati in ingresso lo interpreta e lo esegue, istruzione dopo istruzione, producendo direttamente i dati in uscita Dati in ingresso (input) Programma ByteCode Java Virtual Machine Dati in uscita (output)

Compilare ed eseguire un programma

Per concludere: vediamo qualche esempio