Scheda programma d'esame
FONDAMENTI DI INFORMATICA
PIERFRANCESCO FOGLIA
Anno accademico2023/24
CdSINGEGNERIA GESTIONALE
Codice1117I
CFU6
PeriodoSecondo semestre
LinguaItaliano

ModuliSettore/iTipoOreDocente/i
FONDAMENTI DI INFORMATICAING-INF/05LEZIONI60
FEDERICO AROMOLO 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 e le tecniche di base per la rappresentazione dei dati;
  • acquisire i concetti di base della programmazione tramite  lo sviluppo di programmi in Java;
  • comprendere le fasi dello sviluppo del ssoftware e la complessità e i rischi associati ad esso;
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, computer organization and data representation; 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. Un pretest, in cui lo studente deve dimostrare la sua conoscenza degli elementi base del corso
  2. una prova pratica di laboratorio prevista all'inizio di ogni sessione di esame, in cui lo studente dovrà dimostrare la sua abilità nel risolvere problemi di programmazione
  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 practical examination (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:

  • A pretest, in which the student must demonstrate his or her knowledge of the basic elements of the course

  • A practical laboratory test scheduled at the beginning of each exam session, in which the student must demonstrate his ability to solve programming problems

  • An oral test, in which the student must demonstrate his or her knowledge of the course syllabus and his or her ability to express himself or herself with language properties

 

 

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 programmi Java 
  • lo studente sarà in grado di utilizzare i diagrammi di flusso come strumento per la descrizione di algoritmi
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 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.
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
Prerequisites
  • Elementary Mathematics and  Logic
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), la posta elettronica e la piattaforma teams.

A supporto delle lezioni sono fornite slide su alcune parti del corso, ed un 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)

Introduzione all’informatica ed al pensiero computazionale. Algoritmi ed Esecutori. Esempi di algoritmi. Architettura di un calcolatore e di un sistema di elaborazione. Tecniche di rappresentazione  della 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 la manipolazione di strutture dati e dell'informazione.  Esemplificazione tramite il linguaggio Java.

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

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. Testing and debugging. The eclipse IDE. Compiled and interpreted languages. The Java Virtual machine. 

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

 

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. Un pretest, in cui lo studente deve dimostrare la sua conoscenza degli elementi base del corso, il cui superamento è necessario per proseguire l'esame.
  2. una prova pratica in laboratorio , concernente la risoluzione al calcolatore di esercizi riguardanti la programmazione in Java. 
  3. una prova orale, in cui, partendo dalla discussione degli esercizi svolti nella prova pratica 2), 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 2). 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 pretest, in which the student must demonstrate his or her knowledge of the basic elements of the course
  2. A practical test in the laboratory, concerning the resolution of exercises related to programming in Java. 
  3. An oral test where, starting from the discussion of the exercises carried out in the practical test 2, 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.
Ultimo aggiornamento 16/04/2024 19:09