Teaching‎ > ‎

Programmazione Avanzata 2019-2020

Due to limitations caused by the virus emergency, lectures started in streaming on Twitch, rather than in presence in classroom, on 2/3/2020 at 16.00; streaming lectures then moved on the MS Teams platform of UniTs. Actual starting time is 16.00 on Monday and 8.45 on Tuesday. Lectures done in streaming have been recorded (with the exception of the first one) and are available for later consumption: see the bottom of the page.

Moreover, for at least the summer 2020 exam sessions, the written test will be replaced by an oral interview. Interviews will be done on the MS Teams platform of UniTs or, in case of problems with the latter, with another similar tool (e.g., Google Meet). Precise instruction will be given to the students registered for each exam date after the registration deadline and before the exam. Students who want to listen to others students' interviews, but are not registered, should ask authorization to the teacher.

This page is about the course named:
(or Advanced programming, in English)

Language of lectures

Italian

Detailed program

Available here, in Italian,  or here, in English

Goal of the course

Knowledge and understanding

Know what object-oriented programming is: how to store, process, and access data with objects.
Know the syntax and the features of the Java programming language and of the Java software platform.
Know the style conventions for Java language.
Know Java main frameworks and APIs.
Know the common structure of the basic development tools, including those for unit testing.
Understand how a Java program is executed by a computer.

Applying knowledge and understanding

Design, develop, test, and debug complex software in Java.

Making judgements

Decide if Java fits a given programming task.
Judge the quality of a software written in Java in terms of code style, software artifacts structure, testing, and documentation.

Communication skills

Describe the motivations behind choices in the design and development of a software written in Java.
Comprehend, formulate, and describe the specifications for a software.

Learning skills

Learn, through software documentation and examples, to use any software written in Java.
Learn the basics of other object-oriented programming languages.

Requirements

Basics of programming and data structures: algorithm, data types, loops, recursion, parallel execution.
Basics of computer networks: IP, TCP.

Teaching format

Frontal lessons with blackboard and slide projection; exercises, under teacher’s supervision, consisting in solving simple tasks of software design and development in Java. Bring your own laptop!

End-of-course test (exam)

Due to the Covid19 circumstances, for at least the summer 2020 exam sessions, the written test will be replaced by an oral interview. Interviews will be done on the MS Teams platform of UniTs or, in case of problems with the latter, with another similar tool (e.g., Google Meet). Precise instruction will be given to the students registered for each exam date after the registration deadline and before the exam. Students who want to listen to others students' interviews, but are not registered, should ask authorization to the teacher.

The exam works in one of the following ways:
  1. Three parts: Home assignments + Project + Written test. Exam is passed only if the grade is >6/10 on each part. Overall grade is determined as 10%, 60%, 30%, respectively. The grades for the Home assignments are communicated during the course.
  2. Three parts: Project + Written test + Oral exam. Exam is passed only if the grade is >6/10 on each part. Overall grade is determined as 40%, 30%, 30%, respectively.
The exam may be repeated an unlimited number of times. Overall grades corresponding to failed exams (with the exception of Project missed deadlines) will be registered as failed. The student may ask to repeat an exam also when passed: acceptance and specific parts to be repeated will be agreed with the teacher.
Exam parts and specific instructions:
  • Home assignments. During the course, some exercises will be assigned. Each exercise will consist in the design and development of a simple software in Java; the exercise will start in the classroom under the teacher’s supervision. The student will be required to submit the software within a deadline. The evaluation of each exercise will be as follows: 0/10 not submitted (missed deadline); 5/10 submitted, but not working; 8/10 submitted and almost fully working; 10/10 submitted and fully working. The overall Home assignments evaluation will be the average of the exercise evaluations.
  • Project. At the end of the course, a project will be assigned that consists in the design and development of a software in Java, including testing and a simple documentation and following the provided specifications. The student will be required to submit the software within a deadline corresponding to the day of the written test she/he plans to apply. The evaluation will be as follows: 0/10 not submitted (missed deadline); 5/10 to 10/10 submitted, depending on quality of code, software structure, documentation, test coverage, degree of working. The project assignment is at the bottom of this page.
  • Written test. Questions on the course program with short open answers and short programming exercise.
  • Oral exam. Questions on the course program and short programming exercise.

Student musregister for the exam session of their interest using the online sistem (esse3). Note that there are deadlines for registration (usually 1 week before the session date). 

Home assignments

Assignments have to be shared with the teacher using repl.it. Students have to send an email to the teacher, within the deadline, saying who they are and which is the url of the shared replDue dates are at 23.59, AoE time. Please do not change the code in repl after the due date.
  1. Anagrams, slide 149, assigned on 16/03/2020, due date 30/03/2020
  2. Equivalence, slide 223, assigned on 30/03/2020, due date 20/04/2020
  3. GZIP File Array, slide 336, assigned on 28/04/2020, due date 11/05/2020
