- Didattica
- Laurea in INGEGNERIA DELL'INFORMAZIONE
- PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
- Insegnamento
- PROGRAMMAZIONE ORIENTATA AGLI OGGETTI
- Insegnamento in inglese
- OBJECT ORIENTED PROGRAMMING
- Settore disciplinare
- ING-INF/05
- Corso di studi di riferimento
- INGEGNERIA DELL'INFORMAZIONE
- Tipo corso di studio
- Laurea
- Crediti
- 6.0
- Ripartizione oraria
- Ore Attività Frontale: 54.0
- Anno accademico
- 2022/2023
- Anno di erogazione
- 2022/2023
- Anno di corso
- 1
- Lingua
- ITALIANO
- Percorso
- PERCORSO COMUNE
- Docente responsabile dell'erogazione
- MAINETTI LUCA
- Sede
- Lecce
Descrizione dell'insegnamento
Elementi di teoria dell’informatica. Principi e basi per la programmazione. Esecuzione di operazioni seguendo una sequenza codificata di istruzioni elementari. Concetto di algoritmo. Algoritmi di base e strutture dati.
Non vi è alcuna propedeuticità ma sono suggerite le conoscenze di Fondamenti di Informatica.
Il corso intende fornire conoscenze di programmazione orientata agli oggetti e sviluppare le competenze necessarie per progettare e sviluppare semplici programmi. E’ la naturale prosecuzione del corso di Fondamenti di Informatica I, benché i contenuti siano pienamente autonomi.
Nel concreto, il corso affronta in profondità il linguaggio di programmazione Java, analizzandolo in tutti i suoi dettagli. Ogni concetto esposto è sperimentato in modo pratico insieme agli studenti, utilizzando il personal computer e strumenti di sviluppo moderni e ampiamente diffusi nel mondo industriale.
Conoscenze e comprensione. Al termine del corso gli studenti: (a) conosceranno i principi della programmazione orientata agli oggetti, in relazione alle caratteristiche del software; (b) conosceranno nel dettaglio il linguaggio Java cioè oggetti, classi, tipi di dati fondamentali, strutture di controllo, ereditarietà, interfacce e librerie; (c) comprenderanno le tecniche di codifica in Java di algoritmi; (d) comprenderanno come utilizzare i principali ambienti di sviluppo Java anche in relazione delle singole necessità rappresentate nei requisiti del software.
Capacità di applicare conoscenze e comprensione. Gli studenti saranno in grado di applicare le conoscenze acquisite in diversi ambiti applicativi e, in generale, per la codifica al computer in linguaggio Java di logica di business.
Autonomia di giudizio. Il corso favorisce l'autonomia di giudizio degli studenti attraverso l'analisi critica di problemi di modellazione del software da requisiti funzionali e non funzionali, per i quali trovare le soluzioni adeguate a risolverli in linguaggio Java. Diverse soluzioni proposte interattivamente dagli studenti saranno poste a confronto e valutate criticamente dagli studenti stessi.
Abilità comunicative. Gli studenti apprenderanno come comunicare adeguatamente e con il corretto livello di formalismo le scelte di design adottate e le strategie di implementazione scelte. Il metodo di insegnamento interattivo e teorico/pratico favorirà momenti di confronto in cui mettere in pratica tali abilità comunicative.
Capacità di apprendimento. La materia in costante evoluzione (sia le tecniche di sviluppo orientate agli oggetti, sia i linguaggi che le implementano) richiederà agli studenti la capacità di aggiornarsi e di ricercare materiale on-line, valutandone anche la qualità. Il metodo didattico favorirà l’approfondimento autonomo da parte degli studenti, incuriosendoli su tecniche di sviluppo evolute (vedi i design pattern) che saranno oggetto del corso di Principi di Ingegneria del Software.
Lezioni frontali (o on-line se l'emergenza sanitaria lo richiederà), esercitazioni pratiche svolte preferibilmente con l’uso del personal computer, elaborazione individuale di semplici programmi Java.
L'esame prevede una prova orale per la verifica dell'apprendimento dei concetti teorici (verifica delle conoscenze) e della capacità di applicazione dei medesimi, in particolare per la codifica autonoma di semplici programmi Java (verifica delle competenze). Durante l’esame lo studente dovrà usare preferibilmente il proprio personal computer, configurato con gli ambienti di sviluppo illustrati e utilizzati durante il corso.
Si veda www.ing.unisalento.it.
www.unisalento.it/people/luca.mainetti
Presentazione dettagliata del corso e delle modalità d’esame (2 ore). Dalla programmazione procedurale alla programmazione orientata agli oggetti (2 ore). Introduzione al linguaggio Java (2 ore). Utilizzare oggetti (2 ore). Realizzare classi Java (2 ore). Tipi di dati fondamentali Java (2 ore). Decisioni (4 ore). Iterazioni (4 ore). Array e vettori (4 ore). Progettare le classi (4 ore). Ereditarietà (4 ore). Interfacce (4 ore). Ingresso/uscita e gestione delle eccezioni (4 ore). Ricorsione (4 ore). Ordinamento e ricerca (4 ore). Introduzione a Java Collections Framework (4 ore). Cenni su applicazione dell'analisi della complessità computazionale (2 ore).
Cay Horstmann, “Concetti di Informatica e Fondamenti di Java”, Settima Edizione, Apogeo Education, Maggioli Editore, 2020.
Semestre
Secondo Semestre (dal 01/03/2023 al 09/06/2023)
Tipo esame
Obbligatorio
Valutazione
Orale - Voto Finale
Orario dell'insegnamento
https://easyroom.unisalento.it/Orario