Offerta Didattica

 

INGEGNERIA ELETTRONICA E INFORMATICA

PROGRAMMAZIONE A OGGETTI

Classe di corso: L-8 - Ingegneria dell'informazione
AA: 2022/2023
Sedi: MESSINA
SSDTAFtipologiafrequenzamoduli
ING-INF/05CaratterizzanteLiberaLiberaNo
CFUCFU LEZCFU LABCFU ESEOREORE LEZORE LABORE ESE
96037236036
Legenda
CFU: n. crediti dell’insegnamento
CFU LEZ: n. cfu di lezione in aula
CFU LAB: n. cfu di laboratorio
CFU ESE: n. cfu di esercitazione
FREQUENZA:Libera/Obbligatoria
MODULI:SI - L'insegnamento prevede la suddivisione in moduli, NO - non sono previsti moduli
ORE: n. ore programmate
ORE LEZ: n. ore programmate di lezione in aula
ORE LAB: n. ore programmate di laboratorio
ORE ESE: n. ore programmate di esercitazione
SSD:sigla del settore scientifico disciplinare dell’insegnamento
TAF:sigla della tipologia di attività formativa
TIPOLOGIA:LEZ - lezioni frontali, ESE - esercitazioni, LAB - laboratorio

Obiettivi Formativi

Conoscenza e comprensione dei concetti della programmazione ad Oggetti con approfondimenti sulla Programmazione in Linguaggio Java. Il corso è orientato a fornire solide basi in merito alla programmazione dei calcolatori elettronici per risoluzione di problemi con il linguaggio Java. Acquisizione di competenze specifiche sui principi della programmazione dei calcolatori, dei linguaggi imperativi e basati sulla logica, dei principi della programmazione object-oriented (OOP) e delle conoscenze di base del compilatore, interprete e macchina virtuale Java. Sviluppo delle capacità di utilizzo degli strumenti linguistici di base del linguaggio Java (istruzioni e tipi). Acquisizione dell’abilità di progettare la risoluzione di problemi mediante un approccio algoritmico OO e di verificare la correttezza di un programma Java per la risoluzione di un problema dato. Acquisizione di abilità nella risoluzione di problemi, in particolare attraverso lo sviluppo di algoritmi e nella collaborazione in piccoli gruppi. Acquisizione di autonomia nella ricerca di librerie utili alla risoluzione di homework, anche su siti internazionali (e quindi solitamente in lingua inglese).

Learning Goals

Knowledge and comprehension of the concepts of Object oriented programming with deepening of Java language programming. The course is aimed at providing sound bases concerning computer programming for problem solving with Java language. Acquisition of specific knowledge of a) computer programming principles, b) imperative and logic-based languages, c) object-oriented programming (OOP) languages, d) basic knowledge of the Java compiler, interpreter and virtual machine. Development of the ability to use the basic Java language tools (instructions and types). Acquisition of the ability to address the problem solution by an algorithmic approach 00 and to verify the accuracy of a Java program for solving a given problem. Acquisition of problem solving skills, especially by developing algorithms and through small group team working. Development of an adequate degree of autonomy in the search of libraries useful for homework solving, also employing international website (therefore written in English language).

Metodi didattici

Il corso, al fine di raggiungere gli obiettivi formativi previsti, si svolge prevalentemente attraverso lezioni frontali. Sono inoltre previste esercitazioni in aula ed esercitazioni guidate svolte dagli studenti con lo scopo di stimolare l’approccio ai problemi con autonomia e senso critico. Tutte le attività sono svolte con supporto di lavagna digitale (tablet) e computer per la parte di programmazione.

Teaching Methods

The course, in order to achieve the expected objectives, mainly takes place through lectures. There are also practical based lessons in the classroom and guided exercises with teacher support with the aim of stimulating the approach to problem solving with autonomy and a critical thinking. All activities are carried out with the support of a digital board (tablet) and a computer for the programming activities.

Prerequisiti

Conoscenza dei concetti base della programmazione, la programmazione strutturata ed i costrutti e le strutture dati principali.

Prerequisites

Knowledge of basic programming concepts, structured programming and constructs and the main data structures.

Verifiche dell'apprendimento

L'esame consiste nella presentazione di un progetto ed una prova orale. Il progetto da elaborare viene concordato con il docente e consiste nella scelta di un problema e nella successiva applicazione di alcune delle tecniche apprese durante il corso per la risoluzione del problema. Durante la presentazione del progetto saranno chiesti eventuali approfondimenti sugli argomenti trattati durante il corso (definizioni, esempi rilevanti, applicazioni, collegamenti tra i vari argomenti.) con il duplice scopo di verificare il livello di conoscenza e di comprensione dei contenuti del corso e di valutare l'autonomia di giudizio, la capacità di apprendimento, l'abilità comunicativa e la proprietà di linguaggio scientifico e indi valutare le facoltà logico-deduttive acquisite dallo studente. La valutazione massima del progetto è 25. Per la prova orale il voto massimo è 10. La valutazione è fatta in trentesimi, gli studenti che superano il 30 riceveranno la lode.

Assessment

The exam consists in the presentation of a project. The project to be developed is agreed with the teacher and consists in the choice of a problem and in the subsequent application of some of the techniques learned during the course for the resolution of the problem. During the presentation of the project, any further information on the topics covered during the course will be asked (definitions, relevant examples, applications, links between the various topics ...) with the dual purpose of verifying the level of knowledge and understanding of the course contents and of evaluating the autonomy of judgment, the ability to learn, the communicative ability and the property of scientific language and then evaluate the logical-deductive faculties acquired by the student. The maximum mark for the project is 25. The maximum score for the oral exam is 10 The evaluation is made out of thirty, students that overcome 30 will receive the honor.

Programma del Corso

paradigmi di programmazione ad oggetti differenza tra classe ed oggetti information hiding Classi, variabili e metodi ereditarietà e polimorfismo implementazione di interfacce ed estensioni di classi classi astratte differenza classe astratta interfaccia I packages Operatori Parole chiave Differenza public private e protected Controllo del flusso Overloading e overriding I costruttori di classe Istanziazione delle variabili di classe e variabili di istanza costanti classi statiche Polimorfismo e programmazione dinamica I thread e la Java Virtual Machine La programmazione concorrente in Java Creazione e terminazione di un thread L’interfaccia Runnable Identificazione del thread La sincronizzazione dei thread Comunicazione fra thread I/O File Classi Reader e Writer Java e Networking client/server (socket e datagram socket) REST (spring) serializable JDBC interfacce grafiche java e XML (SAX, DOM) java e db no sql

Course Syllabus

object oriented programming differences between class and objects information hiding class, variables and methods inheritance and polymorphism implements interfaces and extends classes abstract class differences between abstract class and interfaces packages operators keywords differences public private e protected flow control Overloading and overriding constructors class variables and instance variables constant static class polymorphism and dynamic programming threads and Java Virtual Machine concurrent programming in Java create, run and destroy threads Runnable identify thread synchronized thread communication among thread I/O File Reader e Writer Classes Java ans Networking client/server (socket and datagram socket) REST (spring) serializable JDBC GUI java and XML (SAX, DOM) java and db no-sql

Testi di riferimento: Programmazione di base e avanzata con JAVA W. Savitch

Elenco delle unità didattiche costituenti l'insegnamento

Docente: ANTONINO GALLETTA

Orario di Ricevimento - ANTONINO GALLETTA

Dato non disponibile
  • Segui Unime su:
  • istagram32x32.jpg
  • facebook
  • youtube
  • twitter
  • UnimeMobile
  • tutti