Skip to document

Computational thinking skills Example

Teaching notes
Subject

Information Technology

84 Documents
Students shared 84 documents in this course
Academic year: 2023/2024
Uploaded by:
Anonymous Student
This document has been uploaded by a student, just like you, who decided to remain anonymous.
Huddersfield New College

Comments

Please sign in or register to post comments.

Preview text

Computational thinking skills Computational thinking skills are using methods that a computer would use to solve complex problems. Which is basically breaking down a problem to smaller problems and making it more manageable to be able to apply logical solutions. Decomposition Decomposition means breaking down a complex problem into smaller tasks to make the whole problem more approachable. To use decomposition first you must identify and describe the problem and processes that you’re trying to solve. Then you can start breaking down the problem into smaller more manageable tasks, which allows you to describe them even in greater detail and create a set of structured steps based on the priority. Reasons why you should use decomposition: Makes it easier to focus on one thing rather than focusing on the whole problem and not knowing where to start. - By breaking down problems it allows you to examine everything in greater detail. - The smaller the tasks are the easier it is to understand and solve them. - It also makes the problems more manageable, and it allows you to set priorities for tasks.

  • We use decomposition in everyday tasks, and we don’t even realise it. E., Going to any set destination of yours, we use some sort of method to get there. We don’t go straight path to our destination (Unless you live very close to it then the problem is too small to break it down even more). We break it down to smaller sets and methods that would help us to get to our destination in less time and effort. Comparing to just simply trying solve the problem without breaking it down to decomposition. It is far more difficult if the problem is not broken into smaller tasks, because it might be too big and overwhelming to people to tackle such error straight away. Also people who don’t use decomposition are more prone to mistakes. Since without breaking down the task into smaller tasks they tend to miss some details. I think decomposition is necessary for every big task or problem you are doing. This method is really simple and efficient. It can reduce a lot of stress and wasted time on tasks. A lot of people tend to ignore this method or just don’t know about it which is really bad and they are just making themselves the task harder. By breaking down the task into smaller tasks and slowly solving them it gives a feeling of actual progress and makes you want to keep going. This type of effect it does to the person who uses decomposition is really beneficial, because it makes them feel less stuck and wanting to quit the task.

Pattern recognition After we decomposed the problem we need to look at the smaller problems in order to find any similarities or patterns. Patterns are similar characteristics that could be found anywhere (E. all trees have leaf’s, all dogs have tails, noses, eyes and fur.). Simply by knowing these types of characteristics we can try to replicate them by any way. The only things that could be different are the specifics that are unique for each object such as: Some trees might be bigger than others, some might have more branches,some dogs are bigger and some are smaller etc. These types of small specifics aren’t used in computational thinking unless they have a pattern. The reason why they aren’t used is because the whole point of pattern recognition, is to make everything more simple and straight forward. Reasons why you should look for patterns: - Problems are easier to solve if they share the same characteristics which allows you to apply them to other problems. - By finding more patterns we make the whole task overall much easier to solve. - If we try to reproduce an object or describe it, we can find its main characteristics(pattern) to make the whole task easier. - We know each object has a pattern, so we don’t have to create unique objects every single time. - When designing new object, you can use an existing pattern of similar object. Comparing pattern recognition to just making unique patterns every single time to meet some similarities. Pattern recognition is a lot easier and widely used than any other method. It’s most commonly used in factories, where machines produce objects that fits the same pattern. If factories wouldn’t use pattern to produce products, they would make more products with defects. Also without pattern recognition you could not use machines to manufacture anything, because it’s impossible for them to produce something that is completely unique each time. They have to follow specific pattern. If factories wouldn’t use machines it would massively reduce the production rate, that is why pattern recognition is important. I believe pattern recognition is a good method for looking into similarities of objects or tasks and applying previous methods to creating the same object or solution depending on the task you do. By recognizing patterns anywhere in life, you become more familiar with things and less lost by unnecessary factors. It helps to solving some problems instantly and applying solutions from previous patterns. Even babies use pattern recognition without knowing it. They copy patterns through perceiving how their parents talk, walk, act etc. And they slowly learn those patterns and apply them. Generalisation and abstraction After finding a pattern it is necessary to only have in the pattern what is the most important. You can do that by applying generalisation and abstraction. Generalisation is following the pattern and ignoring confusing details. Abstraction is filtering out unnecessary characteristics in order to concentrate on more important ones.

