Guida degli insegnamenti

Syllabus

Partially translatedTradotto parzialmente
[W000914] - PROGRAMMAZIONE AD OGGETTIOBJECT - ORIENTED PROGRAMMING [Cognomi M-Z]
Luca VIRGILI
Lingua di erogazione: ITALIANOLessons taught in: ITALIAN
Laurea - [IT04] INGEGNERIA INFORMATICA E DELL'AUTOMAZIONE First Cycle Degree (3 years) - [IT04] COMPUTER AND AUTOMATION ENGINEERING
Dipartimento: [040040] Dipartimento Ingegneria dell'InformazioneDepartment: [040040] Dipartimento Ingegneria dell'Informazione
Anno di corsoDegree programme year : 2 - Primo Semestre
Anno offertaAcademic year: 2024-2025
Anno regolamentoAnno regolamento: 2023-2024
Obbligatorio
Crediti: 9
Ore di lezioneTeaching hours: 72
TipologiaType: B - Caratterizzante
Settore disciplinareAcademic discipline: ING-INF/05 - SISTEMI DI ELABORAZIONE DELLE INFORMAZIONI

LINGUA INSEGNAMENTO LANGUAGE

ITALIANO

Italian


PREREQUISITI PREREQUISITES

Conoscenze informatiche di base come, ad esempio, quelle acquisite in un corso di Fondamenti di Informatica.

Basic computer science concepts typical of a first computer science course.


MODALITÀ DI SVOLGIMENTO DEL CORSO DEVELOPMENT OF THE COURSE

Lezioni frontali sugli argomenti in programma, esercitazioni di Programmazione ad Oggetti svolte in classe. Il corso sarà suddiviso in lezioni (60%) ed esercitazioni (40%). L'insegnamento è attivo sulla piattaforma Moodle di Ateneo

Lectures on topics scheduled, Object Oriented exercises carried out in class. Lectures will be divided in frontal lectures (60%) and workshops (40%). The teaching is active on the University's Moodle platform


RISULTATI DI APPRENDIMENTO ATTESI LEARNING OUTCOMES
Conoscenze e comprensione.

L’insegnamento permette agli studenti di acquisire le nozioni fondamentali e le conoscenze avanzate della Programmazione ad Oggetti, anche tramite lo studio di un linguaggio di programmazione di riferimento. Tali conoscenze, integrando le nozioni acquisite nei precedenti corsi di programmazione, costituiranno degli approfondimenti che dovranno potenziare la comprensione della teoria dei linguaggi e dei vantaggi dei diversi paradigmi di programmazione.


Capacità di applicare conoscenze e comprensione.

Al termine del corso lo studente sarà in grado di utilizzare in maniera appropriata i principi della programmazione ad oggetti e la sintassi del linguaggio adottato nel corso per sviluppare programmi di media complessità e con caratteristiche di flessibilità, rispondenza ai requisiti ed efficienza, scegliendo gli algoritmi e le strutture dati più adeguati al particolare problema.


Competenze trasversali.

L’esecuzione di un progetto, che verrà svolto in gruppi o in autonomia e che porterà alla stesura di una relazione, contribuirà a migliorare sia la capacità comunicativa che deriva anche dal lavoro in gruppo, sia la capacità di apprendimento e di problem solving in autonomia.


Knowledge and Understanding.

The course enables students to acquire the fundamental notions and advanced knowledge of Object-Oriented Programming, also through the study of a reference programming languages. This knowledge, by integrating the knowledge gained during the previous programming courses will form the insights that will enrich the understangin of the theory of languages and of the advantages of different programming paradigms.


Capacity to apply Knowledge and Understanding.

At the end of the course students will be able to use properly the principles of object-oriented programming and the syntax of the language used in the course to develop software of medium complexity, characterized by flexibility, compliance with the requirements and efficiency, choosing the most appropriate data structures and algorithms for the particular problem at hand.


Transversal Skills.

The execution of a project, which will be played in groups or independently and that will lead to the drafting of a report, will help improve both the communication skills that also stems from teamwork, and autnonomous learning and problem-solving skills.



PROGRAMMA PROGRAM

I seguenti argomenti saranno trattati attraverso lezioni teoriche (L) ed esercitazioni (E):

