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

Documenti analoghi
Corso di Laurea Ingegneria Informatica Laboratorio di Informatica

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

Corso di Laurea Ingegneria Informatica Fondamenti di Informatica

Reti Logiche e Architettura dei Calcolatori

Introduzione a Java. Prof. Francesco Accarino IIS Altiero Spinelli Via Leopardi132 Sesto San Giovanni

Traduzione e interpretazione

Corso di Architettura degli Elaboratori

Corso Programmazione

INFORMATICA. L informatica comprende:

Laboratorio di Calcolo A

Introduzione al corso

Lez. 5 La Programmazione. Prof. Salvatore CUOMO

Introduzione alla programmazione. Walter Didimo

Il Software programmabili programma algoritmo

LINGUAGGI DI ALTO LIVELLO

CHE COS È L INFORMATICA. Prof. Enrico Terrone A. S. 2014/15

Introduzione al funzionamento di un calcolatore elettronico

Algoritmo. La programmazione. Algoritmo. Programmare. Procedimento di risoluzione di un problema

Linguaggi di Programmazione

Tecnologie di Sviluppo per il Web Lab. di Tecnologie di Sviluppo Web

Informatica e Comunicazione Digitale Crediti formativi 9. No, ma la frequenza è fortemente consigliata Lingua di erogazione

Introduzione al Sistema Operativo MS-Windows ed all Uso dell IDE DEV-C++

Introduzione al corso

Cosa è un programma. Informatica di Base -- R.Gaeta 18

Architettura degli elaboratori

Fondamenti di Informatica

WEB:

Docente: Prof. Marco Patella Tutor: Vincenzo Lomonaco

OBIETTIVI. Conoscere i concetti di base dell Informatica. Conoscere i principi e gli strumenti di base della programmazione

Macchine astratte, linguaggi, interpretazione, compilazione

AXO - Architettura dei Calcolatori e Sistema Operativo. organizzazione strutturata dei calcolatori

Lezione 16. Il Software di base

TEORIE E TECNICHE PER LA COMUNICAZIONE DIGITALE

Alain Turing (rielaborazione foto di Wikipedia)

AMBIENTI DI PROGRAMMAZIONE

Lez. 8 La Programmazione. Prof. Pasquale De Michele (Gruppo 2) e Raffaele Farina (Gruppo 1) 1

Linguaggi di programmazione

10: I LINGUAGGI di PROGRAMMAZIONE PARTE 1

Linguaggi di alto livello, compilatori e interpreti

3. Programmi e algoritmi

Fondamenti di Informatica (lettere A-I) A

Introduzione al corso

Corso di. Fondamenti di Informatica T

Introduzione alla Programmazione. Giselda De Vita

C++ Barriera di astrazione. Barriera di astrazione. Basic. Basic. Lisp. Lisp. Pascal. Prolog. Pascal. Prolog. Cobol. Fortran IMPERATIVI FUNZIONALI

Architettura di un Computer

Fondamenti di Informatica

Linguaggi di programmazione

Corso di Laurea Ingegneria Informatica

FONDAMENTI DI INFORMATICA

Linguaggi e traduttori

Algoritmo: procedimento non ambiguo che in un numero finito di passi risolve un problema (o una classe di problemi)

Fondamenti di Informatica

Unità di apprendimento 6. Il software: dal linguaggio alla applicazione

Informazioni sul corso

Introduzione al Linguaggio C Corso di Informatica Laurea in Fisica

Fondamenti di Informatica MultiDAMS

Fondamenti di Informatica A.A Studenti

CORSO DI PROGRAMMAZIONE E INFORMATICA GENERALE 1

Architettura degli Elaboratori. a.a. 2014/15 Classe 3: matricole congrue 2 modulo 3

Concetti Introduttivi. Il Computer

Architettura degli Elaboratori

Linguaggi di programmazione

Fondamenti di informatica. Introduzione al corso di Fondamenti di informatica I e II (informatici) Anno Accademico

Fondamenti di Informatica

Programmazione: Sommario

Fondamenti di Informatica 1. Prof. B.Buttarazzi A.A. 2010/2011. Benvenuti al Corso!

Corso di Laurea Ingegneria Civile

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

Salvatore Cuomo Prolusione

LEZIONE 4. Hardware (periferiche) Software (algoritmi)

Tecnologie di Sviluppo per il Web Lab. di Tecnologie di Sviluppo Web

Fondamenti di programmazione!! Parte 2!

Architettura degli Elaboratori

Programmazione. Andrea Passerini Informatica. Programmazione

algoritmi e strutture di dati

Corso di Fondamenti di Informatica e Laboratorio ato o T-AB

Linguaggi, Traduttori e le Basi della Programmazione

Corso di Linguaggi di Programmazione + Laboratorio

Introduzione alla programmazione strutturata

Introduzione alla programmazione in C

Il concetto di calcolatore e di algoritmo

la traduzione dei programmi ed introduzione a Java

Fondamenti di Informatica

