Scheda programma d'esame
INFORMATICS
PIERFRANCESCO FOGLIA
Academic year2022/23
CourseENGINEERING MANAGEMENT
Code043II
Credits9
PeriodSemester 2
LanguageItalian

ModulesAreaTypeHoursTeacher(s)
INFORMATICAING-INF/05,NNLEZIONI90
ANTONIO LUCA ALFEO unimap
PIERFRANCESCO FOGLIA unimap
Obiettivi di apprendimento
Learning outcomes
Conoscenze

Obbiettivo del corso e’ di portare lo studente a:

  • conoscere l’architettura e i principi di funzionamento di un calcolatore;
  • acquisire i concetti di base della programmazione tramite  lo sviluppo di programmi in Java;
  • comprendere la complessità e i rischi associati allo sviluppo del software;
  • acquisire i concetti di base delle banche dati e basi di dati relazionali
Knowledge

The student who successfully completes the course will have the ability to develop program in the Java Programming Language; will be able to demonstrate a basic knowledge of the fundamental of computer programming and computer organization; will be aware of the cost and the risk associated to software development.

Modalità di verifica delle conoscenze

La verifica delle conoscenze avverrà tramite:

  1. una prova di laboratorio prevista all'inizio di ogni sessione di esame, in cui lo studente dovrà dimostrare la sua abilità nel risolvere problemi di programmazione
  2. Una prova pratica in laboratorio in cui lo sudente dimostrerà di aver acquisito i concetti di base delle banche dati e basi di dati relazionali, 
  3. una prova orale, in cui lo studente dovrà dimostrare la sua conoscenza del programma del corso e la sua capacità di esprimersi con proprietà di linguaggio
Assessment criteria of knowledge

During the oral exam the student must be able to demonstrate his/her knowledge of the course material and must be able to discuss the reading matter thoughtfully and with propriety of expression. In the written exam (2-3 hours, programming questions to be solved in Java), the student must demonstrate his/her ability to solve programming problems and implement methods in Java.

Methods:

  • Final written exam
  • Final laboratory practical demonstration

 

Further information:
The written exam is mandatory to be admitted to the oral exam

Capacità

Al termine del corso:

  • lo studente sarà in grado di descrivere nel linguaggio di programmazione Java algoritmi di elaborazione dell'informazione
  • lo studente sarà in grado di utilizzare l'IDE Eclipse per lo sviluppo di semplici programmi Java 
  • lo studente sarà in grado di utilizzare i diagrammi di flusso come strumento per la descrizione di algoritmi
  • Lo studente sarà in grado di scrivere interrogazioni nel linguaggio SQL e di utillizzare a livello base il DBMS relazionale MySQL
Skills

At the end of the course:

  • The student will be able to describe in the programming language Java information processing algorithms
  • The student will be able to use the Eclipse IDE to develop simple Java programs
  • The student will be able to use flowcharts as a tool for describing algorithms
Modalità di verifica delle capacità
  • Durante le sessioni di laboratorio informatico saranno svolti esercizi tramite l'IDE eclipse. Tali esercizi sono relativi a tutti gli aspetti di programmazione che fanno parte del programma.
  • Durante le sessioni di laboratorio informatico saranno inoltre svolti interrogazioni al DBMS MYSQL tramite il client MySQL Workbench. Tali esercizi sono relativi a tutti gli aspetti di programmazione che fanno parte del programma.
Assessment criteria of skills

Computer lab sessions will be performed using the eclipse IDE. These exercises relate to all aspects of programming that are part of the program.

Comportamenti
  • Lo studente potrà acquisire le prime nozioni relative al lavoro di gruppo
Behaviors
  • The student will acquire the first notions about group work
Modalità di verifica dei comportamenti
  • Durante le esercitazioni gli studenti sono organizzati in gruppi, e si verificano le specifiche dei metodi e delle interrogazioni preparate dagli studenti.
Assessment criteria of behaviors

During labs, the students are organized into groups, and their work is analyzed by the lectures.

Prerequisiti (conoscenze iniziali)
  • Nozioni elementari di matematica e logica
  • Nozioni di base di fisica (elettricità)
Prerequisites
  • Elementary Mathematics and  Logic
  • Basics of Physics (Electricity)
Indicazioni metodologiche

Il corso prevede:

  • lezioni frontali, dedicate agli aspetti teorici del corso e ad esempi applicativi 
  • esercitazioni di gruppo in laboratorio informatico

l'interazione fra studente e docente prevista avviene tramite ricevimento (ad orario prestabilito o in base alle necessità dello studente), e la posta elettronica.

A supporto delle lezioni sono fornite slide su alcune parti del corso, ed il testo didattico appositamente strutturato per il corso.

A supporto delle esercitazioni di laboratorio sono fornite allo studente le slide utilizzate durante le esercitazioni, esercizi e relative soluzioni presentate durante le esercitazioni.

Al fine di favorire la comunicazione docente – studente, è predisposta una pagina web del modulo, che servirà per ospitare le comunicazioni e materiale didattico aggiuntivo.

Teaching methods

 

Delivery: face to face

 

Learning activities:

  • attending lectures
  • individual study
  • Laboratory work

 

Teaching methods:

  • Lectures
  • laboratory

 

