Salta al contenuto principale della pagina

PROGRAMMING 2

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

OVERVIEW

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. 

AIMS AND CONTENT

LEARNING OUTCOMES

Introduction to object oriented programming, to implementation of data types, to graphical user interfaces. We will use the Java programming language as an example. 

 

LEARNING OUTCOMES (FURTHER INFO)

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.

TEACHING METHODS

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.

SYLLABUS/CONTENT

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. 

 

 

RECOMMENDED READING/BIBLIOGRAPHY

Course notes. On-line manual  and tutorials for Java. 

TEACHERS AND EXAM BOARD

Exam Board

ELENA ZUCCA (President)

DAVIDE ANCONA

PAOLA MAGILLO

LESSONS

TEACHING METHODS

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.

LESSONS START

September 26, 2016

Class schedule

PROGRAMMING 2

EXAMS

EXAM DESCRIPTION

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".

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.

 

Exam schedule

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

FURTHER INFORMATION

Required notions: Programmazione 1