• Il processo di sviluppo del software: aspetti organizzativi e metodologici; prodotto software e processo; il ciclo di vita dei sistemi software. Analisi e specifica dei requisiti: modelli e linguaggi di specifica; UML ed il suo uso. (L)
• Evoluzione dei linguaggi di Programmazione: astrazione sul controllo; astrazione sui dati
• Astrazione sui dati e sul controllo: la Programmazione a Oggetti. (L)
• Il linguaggio Java.
• Definizione di classi: regole di visibilità, variabili di istanza e di classe; creazione degli oggetti; costruttori, definizione di metodi; overloading. (L+E)
• Definizione di interfacce: implementazione di interfacce, Sottotipi, tipo statico e dinamico. (L+E)
• Type Soundness; polimorfismo indotto dal sottotipaggio. (L+E)
• Definizione di sottoclassi, costruttori, overriding di metodi, lookup dinamico dei metodi, relazioni IS-A e IS-LIKE, metodi, variabili, classi final. (L+E)
• Eccezioni e Packages. (L+E)
• Tipi Generici. (L+E)
• Cenni ai thread e alla programmazione concorrente in Java. (L+E)
• Cenni alla progettazione di applet e interfacce grafiche. (L+E)
Le esercitazioni saranno svolte per i vari argomenti attraverso esempi applicativi in linguaggio Java, svolte anche in gruppo.

The following contents will be provided by frontal lectures (L) and workshops (W).
• History and characteristics of Java. (L)
• Some references to computer science fundamentals. (L)
• Object oriented design with UML. (L+W)
• Description of suggested development environments. I/O, operators, control structures, functions, pointers. (L+W)
• Classes, objects, member functions and strings. (L+W)
• Template and custom classes, exception handling. Overloading, inheritance and polymorphism. (L+W).
Workshops are based on the practical use of the JEVA programming language, even working in groups of students.


MODALITÀ DI SVOLGIMENTO DELL'ESAME DEVELOPMENT OF THE EXAMINATION
Modalità di valutazione dell'apprendimento.

La valutazione del livello di apprendimento degli studenti avviene sulla base della corrispondenza alle specifiche assegnate e la qualità del progetto sviluppato e delle risposte a due/tre domande su temi trattati nel corso effettuate nella prova orale.
Per gli studenti e le studentesse con disabilità/invalidità o disturbo specifico di apprendimento (DSA), che abbiano presentato debita richiesta di supporto per affrontare lo specifico esame di profitto all’Info Point Disabilità/DSA dell’Ateneo, le modalità di esame saranno adattate alla luce di quanto previsto dalle linee guida di Ateneo


Criteri di valutazione dell'apprendimento.

Per superare con esito positivo la prova orale lo studente dovrà dimostrare di possedere una complessiva conoscenza dei contenuti dell’insegnamento, esposti in maniera sufficientemente corretta con utilizzo di adeguata terminologia tecnica.


Criteri di misurazione dell'apprendimento.

Attribuzione del voto finale in trentesimi.


Criteri di attribuzione del voto finale.

La valutazione finale sarà in relazione al grado di conoscenza dei contenuti del corso evidenziato nell'ambito della prova orale.


Learning Evaluation Methods.

Evaluation of students' learning level is performed on the basis of the correpsndence to given specifications and the quality of the projected developed as well as on the answers, given during the oral examnation, to the two/three questions on the course topics.
For students with disabilities/invalidities or specific learning disorders (DSA), who have submitted a request for support to take the specific exam at the Disability/DSA Info Point of the University, the exam methods will be adapted in light of what is recommended by the University guidelines


Learning Evaluation Criteria.

To pass the oral examination the student must show a comprehensive knowledge of the course contents, expounded in a sufficiently correct way by using an adequate tecnical terminology.


Learning Measurement Criteria.

Marks in thirtieths.


Final Mark Allocation Criteria.

The final evaluation will be in relation to the grade of knowledge of the course contents, as comes out from oral examination.



TESTI CONSIGLIATI RECOMMENDED READING

• Joshua Bloch, “Effective Java”.
• Matt Weisfeld, “The Object Oriented Thought Process”.
• Frontoni, Mancini “Programmazione a oggetti per l’ingegneria informatica”.
• Materiale didattico disponibile al seguente indirizzo: https://learn.univpm.it

• Joshua Bloch, “Effective Java”.
• Matt Weisfeld, “The Object Oriented Thought Process”.
• Frontoni, Mancini “Programmazione a oggetti per l’ingegneria informatica”.
• Slides and other support available at the following URL: https://learn.univpm.it


Scheda insegnamento erogato nell’A.A. 2024-2025
Le informazioni contenute nella presente scheda assumono carattere definitivo solo a partire dall'A.A. di effettiva erogazione dell'insegnamento.
Academic year 2024-2025

 


Università Politecnica delle Marche
P.zza Roma 22, 60121 Ancona
Tel (+39) 071.220.1, Fax (+39) 071.220.2324
P.I. 00382520427