Dettaglio insegnamento

PROGRAMMAZIONE 1

MF0163

Insegnamento
PROGRAMMAZIONE 1
Codice
MF0163
Anno Accademico
2023/2024
Anno regolamento
2023/2024
Corso di studio
INFORMATICA
Curriculum
000 - CORSO GENERICO
Responsabile didattico
CFU
9
Ore di lezione
72
Settore Scientifico Disciplinare (SSD)
INF/01 - INFORMATICA
Tipo di insegnamento
Attività formativa monodisciplinare
Fruizione insegnamento
OBB - Obbligatoria
Anno
1
Periodo
Primo Semestre
Sede
ALESSANDRIA
Lingua insegnamento
Italiano
Contenuti
Il corso ha la finalità di introdurre i fondamenti della programmazione degli elaboratori elettronici, partendo dal concetto di algoritmo e dalla descrizione dei concetti di base di un programma, per arrivare a concetti avanzati di strutture dati e di controllo dei linguaggi di programmazione. Il corso si propone, inoltre, di presentare i concetti di base del linguaggio di programmazione C impiegato a supporto dell’insegnamento della programmazione, nonché per lo svolgimento di esercitazioni pratiche in laboratorio.
Testi di riferimento
P. Deitel, H. Deitel Il linguaggio C. Fondamenti e tecniche di programmazione, Pearson.Materiale integrativo fornito dai docenti su DIR
Obiettivi formativi
Deve essere capace di usare la metodologia top-down nell’analisi dei problemi. In particolare, deve aver acquisito la capacita di
• determinare input e output;
• sviluppare diagrammi di flusso;
• sviluppare programmi nel linguaggio C utilizzando le nozioni di: variabili, tipi di dato; costrutto di selezione (if..else) e condizioni booleane; iterazione e costrutto while; cicli for e do-while; funzioni e passaggio dei parametri; passaggio dei parametri per valore e per riferimento; array e algoritmi su array; il tipo stringa; gestione dei files;
• Deve inoltre aver acquisito la capacità di analizzare la complessità di un algoritmo, compilare, verificare ed eseguire programmi.
Prerequisiti
Nessuno
Metodi didattici
Lezioni tradizionali e esercitazioni nel laboratorio informatico.
Altre informazioni
Controllo dell'apprendimento in itinere: durante il corso vengono svolte delle esercitazioni in laboratorio sotto la supervisione di un docente.
Modalità di verifica dell'apprendimento
L’esame e’ svolto seguendo due modalita’: con e senza l’uso del calcolatore. La prova con il calcolatore (prova di laboratorio) prevede lo sviluppo e la verifica di un programma in linguaggio C. La verifica senza calcolatore consiste in un esame scritto (obbligatorio) ed un orale (opzionale). L’esame scritto, a discrezione dello studente, puo’ essere sostenuto o tramite due prove in itinere, o con un’unica prova finale. Le prove scritte prevedono l’analisi di problemi di programmazione e lo sviluppo di diagrammi di flusso e programmi C atti a risolverli. La valutazione finale verra’ ottenuta tramite una media pesata dei risultati ottenuti nelle singole prove.
Programma esteso
- introduzione alla programmazione strutturata- metodologia top-down nell’analisi dei problemi e nello sviluppo dei diagrammi di flusso (e dei programmi)
- concetti di base della programmazione (espressi mediante il linguaggio C): - variabili, tipi di dato;
- input e output ;
- primi programmi C con il solo uso di sequenze;
- costrutto di selezione (if..else) e condizioni booleane;
- iterazione e costrutto while; cicli for e do-while; invarianti di ciclo (informali)
- funzioni e passaggio dei parametri; passaggio dei parametri per valore e per riferimento; - array e algoritmi su array; - il tipo stringa- gestione dei files;
- analisi di complessità di un algoritmo.- Introduzione al sistema operativo Linux e principali comandi per la gestione dei file e dei processi, e per la compilazione ed esecuzione di programmi.
Risultati di apprendimento attesi
Al termine del corso, lo studente deve essere in grado, dato un semplice problema di programmazione, di individuarne un algoritmo risolutivo, implementarlo in linguaggio C, eseguirlo al calcolatore.

Conoscenza e comprensione: concetto di algoritmo, concetto di programma, strutture dati fondamentali (tipi scalari, vettori, puntatori, file), costrutti di base della programmazione (if-then-else, while, for, funzioni e parametri).

Capacità di applicare conoscenza e comprensione: dato un problema,
- individuare i dati di input da raccogliere dall'utente e i dati di output da produrre;
- individuare le strutture dati necessarie per gestire tali dati;
- definire un algoritmo che trasforma i dati di input nei dati di output, seguendo i costrutti della programmazione;
- scrivere al calcolatore il programma sorgente che implementa l'algoritmo, utilizzando un linguaggio di programmazione (C);
- generare il programma eseguibile tramite la compilazione del programma sorgente, al calcolatore;
- esecuzione e test del programma eseguibile, al calcolatore.

Autonomia di giudizio: in modo autonomo lo studente deve riuscire ad identificare le strutture dati necessarie, definire ed implementare l'algoritmo nel linguaggio di programmazione (C), ed infine compilare ed eseguire il programma.

Abilità comunicative: lo studente deve riuscire a definire un algoritmo a vari livelli di astrazione, quali il diagramma di flusso, lo pseudo-codice, il programma in linguaggio di programmazione. Inoltre si esige che il programma richieda e presenti i dati all'utente tramite messaggi comprensibili dall'utente.

Capacità di apprendimento: lo studente deve essere capace di apprendere come si genera un algoritmo a partire dal problema, come si implementa l'algoritmo in C, ed infine come si compila e si esegue il programma al calcolatore.
Ultimo aggiornamento:09-09-2026 00:14:31