20810526-2 - FONDAMENTI DI INFORMATICA II MODULO

Fornire le competenze di base relative alla “progettazione top-down” degli algoritmi e alla programmazione modulare, nonché ai principali metodi che consentono la comparazione sia qualitativa che quantitativa di soluzioni algoritmiche differenti.
Obiettivi specifici:
- conoscenza e applicazione delle tecniche di problem solving per la progettazione di algoritmi con particolare riferimento agli approcci basati sulla decomposizione e sulla semplificazione dei problemi;
- uso di paradigmi di programmazione modulare e ricorsiva;
- conoscenza e applicazione degli strumenti metodologici per la valutazione asintotica dell’efficienza degli algoritmi;
- conoscenza e applicazione di tecniche sia formali che pragmatiche, per la verifica della correttezza degli algoritmi e la validazione dei programmi;
- abilità pratiche nell’utilizzo delle collezioni di dati fondamentali nello sviluppo del codice.

Curriculum

Canali

scheda docente | materiale didattico

Programma

*Concetti di base*

Progettazione top-down
Decomposizione e riduzione tra problemi
Ricorsione

*Operazioni*
Operazioni basilari della gestione persistente dei dati (CRUD)
Uso e manipolazione di collezioni

*Strutture dati*

Insiemi
Liste
Mappe


*Concetti avanzati*

Notazione asintotica
Ambienti di sviluppo integrati
Librerie
File


Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.

Modalità Frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Valutazione

Le valutazioni consistono in una prova scritta composta da esercizi di programmazione, domande a risposta multipla e domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.

scheda docente | materiale didattico

Programma

*Concetti di base*

Problemi, algoritmi e programmi
Architettura dei calcolatori
Linguaggi e Compilazione
Stile e convenzioni
I/O, variabili e costanti

*Operazioni*

Rappresentazione dell’informazione
Aritmetica binaria
Tipi di dato
Espressioni
Algebra booleana

*Strutture di controllo*

Selezione
Iterazione
Funzioni

*Strutture dati*

Array
Stringhe
Matrici

*Concetti avanzati*

Ricorsione
Ambienti di sviluppo integrati
Errori
Librerie
File

Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Modalità Erogazione

Lezioni ed esercitazioni in aula (salvo in periodi di emergenza sanitaria). La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Valutazione

Le valutazioni consiste in una prova scritta composta da esercizi di programmazione, esercizi su algebra di Boole e aritmetica binaria, domande a risposta multipla, domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.

Canali

scheda docente | materiale didattico

Programma

*Concetti di base*

Progettazione top-down
Decomposizione e riduzione tra problemi
Ricorsione

*Operazioni*
Operazioni basilari della gestione persistente dei dati (CRUD)
Uso e manipolazione di collezioni

*Strutture dati*

Insiemi
Liste
Mappe


*Concetti avanzati*

Notazione asintotica
Ambienti di sviluppo integrati
Librerie
File


Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.

Modalità Frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Valutazione

Le valutazioni consistono in una prova scritta composta da esercizi di programmazione, domande a risposta multipla e domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.

scheda docente | materiale didattico

Programma

*Concetti di base*

Problemi, algoritmi e programmi
Architettura dei calcolatori
Linguaggi e Compilazione
Stile e convenzioni
I/O, variabili e costanti

*Operazioni*

Rappresentazione dell’informazione
Aritmetica binaria
Tipi di dato
Espressioni
Algebra booleana

*Strutture di controllo*

Selezione
Iterazione
Funzioni

*Strutture dati*

Array
Stringhe
Matrici

*Concetti avanzati*

Ricorsione
Ambienti di sviluppo integrati
Errori
Librerie
File

Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Modalità Erogazione

Lezioni ed esercitazioni in aula (salvo in periodi di emergenza sanitaria). La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Valutazione

Le valutazioni consiste in una prova scritta composta da esercizi di programmazione, esercizi su algebra di Boole e aritmetica binaria, domande a risposta multipla, domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.

Canali

scheda docente | materiale didattico

Programma

*Concetti di base*

Progettazione top-down
Decomposizione e riduzione tra problemi
Ricorsione

*Operazioni*
Operazioni basilari della gestione persistente dei dati (CRUD)
Uso e manipolazione di collezioni

*Strutture dati*

Insiemi
Liste
Mappe


*Concetti avanzati*

Notazione asintotica
Ambienti di sviluppo integrati
Librerie
File


Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.

Modalità Frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Valutazione

Le valutazioni consistono in una prova scritta composta da esercizi di programmazione, domande a risposta multipla e domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.

scheda docente | materiale didattico

Programma

*Concetti di base*

Problemi, algoritmi e programmi
Architettura dei calcolatori
Linguaggi e Compilazione
Stile e convenzioni
I/O, variabili e costanti

*Operazioni*

Rappresentazione dell’informazione
Aritmetica binaria
Tipi di dato
Espressioni
Algebra booleana

*Strutture di controllo*

Selezione
Iterazione
Funzioni

*Strutture dati*

Array
Stringhe
Matrici

*Concetti avanzati*

Ricorsione
Ambienti di sviluppo integrati
Errori
Librerie
File

Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Modalità Erogazione

Lezioni ed esercitazioni in aula (salvo in periodi di emergenza sanitaria). La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Valutazione

Le valutazioni consiste in una prova scritta composta da esercizi di programmazione, esercizi su algebra di Boole e aritmetica binaria, domande a risposta multipla, domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.

Canali

scheda docente | materiale didattico

Programma

*Concetti di base*

Progettazione top-down
Decomposizione e riduzione tra problemi
Ricorsione

*Operazioni*
Operazioni basilari della gestione persistente dei dati (CRUD)
Uso e manipolazione di collezioni

*Strutture dati*

Insiemi
Liste
Mappe


*Concetti avanzati*

Notazione asintotica
Ambienti di sviluppo integrati
Librerie
File


Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edition, McGraw-Hill.

Modalità Frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Valutazione

Le valutazioni consistono in una prova scritta composta da esercizi di programmazione, domande a risposta multipla e domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.

scheda docente | materiale didattico

Programma

*Concetti di base*

Problemi, algoritmi e programmi
Architettura dei calcolatori
Linguaggi e Compilazione
Stile e convenzioni
I/O, variabili e costanti

*Operazioni*

Rappresentazione dell’informazione
Aritmetica binaria
Tipi di dato
Espressioni
Algebra booleana

*Strutture di controllo*

Selezione
Iterazione
Funzioni

*Strutture dati*

Array
Stringhe
Matrici

*Concetti avanzati*

Ricorsione
Ambienti di sviluppo integrati
Errori
Librerie
File

Testi Adottati

A. Bellini, A. Guidi, "Linguaggio C. Una guida alla programmazione con elementi di Python", VI Edizione, McGraw-Hill.

Modalità Erogazione

Lezioni ed esercitazioni in aula (salvo in periodi di emergenza sanitaria). La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Frequenza

La frequenza non è obbligatoria, ma è fortemente consigliata.

Modalità Valutazione

Le valutazioni consiste in una prova scritta composta da esercizi di programmazione, esercizi su algebra di Boole e aritmetica binaria, domande a risposta multipla, domande teoriche riguardanti il programma del corso da svolgersi in laboratorio.