90749 - Computing Education

Academic Year 2023/2024

  • Docente: Renzo Davoli
  • Credits: 6
  • SSD: INF/01
  • Language: Italian
  • Moduli: Renzo Davoli (Modulo 1) Michael Lodi (Modulo 2)
  • Teaching Mode: Traditional lectures (Modulo 1) Traditional lectures (Modulo 2)
  • Campus: Bologna
  • Corso: Second cycle degree programme (LM) in Computer Science (cod. 5898)

Learning outcomes

The course aims to provide theoretical knowledge, techniques and tools helpful in teaching computer science. At the end of the course, the student is familiar with the main pedagogical and didactical approaches for teaching computer science at different school levels. Students can organise and teach computer science courses, compare and choose different methodologies to generate teaching materials, and evaluate 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.

S. Sentance, E. Barendsen, N.R. Howard, C. Schulte. Computer Science Education: Perspectives on Teaching and Learning in School. Bloomsbury Academic. 2018 (1st ed.); 2023 (2nd ed.).

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.

In relation to the kind of activities and didactical methods adopted,
the attendance to this class will require the preliminary participation
of all the students to the Modules 1 and 2 of the Safety rules on study
places, which can be followed remotely in e-learning via the following
link: [https://elearning-sicurezza.unibo.it/ ]

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


Quality education Gender equality

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