CODE | 48382 |
---|---|
ACADEMIC YEAR | 2016/2017 |
CREDITS |
7 credits during the 2nd year of 8766 Mathematical Statistics and Data Management (L-35) GENOVA
7 credits during the 3nd year of 8760 Mathematics (L-35) GENOVA 7 credits during the 2nd year of 9011 Mathematics (LM-40) GENOVA |
SCIENTIFIC DISCIPLINARY SECTOR | INF/01 |
LANGUAGE | Italiano |
TEACHING LOCATION | GENOVA (Mathematical Statistics and Data Management) |
SEMESTER | 1° Semester |
TEACHING MATERIALS | AULAWEB |
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.
Office hours: 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
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.
September 26, 2016
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.
Date | Time | Location | Type | Notes |
---|---|---|---|---|
01/06/2017 | 09:00 | GENOVA | Laboratorio | |
30/06/2017 | 09:00 | GENOVA | Laboratorio | |
24/07/2017 | 09:15 | GENOVA | Laboratorio | Sostituisce la prova del 20 luglio (spostamento di data). |
04/09/2017 | 09:00 | GENOVA | Laboratorio |
Required notions: Programmazione 1