Il MOOC è finalizzato a trasmettere i concetti di computazione, di programmazione imperativa, in particolare orientata agli oggetti, e di strutture dati e loro algoritmi, oltre a introdurre i principi del funzionamento di un elaboratore. In particolare, il MOOC mostrerà come progettare algoritmi base per la manipolazione di strutture dati e favorirà inoltre la maturazione delle competenze necessarie per la realizzazione di tali algoritmi nel linguaggio di programmazione Java, con particolare attenzione ai meccanismi di problem solving e di ricerca dell'errore, per preparare gli studenti all'obiettivo di saper sviluppare in modo autonomo una semplice applicazione in linguaggio Java.
Il MOOC non ha prerequisiti, potendo essere seguito proficuamente anche da studenti privi di alfabetizzazione informatica. Il MOOC attiene all’obiettivo 5 (uguaglianza di genere) e 10 (ridurre le disuguaglianze) dell’Agenda 2030 per lo sviluppo sostenibile.
Si ringraziano la Prof.ssa Cinzia Pizzi e il Prof. Carlo Ferrari (Dipartimento di Ingegneria dell'Informazione, Università degli Studi di Padova) per l'aiuto nella progettazione del corso; per la realizzazione tecnica, i dottori: Alfonso Carotenuto, Francesco Carbone, Viviana Chignoli (Scuola di Scienze Umane, Università degli Studi di Padova), Eugenia Leone, Cristina Paulon (Dipartimento di Filosofia, Sociologia, Pedagogia e Psicologia Applicata); Marco Monaco, Mario Pistolese, Miriana Tizzani (Federica Web Learning, Università di Napoli Federico II).
Lezione 1. Organizzazione di un elaboratore
Lezione 2. Algoritmi e complessità
Lezione 3. Ricorsione
Lezione 4. Strutture dati e tipi di dati astratti (pile, code e liste)
Lezione 5. Tipi di dati astratti (code doppie, mappe, insiemi)
Lezione 6. Algoritmi di ricerca
Lezione 7. Algoritmi di ordinamento
Lezione 8. Linguaggi di programmazione: compilatore, interprete e virtual machine
Lezione 9. Java
Lezione 10. Il linguaggio Java, parte 1
Lezione 11. Il linguaggio Java, parte 2
Lezione 12. Il linguaggio Java, parte 3
- Docente: Sergio Canazza