- Docente: Aldo Gangemi
- Crediti formativi: 6
- SSD: INF/01
- Lingua di insegnamento: Italiano
- Modalità didattica: Convenzionale - Lezioni in presenza
- Campus: Bologna
- Corso: Laurea Magistrale in Scienze filosofiche (cod. 8773)
-
dal 31/01/2024 al 08/03/2024
Conoscenze e abilità da conseguire
Al termine del corso lo studente conosce i principi della calcolabilità e le teorie alla base dell'informatica. E' in grado di verificare l'esistenza o l'inesistenza di programmi che calcolano una determinata funzione.
Contenuti
Il corso si compone di lezioni frontali. Ogni lezione introduce un argomento specifico. Le lezioni sono associate a sessioni pratiche.
Elenco delle lezioni (ridotte e adattate dal corso "Computational Thinking" di Silvio Peroni):
-
Introduzione al pensiero computazionale
- Confronto tra lingue naturali e linguaggi di programmazione
- Astrazione: lo strumento principale del Computational Thinking
- Algoritmi
- Cos'è un algoritmo?
- Come sviluppare un algoritmo: diagrammi di flusso
- Un algoritmo di base: input, processo, decisione, output
- Computabilità
- Il costo computazionale di un algoritmo
- Il problema dell'arresto
- Valutazione dell'output: sviluppo basato su test
- Linguaggi di programmazione
- Un algoritmo Python di base con variabili, assegnazioni e istruzioni condizionali
- Strutture di dati ordinate
- Strutture dati
- Elenco
- Pile
- Code
- Algoritmi di forza bruta
- Iterazioni: costrutti for e while
- Ricerca lineare
- Ordinamento per inserzione
- Strutture dati non ordinate
- Strutture dati infinite?
- Insiemi
- Dizionari
- Ricorsione
- Un'intuizione
- Approcci e algoritmi ricorsivi
- Algoritmi divide et impera
- Ordinare miliardi di libri
- Unisci e ordina
- Alberi
- Genealogia e markup dei documenti
- Albero
- Grafi
- Ponti di Königsberg
- Grafi
Testi/Bibliografia
(Sezioni dal) testo "Computational Thinking and Programming" creato da Silvio Peroni per il corso di Computational Thinking.
Metodi didattici
Lezioni frontali e hands-on sessions.
Modalità di verifica e valutazione dell'apprendimento
Una prova scritta per valutare le competenze acquisite dagli studenti sugli argomenti del corso.
Strumenti a supporto della didattica
Il repository GitHub del corso di Silvio Peroni sarà liberamente utilizzato per esemplificare, ed esercitarsi su, i contenuti del corso.
Verrà impostato un gruppo in un'applicazione di messaggistica per l'interazione informale tra gli studenti e con l'insegnante.
Orario di ricevimento
Consulta il sito web di Aldo Gangemi