90749 - Computing Education

Academic Year 2025/2026

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

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 reference

M. 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 materials

The 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 study

S. 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 lessons, attendance is highly recommended.


The final exam consists of:


  • writing a report describing teaching materials for teaching Computer Science content (chosen by the student and agreed upon with the teacher)

  • simulating a teaching activity that makes use of such material, followed by an oral discussion


During the course, questionnaires and exercises will also be proposed to encourage the progressive consolidation of knowledge and skills.


  • The report:

    • must be submitted two weeks before the oral exam

    • will be commented on and evaluated by the instructors within a week

    • If you receive a sufficient grade, you will be allowed to take the oral exam.

    • You must follow the template provided here: https://github.com/CSEd-unibo/CSEd-unibo.github.io/blob/master/modello_esame.md

  • Oral exam:

    • Simulation of (part of) the lesson with the material presented

    • Questions and discussion


If the grade of the report is insufficient, the student will have to resubmit a report in one of the subsequent exam sessions.


If the grade is sufficient, the student can:

  • take the oral exam, or

  • resubmit a report at one of the subsequent sessions


The student who takes the oral exam

  • carries out a simulation lasting approximately 20 minutes of a part (of his/her choice) of his/her teaching activity, possibly rethought on the basis of the teachers' feedback

  • Over the next 20 minutes, they will receive questions related to their presentation, both theoretical and practical, on how to address the critical points highlighted by the teachers during the correction phase.

  • They can accept or reject the oral exam grade. Even the rejection of the grade will be recorded on AlamaEsami.


If a student must resubmit a paper (due to a poor written exam, a low grade, or a failed oral exam), they may only do so once on the same topic. For subsequent resubmissions, they must choose a significantly different topic.


If a student with a grade >=25 in the paper decides not to take the oral exam, he/she will have to present a paper on a significantly different topic from the following exam session.


Grade

  • The report grade is the one that predominantly determines the final grade.

  • The oral exam can only "adjust" (keep unchanged, raise, but also lower) this grade by a few points.

  • Class participation and the submission of ongoing activities are also taken into account in the oral exam assessment. All activities submitted on time and in a satisfactory manner will be awarded an additional grade.


The criteria for determining the grade of the written test are indicated in the following section

https://csed-unibo.github.io/#!pages/rubric_relazione.md . If the student achieves a "partial" level for all criteria, he will get an 18. If he achieves an "adequate" level for all criteria, he will get a 28. The maximum grade is 30.


The final grade will start from the grade of the written test and may be adjusted upwards or downwards based on the adequate or inadequate achievement of the following criteria:

https://csed-unibo.github.io/#!pages/rubric_orale.md


Students must take the course in the academic year (I or II) that coincides with the one indicated for this course in their study plan (in particular, it is not possible to take the course in the I year if it is indicated for the II year).


There will be six exam sessions scheduled for each academic year: three in June/July, one in September, and two in January/February. No scheduled exams will be held.


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

Quality education

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