86679 - Computational Thinking - Bologna

Academic Year 2020/2021

  • Teaching Mode: Traditional lectures

Learning outcomes

With Computational Thinking we indicate a set of transversal skills related to the fundamentals of computer science as a scientific discipline. In an increasingly digital society, where software technological tools permeate daily life and consequently modify the experience and fruition of reality, it is necessary that every educated person is exposed to the most relevant principles of the discipline. The goal is not - of course - acquiring specific technical skills, but, on the contrary, gaining interpretative perspectives of reality, which make it possible to read the digital experience in a competent and responsible way. In particular, the following goals will be pursued:

  • Introduce some key ideas of computer science.
  • Stimulate creativity and the ability to develop computational artifacts, using an iterative approach to design and implement innovative solutions.
  • Highlight the impact that information technology has on people and society.
  • Know how to use computer science to explore questions and problems in domains of interest to the student.
  • Develop effective communication and collaboration skills

Course contents

The course is an exploration of "computational thinking" concept through making of software programs and reflecting on creative process.

Students will be introduced to visual programming language such as Scratch and will learn how to design and make different types of projects such as videogames, animated stories or interactive art.

Making these projects will let students:

  • understand fundamental computational concepts (e.g. algorithms, sequence, loops, data, parallelism, ...)
  • experiment common practices in creative process and problem solving (e.g. try and error, iterative design, debugging, abstraction)
  • be open to new perspectives about technology (e.g. technology as creative expression tools, developing critical thinking, ...)

The course will also be an opportunity to reflect on how technology impact our society, starting from students interests.

Readings/Bibliography

  • Jeannette M. Wing (2006). Computational Thinking
  • Jeannette M. Wing (2010). Computational Thinking: What and Why?
  • Peter J. Denning (2017). Remaining Trouble Spots with Computational Thinking
  • Michael Lodi, Simone Martini, Enrico Nardelli (2017). Abbiamo davvero bisogno del pensiero computazionale?
  • Mark Guzdial, Alan Kay, Cathie Norris, Elliot Soloway (2020). Computational Thinking should just be Good Thinking

Readings will be provided digitally during the lessons together with further reading for the course.

Teaching methods

The course is designed using the principles of creative learning. Therefore it is organized in a workshop mode and require the creation of individual and group projects using the Scratch visual programming environment.

In addition, discussions and in-depth analyzes will be proposed in the classroom and the production of papers to be published online in the platform "Insegnamenti online".

The calendar of lessons is being defined but, plausibly, the lessons will take place on 8 lessons of 3 hours in the period March-May 2021.

It is important to attend at least 70% of the lessons. In case of absence for justified reasons, please contact the teacher in advance by e-mail (giulio.bonanome@unibo.it)

Assessment methods

At the end of the course, students will be asked to present a project created with Scratch and a grade out of thirty will be assigned.

Teaching tools

The content of the lessons, the projects and the students' papers will be published on the "Insegnamenti online" platform.

Links to further information

https://www.unibo.it/sitoweb/giulio.bonanome

Office hours

See the website of Giulio Bonanome