- Docente: Renzo Davoli
- Credits: 6
- SSD: INF/01
- Language: Italian
- Moduli: Renzo Davoli (Modulo 1) (Modulo 2)
- Teaching Mode: In-person learning (entirely or partially) (Modulo 1); In-person learning (entirely or partially) (Modulo 2)
- Campus: Bologna
- Corso: Second cycle degree programme (LM) in Computer Science (cod. 6698)
-
from Feb 17, 2026 to May 20, 2026
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
The objectives of this course include:
-
knowledge of some historical, epistemological, and ethical aspects of Computer Science as a scientific discipline and of the reasons behind the need for its teaching;
-
understanding of pedagogical aspects and learning theories in the context of Computer Science education;
-
knowledge of multiple teaching approaches specific to the subject;
-
knowledge of the main cognitive difficulties that learning Computer Science poses (with particular reference to programming), and what possible strategies can be adopted to overcome them;
-
knowledge of specific software tools and physical computing devices to support the teaching of Computer Science;
-
ability to formulate and manage study paths consistent with national guidelines and curricula relating to Computer Science in schools of all levels.
Module 1 Topics
-
Scientific view of Computer Science
-
Teaching of technological aspects: computer architecture, operating systems, networks
-
Methodologies for Teaching Computer Science
-
dramatization
-
making/tinkering with physical computing tools
-
-
Software Licenses (Free Software vs. Proprietary Software): Implications for Education
Module 2 Topics
-
Big Ideas of CS Education
-
Learning paradigms and theories, with particular reference to constructivism and constructionism applied to computer science teaching
-
Top-down and bottom-up approaches in teaching computer science
-
“Coding”, Computational Thinking, and Computer Science
-
Teaching Programming, Algorithms, and Data Structures
-
Educational implications of choosing programming languages
-
Difficulties and misconceptions in learning programming
-
-
Methodologies for Teaching Computer Science
-
unplugged
-
program comprehension exercises
-
debugging of others' code
-
displaying the machine status while running a program
-
-
Evaluation/assessment methodologies for programming
-
Computer science in international and Italian school curricula and textbooks
Readings/Bibliography
There is no need to purchase any textbook.
Articles and documents to be studied will be provided during the course in electronic form on the course wiki (https://csed-unibo.github.io/#!index.md ) and on Virtuale.
Material of referenceM. Lodi (2020). Introducing Computational Thinking in K-12 Education: Historical, Epistemological, Pedagogical, Cognitive, and Affective Aspects [http://amsdottorato.unibo.it/9188/1/Tesi_Dottorato_Lodi.pdf] . Doctoral thesis. Selected chapters will be assigned for study.
Free materialsThe magazine Hello World [https://www.raspberrypi.org/hello-world] from the Raspberry Pi Foundation offers very interesting content (both theoretical and practical). Note in particular the two "Special editions" ("Big books") at the bottom of the page, which can be considered simple textbooks for this course.
Many other materials are available on the page References [https://csed-unibo.github.io/#!pages/riferimenti.md]
Texts for further studyS. Grover. Computer Science in K-12: An A-To-Z Handbook on Teaching Programming. Edfinity, 2020. Simple but complete (the economical black and white version is recommended)
S. Sentance, E. Barendsen, N.R. Howard, C. Schulte. Computer Science Education: Perspectives on Teaching and Learning in School. Bloomsbury Academic. 2023 (2nd ed.). Additional resources available for free download [https://www.bloomsburyonlineresources.com/computer-science-education-2] Simple, more theoretical
O. Hazzan, T. Lapidot, N. Ragonis. Guide to teaching computer science: An activity-based approach. Third Edition. Springer, 2020. Freely downloadable from the UniBO network [https://link.springer.com/book/10.1007/978-3-030-39360-1] . More theoretical
S. Fincher, A. Robins. The Cambridge Handbook of Computing Education Research (Cambridge Handbooks in Psychology). Cambridge: Cambridge University Press, 2019.
Freely downloadable from the UniBO network [https://doi.org/10.1017/9781108654555] . To approach research in computer science education. Very comprehensive.Teaching methods
Lectures with discussion and student participation, exercises and activities using collaborative learning and “flipped classroom” techniques.
Given the type of activity and the teaching methods adopted, attendance of this training activity requires the prior participation of all students in themodules 1 and 2 of training on safety in the workplace, [https://elearning-sicurezza.unibo.it/] in e-learning mode.
Assessment methods
Given the participatory and interactive nature of the classes, regular attendance is strongly recommended.
The final exam consists (compulsorily) of designing a teaching activity (and the related materials) for teaching Computer Science topics (chosen by the student and agreed with the instructors).
The exam is an oral examination (maximum duration: 1 hour per candidate) and is divided into three parts:
1. Presentation of the design of an innovative teaching activity, explicitly addressing the aspects listed at: https://csed-unibo.github.io/#!pages/struttura_esame.md
2. Simulation of a significant part of the designed activity, fully taking on the role of the teacher
3. Discussion and questions on what was presented and on the related Computer Science Education topics
During the course, questionnaires and in-class exercises will also be proposed in order to support the progressive consolidation of knowledge and skills.
Students may accept or refuse the oral exam grade. A refusal of the grade will also be recorded on AlmaEsami.
If a student does not pass the oral exam or refuses the grade, they must attend one of the subsequent exam sessions and present a new design on a significantly different topic.
The grading criteria for the oral exam are described in the following rubric: https://csed-unibo.github.io/#!pages/rubric_esame.md
If a student reaches the level “partial” for all criteria, they will receive 18/30. If they reach the level “adequate” for all criteria, they will receive 28/30.
Assessment also takes into account in-class participation and the submission of any ongoing activities: submitting all activities on time and at a sufficient level entitles the student to one additional point.
Students must attend the course in the academic year (1st or 2nd) that matches the one indicated for this course in their study plan (in particular, it is not possible to attend the course in the 1st year if it is listed in the 2nd year).
Six exam sessions will be scheduled for each academic year: three in June/July, one in September, and two in January/February. Exams will not be offered by appointment.
Teaching tools
The lessons will utilize slides (made available to students) and other devices (e.g., stationery, everyday objects, electronic cards) that are useful for teaching computer science.
All material will be published on the course wiki https://csed-unibo.github.io/ and on Virtuale.
During the lesson, you will be able to send messages to ask anonymous questions and respond to anonymous surveys.
What is projected in the classroom (without audio) is made available live on the web for the convenience of students (e.g., if they cannot see the projection well, or to take a screenshot).
Office hours
See the website of Renzo Davoli
See the website of
SDGs
This teaching activity contributes to the achievement of the Sustainable Development Goals of the UN 2030 Agenda.