LINGUAGGI DI ALTO LIVELLO. Si basano su una macchina virtuale le cui mosse non sono quelle della macchina hardware

Problemi, algoritmi, calcolatore

Fondamenti di Informatica e Laboratorio T-AB!

LINGUAGGI DI ALTO LIVELLO

Lezione 1 05 ottobre 2015

ISTITUTO SUPERIORE ENRICO FERMI. PROGRAMMAZIONE DEL GRUPPO DISCIPLINARE INFORMATICA IT INDIRIZZO INFORMATICA E TELECOMUNICAZIONI a.s.

Analisi delle decisioni

FONDAMENTI DI INFORMATICA

Le basi del linguaggio Java

Architettura di un calcolatore

Algoritmi, linguaggi e programmi. Emilio Di Giacomo e Walter Didimo

Scrivere il software. Scrivere il software. Interprete. Compilatore e linker. Fondamenti di Informatica

Linguaggi di Programmazione

Sistemi Distribuiti Anno accademico 2009/10

Transcript:

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

Presentazioni Dora Giammarresi Info: http://www.mat.uniroma2.it/~giammarr Orario ricevimento: giovedì 13:00 14:00 (su appuntamento) Potete anche scrivermi email a giammarr@mat.uniroma2.it, ma non dimenticate nome, cognome e corso cui vi riferite Il mio studio è al piano terra del dente 2.

Informazioni generali Numero crediti: 10 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

Orario lezioni e laboratorio QUANDO: Lunedì e Giovedì 9:15-11:00 (giovedì 14:00-16:00 a novembre) DOVE: aula 25 (laboratorio) (eventualmente portare un proprio computer) Ogni lezione si compone di (circa) un'ora di spiegazioni e un'ora (circa) di pratica sui computer.

Pagina web del corso http://www.mat.uniroma2.it/~giammarr/teaching /Java/index.html Troverete: orario lezioni, ricevimento, programma, avvisi generali, syllabus, diario delle lezioni, esercizi assegnati a lezione, avvisi vari Consultatela spesso!

Libro di testo W.Savitch Programmazione con Java Pearson Education

Libro di testo W.Savitch Programmazione di base e avanzata con Java Pearson Education Nota: Ha qualche capitolo in più rispetto al precedente sulla parte grafica.

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

Finalità del II modulo del corso (docente dott. Zuliani) Tecniche avanzate di programmazione (classi astratte e interfacce, gestione delle eccezioni, gestione dei file) Librerie grafiche in Java

Esami (di già???) Quando? PREAPPELLO I modulo (febbraio) ESONERO II modulo (maggio) Sessione estiva (giugno/luglio) Sessione autunnale (settembre) Sessione invernale (febbraio)

Esami (di già???) Prova unica per i due moduli Prova pratica (sui computer del laboratorio): esercizi di programmazione in Java Orale: NO computer personale NO accesso a internet SI consultazione libro di testo/appunti SI consultazione si file personali su pennetta USB discussione dei progetti domande sul programma svolto

Esami (di già???) 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,

Il corso di laurea in STM Esami di settori disciplinari diversi: Matematica Fisica Informatica Fotografia Cinema Linguistica Musica

Cos è veramente l informatica Evitare compiti noiosi e ripetitivi

Minor fatica??? L informatica è una Scienza, in inglese Computer Science. I pionieri degli anni 30 erano matematici e fisici (Turing, Goedel,.) L informatica non consiste nello scrivere programmi per un computer! I computer sono uno strumento: l informatico può lavorare anche solo con carta e penna! Ci vuole rigore, metodologia, tecnica, matematica etc. Bisogna studiare e si sa: lo studio è fatica! (anche giocare a calcio, però.)

Come studiare Prerequisiti: Solo tanta voglia di conoscere e imparare! (o quasi ). Allo studente non è richiesta nessuna particolare conoscenza informatica. Una buona conoscenza da utente di personal computer può aiutare nell'inquadramento di alcune parti del corso. Lo svolgimento delle esercitazioni e la frequenza del corso sono fortemente consigliate. Gli studenti devono essere preparati a trascorrere una congrua quantità di tempo nello studio al di fuori delle lezioni. 1CFU = 25 ore di lavoro = 8 ore di lezione frontale + 17ore di studio individuale. Seguire e studiare tutti i corsi Studiare in maniera attiva (???)

Studiare attivamente Lezioni: non accettate niente per buono (nemmeno/soprattutto se lo dico io ;); domande «stupide» non esistono Slides, appunti, ma LIBRI! Esercizi (da soli, a gruppi, ) Ricevimento Organizzare gli esami dei vari corsi (e prenotarsi in tempo)

Non siamo più a scuola Libertà nella organizzazione e nel metodo di studio Attenzione: arma a doppio taglio! Maggiore responsabilità da parte vostra Studiare per voi, per la vostra preparazione, per il vostro avvenire Cominciare a studiare: subito!

vediamo qualche esempio di cosa dovreste essere in grado di programmare alla fine del corso

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 26

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