CSC B1.1 S2

Cards (16)

  • Computers can be used to help us solve problems. However, before a problem can be tackled, the problem itself and the ways in which it could be solved need to be understood.
  • Computational thinking allows us to take a complex problem, understand what the problem is and develop possible solutions. We can then present these solutions in a way that a computer, a human, or both, can understand.
  • There are four key techniques (cornerstones) to computational thinking:
    decomposition
    pattern recognition
    abstraction
    algorithm
  • decomposition - breaking down a complex problem or system into smaller, more manageable parts
  • pattern recognition - looking for similarities among and within problems
  • abstraction-focusing on the important information only, ignoring irrelevant detail
  • algorithms developing a step-by-step solution to the problem, or the rules to follow to solve the problem
  • Computational thinking in practice
    1. Computational thinking involves taking that complex problem and breaking it down into a series of small, more manageable problems (decomposition).
  • Computational thinking in practice
    2. Each of these smaller problems can then be looked at individually, considering how similar problems have been solved previously (pattern recognition) and focusing only on the Important details, while ignoring irrelevant information (abstraction).
  • Computational thinking in practice
    3. Next, simple steps or rules to solve each of the smaller problems can be designed (algorithms).
  • Computational thinking in practice
    4. Finally, these simple steps or rules are used to program a computer to help solve the complex problem in the best way.
  • Thinking computationally • Thinking computationally is not programming. It is not even thinking like a computer, as computers do not, and cannot, think. • Simply put, programming tells a computer what to do and how to do it. Computational thinking enables you to work out exactly what to tell the computer to do.
  • Thinking computationally
    For example, if you agree to meet your friends somewhere you have never been before, you would probably plan your route before you step out of your house. You might consider the routes available and which route is 'best' this might be the route that is the shortest, the quickest, or the one which goes past your favorite shop on the way. You'd then follow the step-by-step directions to get there. In this case, the planning part is like computational thinking, and following the directions is like programming.
  • Thinking computationally
    Being able to turn a complex problem into one we can easily understand is a skill that is extremely useful. In fact, it's a skill you already have and probably use every day.
  • Thinking computationally
    Another example might occur when playing a videogame. Depending on the game, in order to complete a level, you would need to know: 1. what items you need to collect, how you can collect them, and how long you have in which to collect them 2. where the exit is and the best route to reach it in the quickest time possible 3. what kinds of enemies there are and their weak points?
  • Thinking computationally
    way. Both of the above are examples of where computational thinking has been used to solve a complex problem: 1. each complex problem was broken down into several small decisions and steps (decomposition) 2. only the relevant details were focused on (abstraction) 3. knowledge of previous similar problems was used (pattern recognition) 4. to work out a step by step plan of action (algorithms)