Computation Thinking — the Basics

Introduction

Welcome to the engaging world of Computer Studies! In this course module, we invite you to embark on an exciting journey to unlock the basics of Computational Thinking. Whether you aspire to become an expert coder, or you're simply keen to understand how computers work, this module is designed to provide you with the foundational knowledge and skills.

Overview

Now, let's dive into the key areas this module focuses on:

  1. Understanding Computational Thinking: At the center of modern computing lies a concept known as Computational Thinking. Essentially, it's a method of problem-solving that involves breaking down complex problems into smaller, more manageable tasks. It's about thinking in a way that a computer can effectively execute your instructions.
  2. Breaking Down Problems (Decomposition): This module will initially focus on helping you master the art of decomposition. Think of it as dissecting a problem into smaller, independent parts that end up being easier to manage and solve. We'll illustrate this with everyday examples and hands-on exercises, helping you understand the importance of detailed and accurately sequenced steps in problem-solving.
  3. Sequencing: You will learn about the critical role of sequencing in computational thinking. Simply put, it’s about the correct order of operations. Computers are incredibly precise machines and need instructions in a certain order to function correctly. You'll explore how incorrect sequencing can lead to incorrect results or outputs.
  4. Focussing on Relevant Tasks (Abstraction): Lastly, we'll introduce you to the concept of abstraction. This is a crucial skill that involves focusing on relevant tasks and ignoring the unnecessary details, making problem-solving easier and more efficient. This allows us to construct a general solution, which can be applied to many similar problems, rather than one specific situation.

The teaching approach will remain conversational and engaging throughout. By the end of this module, not only will you gain a basic understanding of computational thinking and its fundamental elements, but you'll also be equipped with practical ways to improve your problem-solving skills. This knowledge and skill can be applied across a range of disciplines, not just in computer science, but also in daily life scenarios, making this module valuable for each one of you.

So, are we ready to unravel the mysteries of Computational Thinking together? Let's get started!

Course Module Goals:

  1. To understand and grasp the fundamentals of computational thinking.
  2. To learn how to decompose a problem or task into smaller, manageable problems or tasks.
  3. To appreciate the importance of sequencing steps in the correct order for effective execution of tasks.
  4. To understand the concept of abstraction and its application in computational thinking.
  5. To connect computational thinking with Christian theology and effectively apply principles from both fields to solve problems.

Course Module Objectives:

  1. Students will be able to define and explain the concept of computational thinking, and understand its relevance and application.
  2. By the end of this module, students will demonstrate the ability to decompose a complex problem into smaller tasks, and prioritize these tasks based on importance and sequence.
  3. Students will practice arranging tasks in a logical order, and appreciate the role of sequence in implementing effective solutions.
  4. The module will equip students with knowledge on how to ignore irrelevant information and focus only on the important parts of a problem, applying the concept of abstraction in various context.
  5. Students will be assessed on their ability to apply these concepts of computational thinking - decomposition, sequencing and abstraction to solve a series of practice problems.
  6. Students will be required to demonstrate their understanding by solving a complex problem using computational thinking techniques, and writing a short reflection on how the process resonates with key teachings in the Bible.

Importance of this Course Module

Computational Thinking is a fundamental skill for everyone, not just for computer scientists. It involves problem-solving, system design, and understanding human behavior, using the concepts fundamental to computer science. To us, it might sound like a complicated term, but it's more present in our daily lives than we think.

Consider daily tasks like getting ready for work or cooking. We follow a specific sequence, and if we skip a step or mix up the order, things can go awry - similar to a computer program. This way of sequential thinking is a key component of computational thinking. For instance, imagine trying to bake a cake but instead of following the recipe step by step, you toss all the ingredients into the bowl at once. The result? Not a cake at all! The same concept applies to computers - they need detailed, step-by-step instructions to function correctly, this we call decomposition.

Moreover, Computational thinking is rapidly becoming an integral part of our world. According to a report by the World Economic Forum, by 2025, 85 million jobs may be displaced by a shift in the division of labor between humans and machines. However, the same report also suggests that 97 million new roles could emerge that are more adapted to the new division of labor between humans, machines, and algorithms.

Lastly, focusing solely on the relevant aspects of a problem and removing all extraneous details is called abstraction. In the 1960s, IBM 360, the first family of computers, was designed using abstraction. They managed to make a series of computers, each with different abilities and prices, but all based on the same core technology. This was a revolutionary approach at that time that could not have been achieved without the aid of computational thinking.

In sum, to future-proof your career and enhance daily decision-making processes, understanding and applying computational thinking is essential. Just as literacy was transformed in the last century from an elite privilege into a basic requirement for informed citizenship, so too will computational thinking become a necessary skill for this digital age. So, this module is not just about learning computer studies, it’s about preparing for the integration of our lives with technology and better navigating our interconnected world.

Theology of Technology: Embracing Computation Thinking as A Christian

Calculated Creation: A Christ-Centered Computation

Computation thinking may, at first glance, appear far removed from religious discourse. Still, as Christians who trust that "in the beginning was the Word, and the Word was with God, and the Word was God" (John 1:1), we know that communication—be it verbal, written, or computed—has a devine origin. Therefore, we must grapple with the theological implications and applications of technological advancements. Today, we discuss the basics of computational thinking, and its essence in Christ’s teachings.

The Divine Decomposition

"One generation passeth away, and another generation cometh: but the earth abideth forever" (Ecc. 1:4). In the same vein, a vast problem can be broken down into manageable issues—this reflects the ingenuity of our Maker, who fashions complex systems from simple elements. When we decompose a task, we are essentially participating in God's creative process. Just as God formed man from the dust of the earth (Genesis 2:7), we too form solutions from decomposed problems.

