INTRODUCTION TO COMPUTER PROGRAMMING
- Anno accademico
- 2024/2025 Programmi anni precedenti
- Titolo corso in inglese
- INTRODUCTION TO COMPUTER PROGRAMMING
- Codice insegnamento
- CT0665 (AF:521402 AR:292746)
- Lingua di insegnamento
- Inglese
- 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
Inquadramento dell'insegnamento nel percorso del corso di studio
Lo studente acquisirà conoscenza e comprensione dei principi fondanti dell'informatica, relativamente a linguaggi imperativi e algoritmi di base.
Acquisirà altresì comprensione della risolubilità dei problemi informatici e capacità di selezionare metodi adeguati per analisi e modellazione di base.
Risultati di apprendimento attesi
Il laureato o la laureata acquisisce:
- principi fondazionali dell'informatica: algoritmo, linguaggi e loro classificazione, sistema dei tipi, strutture di controllo, costrutti di iterazione, funzioni;
- comprensione della fattibilità e complessità dei problemi informatici e capacità di selezionare metodi adeguati all’analisi e la modellazione;
Capacità di applicare conoscenza e comprensione
Il laureato o la laureata:
- sa usare gli strumenti fondamentali per lo sviluppo e l’adozione di semplici algoritmi;
- sviluppa analisi di fattibilità e complessità dei problemi informatici e sa selezionare metodi adeguati all’analisi e alla modellazione;
- sa sviluppare il software, sa eseguire debugging e sa progettare test per la verifica di correttezza del software;
- sa programmare seguendo i principi della programmazione imperativa in C e seguendo progetti espressi tramite formalismi definiti per la loro descrizione e progettazione.
Capacità di apprendimento
- Lo studente/studentessa deve essere in grado di consultare documentazione tecnica relativamente alle librerie utilizzate.
Prerequisiti
Contenuti
- 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
Testi di riferimento
Modalità di verifica dell'apprendimento
Descrizione delle esercitazioni:
Le esercitazioni mirano a sviluppare le capacità di problem solving dello studente, la conoscenza del linguaggio C e la capacità di codificare l’algoritmo risolutivo ideato nel linguaggio di programmazione.
Le esercitazioni verranno assegnate periodicamente durante lo svolgimento del corso e dovranno essere consegnate con cadenza tri-settimanale. In alternativa gli studenti possono chiedere di sostenere una prova scritta aggiuntiva. Quest'ultima soluzione è consigliata per gli studenti part-time.
Descrizione della prova scritta:
La prova scritta mira a valutare le capacità di problem solving dello studente, la conoscenza del linguaggio C e la capacità di codificare l’algoritmo risolutivo ideato nel linguaggio di programmazione. Questa parte dell’esame può essere superata in un modo: con una singola prova scritta nelle date previste degli appelli.
Progetto finale:
Il progetto finale mira a valutare l'abilità nell'applicare le capacità acquisite alla soluzione di problemi maggiormente strutturati.
La valutazione del progetto prevede una discussione orale e concorre alla determinazione del punteggio finale del corso.
In casi particolari comprovati per i quali lo studente non sia in grado di svolgere le esercitazioni con regolarità, nello specifico gli STUDENTI CON PROBLEMI DI SALUTE CERTIFICATI O CHE STIANO SVOLGENDO UN PERIODO FUORI SEDE, è possibile effettuare una prova alternativa per coprire parzialmente o integralmente le esercitazioni.
Modalità di esame
Metodi didattici
L'alternanza di lezioni teoriche ed esercitazioni pratiche permette agli studenti di mettere in pratica le conoscenze acquisite e di auto-valutarsi.