Il modulo Programmazione I del corso Fondamenti di Programmazione si concentra sulla formazione di studenti competenti nella programmazione ANSI C, capaci di affrontare sfide di media complessità, di valutare, scegliere e progettare algoritmi, di comunicare usando le tecniche più appropriate ed un linguaggio informatico appropriato. Il modulo include cenni di rappresentazione dell’informazione, di architettura del calcolatore e sistemi operativi.
Al termine di questo modulo lo studente ha una conoscenza completa del linguaggio ANSI C.
Conoscenza e capacità di comprensione (knowledge and understanding):
L'obiettivo principale è fornire agli studenti una conoscenza del linguaggio di programmazione ANSI C, compresa la comprensione della sua sintassi, semantica e applicazioni. Il modulo si concentra sui tipi di dato, variabili, operatori, strutture di controllo, funzioni e puntatori.
Capacità di applicare conoscenza e comprensione (applying knowledge and understanding):
Gli studenti svilupperanno la capacità di applicare le conoscenze acquisite attraverso esercitazioni ed esercizi svolti sia in forma cartacea che con il calcolatore con l’obiettivo di mettere in pratica le abilità di risoluzione dei problemi e di scrittura di codice ANSI C.
Questo modulo mira a rendere gli studenti competenti nell'utilizzo delle risorse disponibili, comprese le funzioni della libreria standard ANSI C e le loro applicazioni pratiche, con particolare attenzione alle funzioni di input/output, la manipolazione delle stringhe, la gestione elementare della memoria e la gestione dei file.
Capacità di apprendimento (learning skills)
Gli studenti saranno in grado di analizzare e valutare problemi di media complessità quali la gestione di sequenze, dimensionamento, elaborazione che prevede l’uso di allocazione di memoria e applicare la programmazione in ANSI C per risolverli, usando correttamente un ambiente di sviluppo e gli strumenti di debug per la risoluzione di errori comuni.
Abilità comunicative (communication skills)
Questo insegnamento introdurrà gli studenti al gergo informatico, e consentirà loro di comunicare in modo efficace attraverso il linguaggio matematico/informatico, consentendo la condivisione di soluzioni e idee di programmazione.
Il corso prevede come metodo di insegnamento principale le lezioni frontali per acquisire le conoscenze teoriche di base e tutti gli elementi sintattici e lo svolgimento di esercitazioni, da svolgere anche in modo autonomo, proposte dal docente per acquisire la capacità di risolvere i problemi, applicare la conoscenza e utilizzare gli ambienti e le metodologie di sviluppo.
Il docente propone, inoltre, delle esercitazioni individuali che consistono nella soluzione di un problema che lo studente deve affrontare in autonomia che vengono successivamente corrette o discusse in classe.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza potranno essere introdotte le necessarie variazioni rispetto a quanto dichiarato in precedenza, al fine di rispettare il programma previsto e riportato nel syllabus.
La frequenza non è obbligatoria, seppure fortemente consigliata, per sostenere con successo la prova di esame.
Lo studente è tenuto a frequentare almeno il 70% delle lezioni del corso per poter sostenere la prova in itinere del modulo.
Qualora l'insegnamento venisse impartito in modalità mista o a distanza i requisiti per la partecipazione alle prove in itinere potranno essere modificati
CONCETTI PRELIMINARI
IL LINGUAGGIO ANSI C
Argomenti | Riferimenti testi | |
---|---|---|
1 | Algoritmi | [BeGu] Capitolo 3 |
2 | Rappresentazione dell'informazione | [BeGu] App. D, E |
3 | Architettura del Calcolatore e Linguaggi di Programmazione | [BeGu] Capitolo 1, 2, 4 |
4 | Elementi fondamentali del linguaggio C | [BeGu] Capitolo 5, 6, 7, 8, 9 |
5 | Tipi Strutturati | [BeGu] Capitolo 10, 13, 14, 16 |
6 | Funzioni | [BeGu] Capitolo 11,15 |
7 | Gestione dell’Input/Output (I/O) | [BeGu] Capitolo 17 |
8 | Gestione della memoria | [BeGu] Capitolo 14 |
Prova in itinere
Prova finale del modulo Programmazione I
Prova di esame dell’insegnamento
Esempi di domande ed esercizi sono disponibili sul portale Studium.UniCT di Ateneo e/o la piattaforma Microsoft Teams