Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Create 2024-09-30-announcing-intro-computational-thinking #2

Merged
merged 1 commit into from
Sep 20, 2024
Merged
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 54 additions & 0 deletions _posts/2024/09/2024-09-30-announcing-intro-computational-thinking
Original file line number Diff line number Diff line change
@@ -0,0 +1,54 @@
---
layout: page
authors: ["Belinda Weaver"]
teaser: "Introducing Computational Thinking, a new addition to our curriculum designed to teach people how to break problems down into computable steps before starting to code."
title: "Library Carpentry Curriculum Advisory Committee Announces Introduction of Computational Thinking"
date: 2024-09-30
time: "09:00:00"
tags: ["Computational thinking", "Problem breakdown", "Structure diagrams"]
---

## Introduction

The idea for [this lesson](http://librarycarpentry.org/lc-computational-thinking/) came from the author’s own experiences of teaching Software Carpentry lessons and learning to code. While Software Carpentry taught the fundamentals of task automation and coding, it did not directly address how to break problems down or how to apply a coding mindset to research questions. As a result, when I tried to apply what I had learned, I found it challenging to break problems down into computable chunks. I therefore saw a lesson on computational thinking as a necessary precursor to learning how to code.

This workshop is for individuals at all career stages who want to understand the uses and building blocks of computational thinking. This skill is valuable for solving all kinds of problems, whether in real life or in computing. The workshop does not teach computer programming per se. Instead, it covers the thought processes involved for those who may want to learn programming in the future.

The [Computational Thinking](http://librarycarpentry.org/lc-computational-thinking/)lesson is a pen-and-paper exercise that introduces people to the four steps of computational thinking. It explains each step, provides examples, and covers tools for problem breakdown, including the use of pseudocode. Test exercises and problems are available for participants to work on individually or in groups. No prior knowledge of coding or computational thinking is required.

## What is covered in this lesson?

The [Computational Thinking lesson](http://librarycarpentry.org/lc-computational-thinking/) lesson introduces the building blocks of computational thinking, provides examples and exercises, and explains the use of pseudocode as a precursor to coding.

The key to successful coding is problem breakdown. This workshop uses structure diagrams to help participants focus on how to break complex problems down into smaller, manageable chunks.

Pseudocode helps clarify one's thoughts about the coding steps that need to be taken, without being distracted by code syntax. It is useful in teamwork to ensure that coders agree on the tasks to be done. Pseudocode can also be a valuable tool for explaining tasks to non-coders or briefing clients on coding requirements.

## Why a course on computational thinking?

Almost all research today is computational, but computational thinking and coding are not necessarily taught in many disciplines. Computational thinking is useful even for non-coders, such as project managers who need to break complex projects down into actionable steps.

I couldn’t find a step-by-step course on computational thinking, so I decided to create one myself, which led to the development of [this lesson](http://librarycarpentry.org/lc-computational-thinking/).

## Course Development

I developed this course while working at Griffith University. Initially, I tested its usefulness with colleagues in the university library. I also shared it with academics teaching statistical courses, and some have since adopted parts of the material for first-year courses.

Although I developed the course, I had not taught it live. To test the material and see if it needed any tweaks, I taught the lesson at the Brisbane ResBaz event in late 2023. The lesson was well-received, and I gathered useful feedback to include in future instructor notes.

## Why was this lesson adopted by the curriculum advisors?

The curriculum advisors adopted this lesson because it fills a critical gap in research skills training—specifically, the ability to break down complex problems into manageable chunks. Computational thinking is essential for librarians and information professionals serving disciplines where research is computationally produced. The [Computational Thinking lesson](http://librarycarpentry.org/lc-computational-thinking/) provides a practical framework for developing these skills and offers a starting point for Library Carpentry workshops that include hands-on coding lessons, such as the Unix Shell, Git, Python, and R.


## What you can do

We invite Carpentries instructors to teach the new [Computational Thinking lesson](http://librarycarpentry.org/lc-computational-thinking/) and provide feedback via the [repository Issues page](https://github.com/LibraryCarpentry/lc-computational-thinking/issues) or by [reaching out to the maintainers](https://carpentries.topicbox.com/groups/curriculum-advisors-lc).

## Course Author Biography

Belinda Weaver is a former librarian who was very active in the Software Carpentry and Library Carpentry communities for several years before retiring in 2022 due to ill health. She has taught Library Carpentry workshops in Australia, the U.S., and New Zealand. She developed this lesson while leading a team supporting researchers at Griffith University Library. Belinda has worked as a repository manager, contributed to the Australian research cloud, and served as Community and Communications Lead for The Carpentries for 20 months.

## Conclusion

This lesson serves as a precursor to coding but is also useful for anyone dealing with complex problems. Although this lesson was my own brainchild, all such lessons benefit from community involvement. I encourage users to engage with the [Computational Thinking lesson](http://librarycarpentry.org/lc-computational-thinking/) and provide feedback for future improvements.