B6041 - Didattica degli algoritmi e della programmazione - Modulo 2

Academic Year 2023/2024

  • Docente: Michael Lodi
  • Credits: 2
  • SSD: INF/01
  • Language: Italian

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

Quality education

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