Sequential Salvation: The Order of Grace

God Himself is a God of order (1 Corinthians 14:33). From the orderly creation account in Genesis to the sequential prophecies in Revelations, God's actions follow a specific chronology. Likewise, when we put our problem-solving steps in order, we mirror God's orderly nature. It points to the foundational truth of our redemption: Jesus' sacrifice on the cross had to precede our salvation, a perfect demonstration of the necessity of sequence.

Abstraction and the Essential Gospel

When faced with a plethora of information, we must understand what's essential—this ability is called abstraction. In computational thinking, as in our spiritual walk, we must learn to discern the important details and disregard the irrelevant. This principle mimics Christ’s teachings: although there are many aspects to the Word, Jesus made the Gospel clear, "Love the Lord your God with all your heart and with all your soul and with all your mind. This is the first and greatest commandment. And the second is like it: 'Love your neighbor as yourself.' All the Law and the Prophets hang on these two commandments” (Matthew 22:37-40). We are called to constantly abstract our world and focus on the most important parts: love for God and love for others.

Understanding computational thinking as a Christian challenges us to see the principles behind our faith reflected in constants of the universe, such as logic and order. May we always continue to find God in all facets of our learning and seek to use these discoveries to better serve His kingdom.

Creation, Fall, Redemption, and Restoration: A Biblical Perspective on Computational Thinking

Creation: The Genesis of Computation

In Genesis 1:1, we read, "In the beginning, God created the heavens and the earth." Just as God perfectly designed our universe with order and specified the rules that govern it, so too has He instilled in us the capability to create systems, like computer algorithms, guided by precise instructions.

Computing, at its core, involves decomposing complex problems into manageable tasks, executing these tasks in a specific sequence, and focusing on crucial details while abstracting away from the unnecessary. This mirrors the creative process described in the Bible, where God methodically forms the cosmos, piece by piece, over six days, each act of creation executed in its precise order and time.

Computational thinking is thus not only a modern skill but a reflection of our Creator's genius, highlighting our unique ability as humans, made in God's image (Gen 1:26-27), to critically think and problem-solve.

The Fall: Imperfect Systems and Flawed Logic

Yet, computational systems are not flawless. Just as the fall of man introduced sin and imperfection into God’s perfect creation (Gen 3), our computational solutions bear the inevitable mark of human error and limitations. Bugs, logical errors, and security vulnerabilities creep into even our most well-designed systems, a sobering reminder of our fallibility.

Redemption: Refining our Computation through Grace

Yet, there's hope. Just as Jesus’s sacrifice on the cross redeems us from our sins (Rom 3:23-24), we too can better our computational systems. Debugging, refining algorithms, and improving our code allows us to mend the errors in our systems, akin to the process of sanctification.

The heart of computing resonates with the redemptive nature of the gospel. It involves not merely accepting our systems as they are but striving, with God's help, to improve, optimize, and perfect them.

Restoration: Using Computation for the Glory of God and the Good of Mankind

Just as the Bible prophecies a day when God will restore all things (Acts 3:21), we can use computational thinking to bring about restoration in our world. Computing finds application in myriad fields, from healthcare to education, and holds potential to further the common good.

Innovation led by Christians in computational fields not only glorifies God but ensures technologies developed promote ethical use and uphold the sanctity and dignity of all individuals, as commanded by the second great commandment “love your neighbor as yourself." (Matt 22:39)

While problems we solve through computational thinking may be worldly, our purpose in studying this discipline should be heavenly. Consider Colossians 3:23: "Whatever you do, work heartily, as for the Lord and not for men." In pursuing computational excellence, we honor God by using the intellect He bestowed us to solve real-world problems, benefitting mankind and spreading His love.

In summary, embracing this course module on computational thinking is not merely about acquiring a new skill. As believers considering the insights of creation, fall, redemption, and restoration, we are on a journey to deepen our understanding of God’s world, enact His love, and glorify Him through our work. All the while, learning to solve problems in a way that resonates with our Creator’s mind, mending the brokenness in our imperfect solutions, and using our skills for the betterment of society and for the propagation of the Gospel.

Conclusion:

In this module, we journeyed through the exciting world of Computational Thinking, unraveling its key components such as decomposition, sequencing, and abstraction. We learned how computational thinking is not just for computer scientists but a crucial skill for problem-solving in our increasingly digital world. By mastering these concepts, we've empowered ourselves to approach challenges more systematically, like breaking down problems into manageable parts, organizing steps in a logical order, and focusing on essential details while discarding the non-essential.

Furthermore, we explored the fascinating connection between Computational Thinking and Christian theology. Drawing parallels to our faith, we discovered how the principles of creation, fall, redemption, and restoration reflect in computational processes, reminding us of the divine order and the redemption work of Christ.

As we wrap up this module, let's remember that computational thinking is not just a tool for innovation but a way to honor our Creator by employing our intellect to solve real-world problems and uplift humanity. By integrating these concepts with our faith, we aim to bring glory to God by using our skills effectively and ethically, contributing to the common good and spreading His love to all.

Through this journey, we've not only gained valuable knowledge but also embraced a mindset that equips us to navigate the complexities of the digital age with wisdom and purpose. So, let's continue to apply these principles in our lives, inspire others, and strive for excellence in all we do, for the greater good of society and the advancement of the Kingdom.

Remember, computational thinking is not just a skill; it's a mindset that shapes how we approach challenges, make decisions, and impact the world around us. Embrace it, practice it, and let it guide you towards a future where problem-solving is not a daunting task, but a creative and purposeful endeavor.

Thank you for joining us on this enriching journey, and may you continue to explore, learn, and grow in your understanding and application of computational thinking in all aspects of your life.


Related Articles