My Software Engineering Notes Help

Module 1: Pillars of Computational Thinking

Learning Outcomes

  • Describe the four pillars of computational thinking and their benefits

  • Apply the pillars of computational thinking to solving a problem

  • Represent an algorithm using a flowchart

What is computational thinking? Why is it important?

  • approach to solving problems using concepts and ideas from computer science, and expressing solutions to those problems so that they can be run on a computer

  • involves breaking down a problem in smaller parts, looking for patterns in those sub-problems, figuring out what information is needed, and developing a step-by-step solution

  • will give you a foundation for solving problems, and will be one of the fundamental core skills in all walks of life in the 21st century

  • can be used to solve problems that have real-world social impact

  • examples

    • mapping the human genome

    • predicting the spread of infectious disease

    • coordinating disaster relief efforts

    • understanding the impact of government policies

Pillars of computational thinking: decomposition, pattern recognition, data representation and abstraction; algorithms

  1. Decomposition

    1. breaking a complex problem into more manageable subproblems

    2. putting the solutions to the subproblem together gives a solution to the original, complex problem

    3. example:

      1. writing a paper—you build an outline for the paper first

  2. Pattern Recognition

    1. finding similarities or shared characteristics within or between problems

    2. makes the problem easier to solve since the same solution can be used for each occurrence of the pattern

  3. Data Representation and Abstraction

    1. determining what characteristics of the problem are important and filtering out those that are not

    2. use these to create a representation of what we are trying to solve

  4. Algorithms

    1. step-by-step instructions of how to solve a problem

    2. identifies what is to be done (the instructions), and the order in which they should be done

    3. What is an instruction?

      1. often expressed as something humans understand

      2. eventually translate into sequences of computer instructions

    4. can be described in English, as a flowchart or by using pseudocode

Last modified: 10 March 2024