INGEGNERIA ELETTRICA ELETTRONICA E INFORMATICAIngegneria informaticaAnno accademico 2023/2024

9797558 - FONDAMENTI DI PROGRAMMAZIONE A - E
Modulo PROGRAMMAZIONE I

Docente: VINCENZA CARCHIOLO

Risultati di apprendimento attesi

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.

  • conoscenza elementare dei sistemi di numerazione e rappresentazione dell’informazione
  • conoscenza elementare dell'architettura del calcolatore e dei principi di funzionamento dei sistemi operativi
  • conoscenza delle tecniche di soluzione dei problemi, dei principi dell'informatica
  • conoscenza del paradigma di programmazione di tipo procedurale.
  • conoscenza della sintassi e della semantica del linguaggio ANSI C

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 risolvere problemi elementari, scrivere l’algoritmo risolutivo e implementarlo usando il linguaggio ANSI C 
  • capacità di analizzare il codice e correggere gli errori durante le fasi di sviluppo e realizzare una applicazione funzionante
  • capacità di utilizzare un ambiente di sviluppo (IDE)

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.

  • Essere in grado di apprendere nuovi linguaggi, nuovi paradigmi di programmazione e di manipolare strutture dati 
  • Essere in grado di utilizzare le conoscenze e competenze apprese per affrontare in maniera metodologica problemi complessi

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.

  • Lo studente acquisisce la conoscenza del linguaggio informatico e della terminologia tecnica

Modalità di svolgimento dell'insegnamento

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.

Prerequisiti richiesti

Frequenza lezioni

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

Contenuti del corso

CONCETTI PRELIMINARI

IL LINGUAGGIO ANSI C

Testi di riferimento

Programmazione del corso

 ArgomentiRiferimenti testi
1Algoritmi[BeGu] Capitolo 3
2Rappresentazione dell'informazione[BeGu] App. D, E
33Architettura del Calcolatore e Linguaggi di Programmazione[BeGu] Capitolo 1, 2, 4 4
4Elementi fondamentali del linguaggio C[BeGu] Capitolo 5, 6, 7, 8, 95
5Tipi Strutturati[BeGu] Capitolo 10, 13, 14, 166Funzioni[BeGu] Capitolo 11,157
6Gestione dell’Input/Output (I/O)[BeGu] Capitolo 178
7Gestione della memoria[BeGu] Capitolo 14

Verifica dell'apprendimento

Modalità di verifica dell'apprendimento

Prova in itinere

Prova finale del modulo Programmazione I

Prova di esame dell’insegnamento

Esempi di domande e/o esercizi frequenti

Esempi di domande ed esercizi sono disponibili sulla piattaforma Microsoft Teams

English version