Programma (contenuti dell'insegnamento)

Principi di funzionamento di un calcolatore. Introduzione all’informatica. Algoritmi ed Esecutori. Architettura di un calcolatore e di un sistema di elaborazione. Rappresentazione delle informazioni ed aritmetica del calcolatore. Basi di numerazione. Sistema Operativo e software di base.

Introduzione alla programmazione. Sintassi e Semantica di un linguaggio di programmazione. Tipi di Dato. Variabili ed espressioni. Assegnazione. L’IO e la sua esemplificazione in Java. Precedenza ed Associatività. Diagrammi di flusso. Decisioni ed Interazioni. Tipo Booleano e suo utilizzo. Conversione fra tipi.  Tipi Riferimento. Stringhe. Metodi e funzioni. Effetti collaterali. Progettazione Top-Down. Visibilità.  Passaggio di Parametri.  Puntatori e Riferimenti. Classi. Costruttori. Metodi e costruttori caratteristici. Metodi e variabili di classe. Overloading. Incapsulamento: gli specificatori di accesso. Introduzioni agli algoritmi ed alle strutture dati. Gli Array. Algoritmi tipici per strutture dati.  Esemplificazione tramite il linguaggio Java.

Il processo di sviluppo del software. Il testing ed il debugging delle applicazioni. L’IDE Eclipse.

(Modulo DB)

Introduzione alle basi di dati ed ai linguaggi di interrogazione. Esemplificazioni tramite DBMS relazionale di ampia diffusione. Introduzione alla progettazione di basi di dati, il modello Entità – Relazione, il modello relazionale. Algebra relazionale. Il linguaggio SQL: interrogazioni semplici e avanzate. Statement DDL. Uso del software MySQL e del software MySQL Workbench per l’esecuzione di query SQL.

 

Syllabus

Fundamentals of computer organization and data representation. Fundamental of Computer programming (java is the reference language): variables and data types, statements, structured statements, conditional and iterative statements. Primitive and reference data types. Strings. Methods. Arrays. Class. Instance and class methods. Data Structures and their implementations. The software development process. Compiled and interpreted languages. The Java Virtual machine. A module on Database will be given by another Lectuter.

Bibliografia e materiale didattico
  • P. Foglia (a cura di), "Informatica per Ingegneria Gestionale", McGraw-Hill.
  • Matriale integrativo fornito dal docente
  • Slide di tutte le esercitazioni svolte in laboratorio
  • Testi di esame degli appelli precedenti

(Modulo Basi di dati)

  • P. Atzeni et al., Basi di dati. Modelli e linguaggi di interrogazione. McGraw-Hill, Milano, 2009
  • Slide delle lezioni e delle esercitazioni

 

L'ambiente di sviluppo Ecipse è disponibile gratuitamente. Gli studenti possono installarlo anche su PC-Notebook personali, in modo da poter svolgere autonomamente la preparazione all'esame. 

Indicazioni per non frequentanti

Le modalità di studio e di esame per gli studenti non frequentanti sono identiche a quelle dei frequentanti. 

Non-attending students info

Study and examination methods for non-attending students are the same as those of attending students.

Modalità d'esame

 L'esame è composto da:

  1. una prova pratica in laboratorio , concernente la risoluzione al calcolatore di esercizi riguardanti la programmazione in Java. Gli esercizi vengono valutati singolarmente, e la prova si intende superata quando si ottiene una votazione complessiva >= 15 (corrispondente circa alla risoluzione corretta di tre esercizi). La prova  valida viene mantenuta per l’intera sessione in cui si è sostenuta.
  2. Una prova pratica in laboratorio,  concernente la formulazione di query in SQL e/o la risposta a domande teoriche concernenti il programma di Basi di dati. Gli esercizi vengono valutati singolarmente, e la prova si intende superata quando si ottiene una votazione complessiva >= 18. La prova  valida viene mantenuta per un anno.  
  3. una prova orale, in cui, partendo dalla discussione degli esercizi svolti nella prova pratica 1), si mira a verificare la comprensione dei concetti di base della programmazione e della rappresentazione dell’informazione e la padronanza nell’utilizzo dei costrutti linguistici di Java, formulando eventualmente nuovi quesiti di programmazione e domande su specifici argomenti trattati. Per accedere alla prova orale è necessario aver superato la prova pratica 1). Una insufficiente conoscenza dei principi di programmazione ed una scarsa capacità di usare i costrutti Java determinano il mancato superamento della prova. Domande sui principi di funzionamento del calcolatore e della rappresentazione dell'informazione completano la prova.   

 

Assessment methods

The exam consists of:

  1. A practical test in the laboratory, concerning the resolution of exercises related to programming in Java. The exercises are evaluated individually, and the test is overcome when a total score of 15 or higher is obtained (corresponding to the correct resolution of three exercises). The valid test is maintained for the entire session in which it is carried out.
  2. An oral test where, starting from the discussion of the exercises carried out in the practical test 1, the aim is to verify the understanding of the basic concepts of programming and information  representation. The student must show mastery in the use of language constructs Of Java. To gain access to the oral exam, the student must have passed the practical test (a). Insufficient knowledge of programming principles and a poor ability to use Java constructs result in failure to pass the test. Questions about the principles of computer operation and information representation complete the test.
Altri riferimenti web

http://www2.ing.unipi.it/~a080066/didattica/BD/ per la parte di Basi di Dati

Updated: 02/08/2022 09:56