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.
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.