- Docente: Michael Lodi
- Credits: 2
- SSD: INF/01
- Language: Italian
- Teaching Mode: Traditional lectures
- Campus: Bologna
-
Corso:
Percorso abilitante in
A041 - Percorso Abilitante 30 Cfu ai Sensi dell'Allegato 2 Del DPCM 4 Agosto 2023 - Scienze e Tecnologie Informatiche (cod. 6106)
Also valid for Percorso abilitante in A041 - Scienze e Tecnologie Informatiche (cod. 6081)
Percorso abilitante in B016 - Laboratori di Scienze e Tecnologie Informatiche (cod. 6085)
Percorso abilitante in B016 - Percorso Abilitante 30 Cfu ai Sensi dell'Allegato 2 Del DPCM 4 Agosto 2023 - Laboratori di Scienze e Tecnologie Informatiche (cod. 6112)
Learning outcomes
- Design innovative educational activities for teaching algorithms and data structures (including aspects of definition, correctness and computational complexity of algorithms)
- Design activities for dramatizing "remarkable" algorithms
- Know the main theoretical constructs of programming education (e.g., misconceptions, notional machine, program comprehension) and related specific teaching methodologies (e.g., use-modify-create)
- Know and critically evaluate the environments, tools, and characteristics of visual block programming languages
- Analyze the characteristics of different programming languages and paradigms according to different educational objectives and contexts
- Know and be able to apply different teaching methodologies for teaching specific programming topics: web development and query languages
- Know and be able to critically evaluate tools to support the teaching of algorithms and programming, such as visualizers, IDEs and educational debuggers
- Know the main teaching methodologies related to classical and modern cryptographic algorithms
Course contents
Conceptual tools for teaching programming
Syntactic, conceptual, strategic knowledge
Misconceptions and conceptual machine
Elementary patterns / patterns (e.g., for iteration), roles of variables
Program comprehension & block model
Block programming and related environments/tools
Analysis of characteristics of programming languages and paradigms according to instructional objectives and context
Specific scaffolding teaching methodologies during teaching programming.
Tools (such as conceptual machine visualization, IDEs and teaching debuggers).
Didactics of algorithms and data structures (including correctness, complexity, and classical algorithms)
Visualization tools and support for writing algorithms
Dramatization of algorithms
Didactics of web programming and database query languages
Readings/Bibliography
Articles, slides, materials, reading suggestions will be made available during the course, on Virtuale
Teaching methods
Lectures with discussion
Exercises, collaborative learning, simulations
Assessment methods
The acknowledgment of the course will be provided by means of the verification of the minimum percentage of attendance and the delivery of any exercises requested during the course. The evaluation of the learning of the teaching contents takes place at the same time as the final test for the acquisition of the qualification to teach in the competition class of the training course, provided for by Art. 9 of the Prime Ministerial Decree of 4 August 2023.
Office hours
See the website of Michael Lodi
SDGs

This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.