The data types that a variable can store are called: integers, floats, Booleans and strings. It’s important to give your variables a meaningful name, since you might have many them to know what each one of them does.

  • Constants are similar like variables, but the only difference is that the value that they hold can’t be changed by the program after assigning it.
    • Key process/repeated process is a process in your program that look for certain requirements and if they are met executes certain tasks. It can run only once, or it can run forever until the conditions are met. The processes that run more than once are called iterations (loops). It’s important to give an exit condition for a loop or it will run forever and might crash your program or even your device. One of the most common examples for this process is password validators. You can create a password validator that can check If the password that is stored in a certain variable by the user is equal to true. And if it’s not equal to the correct password then run the iteration again or end the process.
  • Inputs and outputs are values that are ether being stored somewhere in the program or being processed and sent to the user in some form to see. Inputs can be used for password validations as well. When the user first creates its account or wants to change its password they are being stored somewhere. And the password that was typed in by the user is considered an input. Every data that comes not from the actual program itself is considered as input. Outputs are the opposite of inputs. Their main task is to take the certain values from the program and present it in some way, somewhere. It can be printed as text into console, presented as some pop up etc. For example, you forgot your account password and you want to reset it or get it back. You provide your email in a field where your asked to. Then you receive an email as an OUTPUT of the data from certain servers that hold that information. Reasons why you should first identify what is needed for a solution: - Helps you to understand the problem better.
    • Saves time because you aren’t aimlessly trying to solve the problem, but instead looking for the best solution . - Using tools that are only necessary thus reducing workload.
  • Your program/system is less prone to errors (no spaghetti code). I think first identifying the parts of the problem/system and what is needed for it, is important because not only it helps you with the work, but it also helps other people who look at your work and might need to edit it in some way. By using only what is necessary it creates a lot cleaner code that is easy to understand. And by having code that is easy to understand it really helps to find any errors or bugs in the program.
Was this document helpful?

Computational thinking skills Example

Subject: Information Technology

84 Documents
Students shared 84 documents in this course
DegreeGrade:

Sixth Form (A Levels)

A1 - AS Level
Was this document helpful?
Computational thinking skills
Computational thinking skills are using methods that a computer would use to solve complex
problems. Which is basically breaking down a problem to smaller problems and making it more
manageable to be able to apply logical solutions.
Decomposition
Decomposition means breaking down a complex problem into smaller tasks to make the whole
problem more approachable.
To use decomposition first you must identify and describe the problem and processes that you’re
trying to solve. Then you can start breaking down the problem into smaller more manageable tasks,
which allows you to describe them even in greater detail and create a set of structured steps based
on the priority.
Reasons why you should use decomposition:
Makes it easier to focus on one thing rather than focusing on the whole problem and not knowing
where to start.
- By breaking down problems it allows you to examine everything in greater detail.
- The smaller the tasks are the easier it is to understand and solve them.
- It also makes the problems more manageable, and it allows you to set priorities for tasks.
- We use decomposition in everyday tasks, and we don’t even realise it. E.g., Going to any set
destination of yours, we use some sort of method to get there. We don’t go straight path to our
destination (Unless you live very close to it then the problem is too small to break it down even
more). We break it down to smaller sets and methods that would help us to get to our destination in
less time and effort.
Comparing to just simply trying solve the problem without breaking it down to decomposition. It is
far more difficult if the problem is not broken into smaller tasks, because it might be too big and
overwhelming to people to tackle such error straight away. Also people who don’t use
decomposition are more prone to mistakes. Since without breaking down the task into smaller tasks
they tend to miss some details.
I think decomposition is necessary for every big task or problem you are doing. This method is really
simple and efficient. It can reduce a lot of stress and wasted time on tasks. A lot of people tend to
ignore this method or just don’t know about it which is really bad and they are just making
themselves the task harder. By breaking down the task into smaller tasks and slowly solving them it
gives a feeling of actual progress and makes you want to keep going. This type of effect it does to the
person who uses decomposition is really beneficial, because it makes them feel less stuck and
wanting to quit the task.