INTRODUZIONE ALLA PROGRAMMAZIONE

Anno accademico
2024/2025 Programmi anni precedenti
Titolo corso in inglese
INTRODUCTION TO PROGRAMMING
Codice insegnamento
CT0441 (AF:520917 AR:292000)
Modalità
In presenza
Crediti formativi universitari
6
Livello laurea
Laurea
Settore scientifico disciplinare
ING-INF/05
Periodo
I Semestre
Anno corso
1
Sede
VENEZIA
Spazio Moodle
Link allo spazio del corso
Il corso si propone di introdurre gli elementi base della programmazione imperativa per formulare soluzioni algoritmiche a problemi di complessità limitata.

Lo studente acquisirà conoscenza e comprensione dei principi fondanti dell'informatica, relativamente a linguaggi imperativi e algoritmi di base.
In particolare acquisirà la capacità di usare un linguaggio di programmazione come strumento per modellare problemi e formalizzarne le soluzioni.
Al termine del corso lo studente dovrà essere in grado di progettare, sviluppare, compilare ed eseguire programmi in linguaggio C su piattaforma Unix-like. In particolare dovrà saper:
i) conoscere gli elementi del linguaggio di programmazione C; comprendere, saper simulare frammenti di codice e saperne verificare l'esecuzione con opportuni casi di test.
ii) saper formalizzare problemi di limitata complessità, individuandone le regole che lo caratterizzano; progettare e implementare uno o più algoritmi che risolvono il problema dato.
iii) saper strutturare soluzioni moderatamente complesse, individuandone i sotto problemi, relative interazioni, strutture dati comuni e soluzioni algoritmiche.
iv) saper utilizzare la terminologia dei linguaggi di programmazione imperativi; saper documentare il codice.
v) saper lavorare in autonomia con la documentazione di riferimento del linguaggio di programmazione C.
Non è richiesto alcun prerequisito
- Introduzione al linguaggio di programmazione C
- Variabili e tipi fondamentali.
- Flusso del controllo
- Funzioni
- Array, puntatori e stringhe
- Computazione Iterativa e Computazione Ricorsiva
- Memoria Dinamica
- Abstract Data Types
- Strategie di problem solving
Paul J. Deitel, Harvey M. Deitel. Il linguaggio C. Fondamenti e tecniche di programmazione. 8/Ed. Pearson. 2016.
L'esame consiste nello svolgimento delle esercitazioni bi-settimanali, in una prova scritta ed un progetto finale. Per superare l'esame, lo studente dovrà ottenere un voto sufficiente in tutte e tre le modalità di valutazione.

Descrizione delle esercitazioni:

Le esercitazioni verranno assegnate durante lo svolgimento del corso e dovranno essere consegnate con cadenza bi-settimanale. In alternativa gli studenti dovranno sostenere una prova scritta aggiuntiva.
Le esercitazioni includono domande a risposta multipla e brevi esercizi, che valutano rispettivamente il raggiungimento dei risultati di apprendimento i) e ii). Le esercitazioni simulano la prova scritta.


Descrizione della prova scritta:

La prova scritta è composta da domande a risposta multipla e brevi esercizi, che valutano rispettivamente il raggiungimento dei risultati di apprendimento i) e ii). Gli esercizi richiedono la scrittura di brevi frammenti di codice.


Progetto finale:

Il progetto finale valuta il raggiungimento dei risultati di apprendimento iii) iv) e v).
La prova consiste nello sviluppo di una soluzione ad un problema moderatamente complesso che richiede l'implementazione completa di un programma, l'integrazione di diverse funzioni semplici e la definizione di opportune strutture dati.
Lo studente dovra consegnare il codice e una breve relazioni di accompagnamento e discutere il progetto con il docente.

La gradazione del voto è determinata da 70% prova scritta e 30% progetto finale.
Lezioni frontali ed esercitazioni.
L'alternanza di lezioni teoriche ed esercitazioni pratiche permette agli studenti di mettere in pratica le conoscenze acquisite e di auto-valutarsi.
Italiano
scritto e orale
Programma definitivo.
Data ultima modifica programma: 21/02/2024