top of page

03/16 Computational Thinking


1. Reflecting on the Book Project

  • How much do you enjoy working on the project?

  • How many of the frustrations we have discussed happened to you in this project?

  • Have you taken any precautions to prevent some of the frustrations?

Late passes for group projects:

Normally, late passes cannot be used for group project extensions, as stated in the syllabus. However, I think it might be reasonable that if everyone in the group has one late pass to render and you communicate with me before the due date, then your group can have an extension of 48 hours.



2. What is Computational Thinking?

You have read this article about computational thinking. What are your takeaways?

Computational thinking refers to the thought processes involved in expressing solutions as computational steps or algorithms that can be carried out by a computer.

ISTE Standards about Computational Thinker:

Students develop and employ strategies for understanding and solving problems in ways that leverage the power of technological methods to develop and test solutions. Students:

  • a. formulate problem definitions suited for technology-assisted methods such as data analysis, abstract models and algorithmic thinking in exploring and finding solutions.

  • b. collect data or identify relevant data sets, use digital tools to analyze them, and represent data in various ways to facilitate problem-solving and decision-making.

  • c. break problems into component parts, extract key information, and develop descriptive models to understand complex systems or facilitate problem-solving.

  • d. understand how automation works and use algorithmic thinking to develop a sequence of steps to create and test automated solutions.

Four facets of computational thinking:

  • Decomposition: Breaking big problems into smaller, easier-to-manage problems.

  • Pattern Recognition: Analyze and look for repeating sequence.

  • Abstraction: Remove parts of a problem that are unnecessary and make one solution work for multiple problems

  • Algorithm: Step-by-step instructions about how to do something


Computational Thinking in daily life:

Computational Thinking is everywhere in our everyday life. Can you think of some examples?

  • Cleaning your room

  • Gathering things you need before leaving home.

  • Choosing a check-out line at the grocery store

  • Making a peanut butter and jelly sandwich

Debrief:

  • Computational thinking does NOT equal computer science.

  • Computational thinking does NOT equal coding.

  • Computational thinking is a series of problem-solving skills.

  • Computational thinking has 4 major components: Decomposition, Pattern Recognition, Abstraction, & Algorithm

  • Computational thinking is not limited to STEM.

  • Computational thinking is everywhere in everyday life.



3. Block-based Programming: Scratch

Block-based programming was introduced to help K-12 students learn coding. Instead of learning the traditional text-based coding languages such as Javascript and Python, students just need to drag and drop blocks of codes and combine them together to create programs. The most popular block-based programming website is Scratch. It was developed in 2003 by the MIT Media Lab and designed especially for ages 8 to 16. For younger kids, there is Scratch.Jr, which can be used on iPads.

You are also encouraged to explore Code.org, Microbit, Ozoblockly, and many other similar tools. The computational thinking skills you will learn through Scratch can be easily translated to other similar platforms.

Join our Scratch studio: EDIT2000_Spring 2021

  1. First, If you haven't done so, create a Scratch account.

  2. Search for "EDIT 2000_Spring 2021", click it and follow it.

  3. Send your username to me on Slack channel #scratch-project. I'll add you as a curator of the studio. You'll get an email from Scratch, please confirm it. Then you will be able to share your individual scratch remix and group projects there. This is also the most convenient way for you to collaborate with your classmates.

Scratch Remixes

You will have two remix projects of the starter projects, counting towards your grade. These are to be done individually outside of class, but I leave time for you to ask questions in class and share a little bit with each other. The purpose is to give everyone the opportunity to get familiar with Scratch before working on the group projects.



4. A preview of Computational Thinking group project

You will work in groups of two or three in the next two weeks to create a Scratch project for k-12 students. You will have some in-class time to collaborate with you groups, but you will also need to spend some time out of class to complete it with your team mates. Your scratch project can take any forms (games, stories, quizzes, etc), depending on your topic and the purpose. Whatever form it is, it should be a complete self-contained project without bugs.




Homework

Due before class,Tuesday, 03/23:

1. Watch this video CS50 computational thinking and Scratch (2019), which provides a more systematic explanation of computational thinking concepts and a great introduction to Scratch.

  • To those who have already been learning real coding languages, take this as an opportunity to recap. It'll be different if you think about it from the perspective of a teacher (i.e. how to teach computer thinking) when you watch it.

2. Watch the second half of CS50 Computational thinking and Scratch (2020) video (starting from 1:00:50) and follow the instructions to recreate the Scratch coding there. The 2020 version is similar to the 2019 version, but it's longer and less interactive. However, I think the Scratch part is easier to follow than the 2019 version. Post any questions you might have on the Slack channel #scracth-project.




Comments


bottom of page