We introduce object oriented (OO) programming, which is found today in many programming languages (C++, Python, Perl). We will see it on the Java language as an example. Java is didactically clean, free of charge for various platforms (Windows, Linux, Mac), has a complete and good documentation. An advantage of OO programming is that structuring software into modules (classes) is made easy. We will see the use of the Java library of classes for the construction of user interfaces.
Introduction to object oriented programming, to implementation of data types, to graphical user interfaces. We will use the Java programming language as an example.
Typical concepts of the object oriented programming paradigm, and their implementation in Java (class, object, inheritance, dynamic binding, memory management, exceptions, etc.). Object oriented philosophy in the implementation of algorithms. Classes as modules which implement a data type (values and operations), with examples. An experience in the development of more complex programs by using (library) classes as building blocks: user interfaces in Java.
Coordinated lessons in classroom and in laboratory (with exercises). Each week has three lessons of two hour each. In the typical week, one lesson is in classroom, one lesson in laboratory, and one is either in classroom or in laboratory depending on the flow of teaching material.
Object oriented programming paradigm and Java language. Classes and objects. Instance and class fields and methods. Various notions of object equaliy and copy. Constructors. Clientship. Inheritance, overriding. Dynamic binding. Abstract classes and interfaces. Exceptions and their management. Programs with graphical interface. Making graphical interfaces in Java.
Course notes. On-line manual and tutorials for Java.
Ricevimento: On request. In addition, on aulaweb there will be a discussion forum for questions and answer of general interest for all students.
ELENA ZUCCA (President)
DAVIDE ANCONA
PAOLA MAGILLO
September 26, 2016
PROGRAMMING 2
The exam consists of a pratical part in laboratory and of an oral part. As a rule, the two parts are in the morning and afternoon of the same day and they are considered as a whole. For details, see "Assessment methods".
The laboratory part of the exam will ask to modify a "case study" program presented during the year. At the end of the lessons, some examples of laboratory exams will be given, with their solutions. In the laboratory exam, the student can bring with him/her notes, photocopies, books, and has access to Java on-line documentation.
The oral exam will ask questions about the theoretical concepts of object oriented programming and its implementation in Java. Typically, this will also involve examples (with writing of Java code) taken from the material seen in lessons and exercises during the year.
Required notions: Programmazione 1