90749 - Teaching Tools for Informatics

Course Unit Page


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

Quality education Gender equality Decent work and economic growth Industry, innovation and infrastructure

Academic Year 2021/2022

Learning outcomes

The aim of the course is to provide the student with the knowledge of techniques and tools supporting the didactics of Computer Science.In particular, at the end of the course, the student will know how to organize and realize Computer Science courses, as well as the methodologies for generating didactic materials and for the verification of student learning.

Course contents

Learning objectives of this course include:
* knowledge of some historical, epistemological and ethical aspects of Computer Science as a scientific discipline and of the motivations underlying the necessity of its teaching;
* understanding of pedagogical aspects and learning theories in the context of computer science teaching;
* knowledge of multiple CS-specific teaching approaches;
* knowledge of the main cognitive difficulties in learning CS (with particular focus on programming), and knowledge of possible strategies to adopt to overcome them;
* ability to formulate and manage learning paths consistent with national standards and curricula related to Computer Science in schools of all levels;
* planning ability to organize laboratories, classroom equipment; ability to integrate students' devices as useful tools for learning.

Topics covered in the course include:

The scientific vision of Computer Science.

Computational Thinking.

Constructivism and constructionism applied to CS teaching.

Top-down and bottom-up approaches in CS teaching.

Teaching of Programming, Algorithms and Data Structures.

Pedagogical implications in the choice of programming languages.

Teaching of technological aspects: computer architecture, operating systems, networks.

CS teaching methods:
* unplugged
* dramatization/visualization
* code reading exercises
* debugging of others's code
* program execution visualization
* making/tinkering
* repositories as software museums

Difficulties and misconceptions in learning to program.

Creation of learning paths
* in primary schools
* in lower secondary schools
* in scientific lyceums - applied sciences
* in specific courses of technical institutes
* in other upper secondary schools

Assessment methodologies of computer programs.

Importance, planning, and management of computer laboratories.
* Use of BYOD in lessons.

Software licenses: libre (free and open source) and proprietary software:  implications in education

Affective and motivational aspects in computer science learning.


Articles and documents will be provided during the course in electronic form

Books for possible in-depth studies:

S. Grover. Computer Science in K-12: An A-To-Z Handbook on Teaching Programming. Edfinity, 2020.

O. Hazzan, T. Lapidot, N. Ragonis. Guide to teaching computer science: An activity-based approach. Third Edition. Springer, 2020. available for download (from the UniBO network): https://link.springer.com/book/10.1007/978-3-030-39360-1

S. Fincher, A. Robins. The Cambridge Handbook of Computing Education Research (Cambridge Handbooks in Psychology). Cambridge: Cambridge University Press, 2019.


Wiki site of the course:


Teaching methods

Lectures, classroom and laboratory activities, individual or group projects, flipped classroom.

Assessment methods

The final exam consists of:
* the development of an open project about the creation of a set of CS teaching activities and its teaching material
* the simulation of one teaching activity. The presentation is followed by an open discussion.

In-progress questionnaires and homework assignments will be used to facilitate the progressive consolidation of knowledge.

Teaching tools

Physical and logical devices, even unconventional, useful for CS teaching and learning.

Office hours

See the website of Renzo Davoli

See the website of Michael Lodi