FONDAMENTI DI INFORMATICA canale 2
Docente coordinatore e verbalizzante: IRENE AMERINI
Docenti
Obiettivi formativi
Obiettivi generali:
Far acquisire allo studente alcune tecniche fondamentali della programmazione, attraverso il linguaggio di programmazione Python, dando enfasi alle
caratteristiche del linguaggio di programmazione che richiedono una comprensione approfondita del modello di esecuzione dei programmi,
fra cui ricorsione e strutture collegate. Nozioni introduttive sul costo dei programmi e tecniche algoritmiche di base su tipi di dati astratti
complessi come i grafi completano gli argomenti del corso.
Obiettivi specifici:
--------------------------
Conoscenza e comprensione:
--------------------------
Al termine del corso gli studenti:
- sviluppano la capacità di programmazione in ambiente Python;
- sono in grado di comprendere l'architettura dei calcolatori;
- conoscono i principi basilari dell'informatica.
------------------------------------
Applicare conoscenza e comprensione:
------------------------------------
Gli studenti sono in grado di utilizzare strumenti software per progettare algoritmi ed implementarli in linguaggio Python.
--------------------------------
Capacità critiche e di giudizio:
--------------------------------
Lo studente acquisice autonomia di giudizio nel proporre l’approccio più opportuno per sviluppare un programma in Python.
----------------------
Capacità comunicative:
----------------------
Le lezioni in aula e le esercitazioni del corso permettono agli studenti di essere in grado di comunicare/condividere i dettagli tecnici di una
applicazione sviluppata in Python, nonché le scelte progettuali adottate.
--------------------------
Capacità di apprendimento:
--------------------------
Oltre alle classiche capacità di apprendimento fornite dallo studio teorico del materiale didattico, le modalità di svolgimento del corso,
in particolare le esercitazioni in laboratorio, stimolano lo studente all'approfondimento autonomo di alcuni argomenti presentati nel corso,
al lavoro di gruppo, e all'applicazione concreta delle nozioni e delle tecniche apprese durante il corso.
Risultati di apprendimento attesi
Obiettivi generali:
Far acquisire allo studente le tecniche fondamentali della programmazione attraverso il linguaggio Python, con particolare attenzione alle caratteristiche del linguaggio che richiedono una comprensione approfondita del modello di esecuzione dei programmi e delle principali strutture dati. Il corso introduce inoltre i concetti fondamentali dei sistemi operativi, fornendo le basi per comprendere la gestione delle risorse hardware e software e l’interazione tra programmi e sistema.
Obiettivi specifici:
--------------------------
Conoscenza e comprensione:
--------------------------
Al termine del corso gli studenti:
- sviluppano la capacità di programmazione in ambiente Python;
- sono in grado di comprendere l'architettura dei calcolatori;
- conoscono i principi basilari dell'informatica.
------------------------------------
Applicare conoscenza e comprensione:
------------------------------------
Gli studenti sono in grado di utilizzare strumenti software per progettare algoritmi ed implementarli in linguaggio Python.
--------------------------------
Capacità critiche e di giudizio:
--------------------------------
Lo studente acquisisce autonomia di giudizio nel proporre l’approccio più opportuno per sviluppare un programma in Python.
----------------------
Capacità comunicative:
----------------------
Le lezioni in aula e le esercitazioni del corso permettono agli studenti di essere in grado di comunicare/condividere i dettagli tecnici di una
applicazione sviluppata in Python, nonché le scelte progettuali adottate.
--------------------------
Capacità di apprendimento:
--------------------------
Oltre alle classiche capacità di apprendimento fornite dallo studio teorico del materiale didattico, le modalità di svolgimento del corso,
in particolare le esercitazioni in laboratorio, stimolano lo studente all'approfondimento autonomo di alcuni argomenti presentati nel corso,
al lavoro di gruppo, e all'applicazione concreta delle nozioni e delle tecniche apprese durante il corso.
Prerequisiti
Nessun prerequisito specifico è richiesto per il superamento del corso.
Programma dell’insegnamento
- Nozioni introduttive: Architettura generale di un calcolatore. Concetto di algoritmo
- Nozioni elementari sulla programmazione in Python: Uso della shell e I/O di base. Uso dell'ambiente di sviluppo IDLE
- Aspetti di base della programmazione in Python: Espressioni aritmetiche e tipi di dati elementari. Variabili e istruzioni di assegnazione.
- Rappresentazione dell'informazione. Il tipo di dato stringa.
- Decisioni: costrutti if ed else-if (elif)
- Cicli: Ciclo for. Ciclo while. Cicli annidati
- Funzioni e moduli: Introduzione alla programmazione Python con funzioni.
- Moduli e loro uso. Esecuzione di script.
- Liste: Proprietà di base. Operazioni sulle liste. Algoritmi elementari che fanno uso di liste. Rappresentazione di tabelle e matrici.
- File e file system: Apertura, chiusura e manipolazione di file di testo. Funzioni di base per l'accesso al file system.
- Classi e Oggetti: La nozione di classe ed oggetto. I metodi di classe. Definizione di classe
- Insiemi: Creazione e Modifica di insiemi. Iterazione sugli elementi di un insieme. Operazioni su insiemi
- Dizionari: Accesso e manipolazione di dizionari. Uso di dizionari per realizzare strutture dati complesse.
- Nozioni avanzate: Sistemi operativi, reti di calcolatori
Testi di riferimento
C. Horstmann, R. D. Necaise
"Concetti di Informatica e fondamenti di Python"
ed. Maggioli, ISBN 9788891605085
Modalità di svolgimento
Didattica in aula e in laboratorio.
Frequenza
Non è prevista frequenza obbligatoria.
Modalità di esame
L'esame consiste in una prova scritta che si svolge a laboratorio in un unico slot temporale.
Esempi di domande
Dettagli sulla pagina web del corso (for A.A.2025-2026): https://classroom.google.com/c/ODQ0Mjk1NzczMTUx?cjc=nys4hr6w
Programmazione delle attività didattiche
Obiettivi per lo sviluppo sostenibile - Agenda ONU 2030
- Anno accademico2026/2027
- Corso di studio a cui afferisce l’insegnamentoIngegneria Gestionale
- Codice insegnamento10629061
- Anno e semestre1º anno - 2º semestre
- TipologiaAttività formative caratterizzanti
- AmbitoIngegneria informatica
- SSDIINF-05/A
- Presenza obbligatoriaNo
- LinguaITA
- CFU9 CFU
- Durata complessiva90 ore
- Distribuzione delle ore54 classroom hours, 36 training hours