Grades for the home assignments are visible here.

Lessons timetable and course calendar

The course will start on 2 March 2020.
Lessons will be held in Piazzale Europa campus:
  • Room B, ground floor, C7 building (on Monday)
  • Room A, ground floor, C5 building (on Tuesday)

Course material

The course material (teacher's slides) is attached at the bottom of this page. The full pack of slides might be updated during the course.

Lecture recordings

In order to tackle the limitations caused by the virus emergency, the lectures are being done in streaming on the MS Teams platform of UniTs, following the predefined time table. Those lectures, with the exception of the first one, which has been lost due to technical reasons, are available here for later consumption.

Results of students' assessment

IN20 (13 answers)
IN05 (4 answers)
Questions
Le conoscenze preliminari possedute sono risultate sufficienti per la comprensione degli argomenti previsti nel programma d'esame?D1
Il carico di studio dell'insegnamento è proporzionato ai crediti assegnati?D2
Il materiale didattico (indicato e disponibile) è adeguato per lo studio della materia?D3
Le modalità di esame sono state definite in modo chiaro?D4
Gli orari di svolgimento di lezioni, esercitazioni e altre eventuali attività didattiche sono rispettati?D5
Il docente stimola/motiva l'interesse verso la disciplina?D6
Il docente espone gli argomenti in modo chiaro?D7
Le attività didattiche integrative (esercitazioni, tutorati,laboratori, etc...), se previste, sono utili all'apprendimento della materia?D8
L'insegnamento è stato svolto in maniera coerente con quanto dichiarato sul sito web del corso di studio?D9
Il docente è reperibile per chiarimenti e spiegazioni?D10
E' interessato/a agli argomenti trattati nell'insegnamento?D11
E' complessivamente soddisfatto di come è stato svolto questo insegnamento?D12
Ritieni che gli strumenti per la didattica a distanza utilizzati dal docente siano stati fruibili: TEAMSD13
Ritieni che gli strumenti per la didattica a distanza utilizzati dal docente siano stati fruibili: MoodleD14
Ritieni che gli strumenti per la didattica a distanza utilizzati dal docente siano stati fruibili: Altre piattaforme didattiche (Classroom, Impari, altre)D15
Ritieni che gli strumenti per la didattica a distanza utilizzati dal docente siano stati fruibili: Altre piattaforme per videoconferenza (Google Meet, Skype, Zoom, altre)D16
Ritieni che gli strumenti per la didattica a distanza utilizzati dal docente siano stati fruibili: Cartelle virtuali o cloud storageD17
Ritieni che gli strumenti per la didattica a distanza utilizzati dal docente siano stati fruibili: Messaggistica istantanea (Whatsapp, altro)D18
Ritieni che gli strumenti per la didattica a distanza utilizzati dal docente siano stati fruibili: Piattaforme social (Facebook, Instagram, altro)D19
Ritieni che gli strumenti per la didattica a distanza utilizzati dal docente siano stati fruibili: AltroD20
Il materiale didattico messo a disposizione on line è stato soddisfacente: audio-lezioni registrateD21
Il materiale didattico messo a disposizione on line è stato soddisfacente: audio-video-lezioni registrate (asincrone)D22
Il materiale didattico messo a disposizione on line è stato soddisfacente: registrazioni delle lezioni in streaming (sincrone)D23
Il materiale didattico messo a disposizione on line è stato soddisfacente: slide e/o pdfD24
Il materiale didattico messo a disposizione on line è stato soddisfacente: altri fileD25
Il materiale didattico messo a disposizione on line è stato soddisfacente: link a contenuti didattici (Youtube, altro)D26
Il materiale didattico messo a disposizione on line è stato soddisfacente: AltroD27
La modalità didattica a distanza ti ha permesso di studiare in autonomia?D28
Durante il periodo di svolgimento delle lezioni il docente ha garantito la possibilità di interazione con gli studenti?D29
Il docente ha adeguato il materiale didattico alle specificità della didattica a distanza?D30
Per questo insegnamento il docente ha messo a disposizione tempestivamente il materiale didattico?D31
COMPLESSIVAMENTE, la risposta del docente all’emergenza COVID19 PER QUESTO INSEGNAMENTO è stata soddisfacente?D32
ċ
advanced-programming-2020-project.zip
(269k)
Eric Medvet,
May 25, 2020, 6:20 AM
ċ
advanced-programming-2020.zip
(14798k)
Eric Medvet,
May 31, 2020, 11:04 PM