90749 - Computing Education

Academic Year 2024/2025

  • 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

The educational objectives of this course include:

  • the knowledge of some historical, epistemological, and ethical aspects of Computer Science as a scientific discipline and the rationale behind the need for its teaching;

  • the understanding of pedagogical aspects and learning theories in the context of Computer Science teaching;

  • the 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 to adopt to overcome them;

  • the knowledge of specific software tools and physical computing devices to support the Computer Science teaching;

  • the ability to formulate and manage study paths consistent with the national guidelines and curricula relating to Computer Science in schools of all levels.



Topics covered in the course include:


  • Scientific Vision of Computer Science

  • Learning paradigms and theories, with particular reference to constructivism and constructionism, applied to computing education

  • Top-down and bottom-up approaches in the teaching of Computer Science

  • "Coding", Computational Thinking and Computer Science

  • Programming, Algorithms, and Data Structures teaching

    • Educational implications in the choice of programming languages

    • Difficulties and misconceptions in learning programming

  • Didactics of technological aspects: computer architecture, operating systems, networks

  • Methodologies for computing education

    • unplugged

    • dramatisation/visualisation

    • program comprehension exercises

    • debugging of non-compliant code

    • visualization of machine state during execution of a program

    • making/tinkering with physical computing tools

  • methodologies for evaluating computer programs

  • Computer science in textbooks and international and Italian school curricula

  • Software licenses (free software vs. proprietary software): implications for education


Readings/Bibliography

Articles and papers will be provided during the course in electronic form on the course wiki (https://csed-unibo.github.io/#!index.md) and on Virtuale.

Texts for possible further study:

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. 3rd ed. Springer, 2020. Freely downloadable from 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.



Teaching methods

Lectures with discussion, exercises, cooperative learning activities, individual or group projects, and "flipped classroom" techniques.

Given the type of activities and teaching methods adopted, attendance at this training activity requires the prior participation of all students in Modules 1 and 2 ofworkplace safety training, [https://elearning-sicurezza.unibo.it/] in e-learning mode.

 

Assessment methods

The final exam consists of:

  • writing a report describing teaching material for the teaching of Computer Science content;

  • simulating a teaching activity using such material, followed by an oral 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

SDGs

Quality education Gender equality

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