Linguaggi Corso di Laurea in Ingegneria delle Telecomunicazioni A.A. 2010-2011 Alessandro Longheu http://www.diit.unict.it/users/alongheu [email protected] - lezione 00 Informazioni generali sul corso A. Longheu – Linguaggi – A.A. 2010-2011 Informazioni generali ►Orario delle lezioni Consultare il sito di Facolta’ (unico riferimento) ►Chiarimenti e informazioni Ricevimento: lunedi 10-11, martedi 11-12 Via Email: [email protected] 2 A. Longheu – Linguaggi – A.A. 2010-2011 Programma Prerequisiti: ►Concetto di algoritmo, programma, processo ►Concetti base di programmazione: tipi di dato, espressioni, istruzioni ►Linguaggio C ►Strutture dati notevoli 3 A. Longheu – Linguaggi – A.A. 2010-2011 Programma Contenuti del corso: ► Definizioni, proprietà, classificazione dei linguaggi di programmazione ► Programmazione orientata agli oggetti (Object Oriented, OO) ► Il linguaggio JAVA: Caratteristiche generali, tipi di dato, operatori, espressioni, strutture di controllo, Classi, oggetti, interfacce, ereditarietà, package concorrenza, gestione delle eccezioni, eventi. Grafica di base, applet e programmazione in rete ► Il linguaggio Python ► Il linguaggio PHP, utilizzo in ambienti web-based 4 A. Longheu – Linguaggi – A.A. 2010-2011 Esami ► Prova pratica prenotazione obbligatoria su https://giove.diit.unict.it/linguaggi Consiste nello sviluppo di una applicazione java L’applicazione deve essere compilata correttamente Deve essere adeguatamente documentata Deve funzionare in modo corretto perchè venga presa in considerazione La durata della prova è di 2 ore La valutazione riguarda “come” il programma funziona e come è organizzato; il voto minimo per accedere alla prova orale è 18/30 ► Prova orale Discussione della prova pratica Domande riguardanti l’intero programma (Java, Python e PHP) 5 A. Longheu – Linguaggi – A.A. 2010-2011 Materiale didattico ► Libro di testo K. Arnold - J. Gosling - D. Holmes IL Linguaggio Java - Manuale ufficiale - 4 Edizione Pearson Education (Addison Wesley) Allen Downey, Jeffrey Elkner e Chris Meyers. Pensare da informatico – imparare con Python disponibile al sito web.econ.unito.it/terna/infsimeco/howtothink_ita.pdf Ducumentazione ufficiale PHP disponibile al sito http://www.php.net/manual/it/ ► Altri testi Bruce Eckel “Thinking in Java” - Apogeo Wu C.T. “Introduzione alla programmazione a oggetti in Java” McGraw-Hill Marty Hall, Larry Brown “Core web programming” - A Sun Microsystems Press/Prentice Hall PTR Book Adam Drozdek “Algoritmi e strutture dati in Java” - Apogeo 6 A. Longheu – Linguaggi – A.A. 2010-2011 Strumenti ► Java Development Kit Scaricare dal sito della SUN ► Documentazione JDK Scaricare dal sito della SUN java.sun.com ► Strumenti di sviluppo Un editor di testo (es. Textpad) Comandi JDK da linea di comando • javac • java • javadoc ► www.python.org ► www.php.net 7 A. Longheu – Linguaggi – A.A. 2010-2011 Strumenti ► Lo studente deve sapere: Usare il Sistema Operativo (variabili di ambiente incluse) Usare un editor di testo (non un word processor …) Compilare ed eseguire programmi Java da linea di comando 8 A. Longheu – Linguaggi – A.A. 2010-2011 Filosofia del corso ”per me non è importante che il codice "funzioni", perché io do per scontato che lo faccia. Le cose che mi interessano sono altre, in primissimo luogo la manutenibilità del codice a distanza di anni e da parte di persone diverse“ [un imprenditore IT] ► Ingegnere edile: “Guarda la casa che ho progettato. Sta in piedi !” ► Ingegnere informatico: “Guarda il programma che ho scritto. Funziona !” 9 A. Longheu – Linguaggi – A.A. 2010-2011 Filosofia del corso ► Per comprendere la programmazione OO è indispensabile fare esperienza al calcolatore ► Questo inizialmente comporta sicuramente un investimento di tempo, ma è l'unico modo per ottenere risultati ► Può essere abbastanza semplice comprendere i singoli dettagli tecnici; la difficoltà consiste nel mettere insieme i concetti e nell'applicarli su vasta scala ► Solo svolgendo esercizi al calcolatore si può avere una verifica obiettiva della propria comprensione degli argomenti svolti ► Solo attraverso l'esercizio al calcolatore si può raggiungere un sufficiente livello di approfondimento 10