Home » Bachelor » Internet of Things, Big Data, Machine Learning » Study Plan » OBJECT ORIENTED PROGRAMMING AND LABORATORY
Teachers
Practical activities (exercises and demos) are carried out during the normal lecture hours. For this reason each credi unit for laboratory work is considered equivalent to 8 lecture hours.
Furthermore, the student should have developed practical experience in using typical programming tools, including Eclipse, Intellij, git, maven.
Clean coding.
Procedural abstraction: specification, contracts, pre and post-conditions, assertions, exceptions. Checked and unchecked exceptions, reflection and masking; overloading.
Data abstraction: abstract data types, abstract and concrete specification, invariants.
Abstraction of iteration: iterators.
OO Design with Card-Responsability-Collaboration. State, behavior and protocol. Single Responsibility Principle.
Abstraction on types: abstract classes, interfaces; substitution principle, equality, polymorphism, inheritance. Parametric types, internal classes, anonymous classes. Dependency inversion.
Functional programming in Java.
Design patterns: factory, builder, decorator, observer.
Complementary books: 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: dmif@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)