Docenti
Le attività pratiche (esercitazioni e demo) vengono svolte immerse nelle lezioni frontali e per questa ragione ciascun CFU di laboratorio viene considerato equivalente a 8 ore di lezione.
programmazione in Java quali: eclipse, intellij, git, maven.
Concetti di base di Java: package, classe, oggetti, variabili, allocazione in memoria; mutabilità; chiamate dei metodi; type checking; overloading; dispatching dei metodi; tipi di base (vettori, array, collections, mappe, stringhe); tipi parametrici.
Clean coding.
Astrazione procedurale: la specifica, contratti, pre e post-condizioni, le asserzioni, le eccezioni: checked, unchecked; definizione di nuove eccezioni; gestire le eccezioni con reflection e masking; buone pratiche; overloading dei metodi.
Astrazione sui dati: tipi di dati astratti, la loro specifica astratta e concreta; gli invarianti.
Astrazione sull’iterazione: uso e specifica di iteratori; invarianti.
Design con Card-Responsibility-Collaboration; stato e comportamento e protocollo; single responsibility principle.
Astrazione sui tipi: classi astratte; interfacce; tipi reali e apparenti; substitution principle; uguaglianza; polimorfismo; ereditarietà. Tipi parametrici. Classi interne, classi anonime. Dependency inversion.
Programmazione funzionale in Java.
Design pattern: factory, builder, decorator, observer.
Altri testi suggeriti a complemento: J. Bloch. Effective Java, Addison-Wesley Professional; 3 edition (January 6, 2018), ISBN-13: 978-
0134685991.
R. Martin. Clean Code: A Handbook of Agile Software Craftsmanship. ISBN-13: 978-0132350884, Prentice Hall; 1 edition (August 11, 2008).
Università degli Studi di Udine
Dipartimento di Scienze Matematiche, Informatiche e Fisiche (DMIF)
via delle Scienze 206, 33100 Udine, Italy
Tel: +39 0432 558400
Fax: +39 0432 558499
PEC: amce@postacert.uniud.it
p.iva 01071600306 | c.f. 80014550307
30 km from Slovenia border
80 km from Austria border
120 km from Croatia border
160 km South West of Klagenfurt (Austria)
160 km West of Lubiana (Slovenia)
120 km North East of Venezia (Italy)