Level 3 Foundation Digital and IT
Hassan Sohail
Group B
Concepts of Programming
1.Computational Thinking
Computational thinking is a way to take a complex problem, understand what
the problem is, and think of possible solutions, which we refer to as
Algorithms. Computational thinking is additionally a process of recognising
aspects of computation within the world and having the ability to think
logically, algorithmically, recursively, and abstractly. Programmers use
computational thinking a lot when they apply procedural techniques and
processing skills when creating, communicating, and sharing ideas and
information to solve problems. Altogether there is Four main aspects to
computational thinking which will be used to different lengths depending upon
how and which problem needs a solution and needs to be solved. There are
the concepts and ideas of computational thinking Abstraction, Decomposition,
Recognising Patterns, Algorithms:
• Abstraction: Abstraction involves hiding details of an idea, problem, or
solution that is not relevant, to focus on a manageable number of aspects.
Abstraction is a natural part of communication as people rarely communicate
every detail, this is because many details are not relevant in a given context. In
layman's Terms Abstraction is eliminating all the unnecessary and irrelevant
information which is not needed to solve problems, often when you do maths
question there is a lot of information which is not needed to answer the
question so you extract the main points and use them to solve the problem
which usually makes it a lot easier. Now bringing abstraction back to
programming, you would firstly use abstraction to solve a problem as this will
help clear the information so it would be more helpful when solving the
problem. Now after the abstraction is complete you will move onto
Decomposition.
• Decomposition: Decomposition occurs when we start to break down a
problem into smaller parts so we can both understand and manage the
problem better to find a solution. For large, complex problems – we can then
analyse, solve, and design the smaller parts of the problem and then put it all
together to get the final solution. When you start Decomposition you are
basically telling the computer what to do exactly because the computer cannot
think for itself so if you miss stuff out when you're telling the computer what to
, Unit 4: Programming - Assignment 1
Level 3 Foundation Digital and IT
Hassan Sohail
Group B
do your program will have actions missing so because of this the computer
should have all the steps needed to carry out the program. Now bringing
decomposition back to programming, you will need to carry this out as
computers cannot think so we have to tell the computer exactly what we want
it to do after you should swiftly move onto the next step which is Recognising
Patterns.
• Recognising Patterns: Pattern Recognition consists of recognising a pattern
using a computer it is the very first stage in which we start to enhance our
solutions making them the most effective solution to the problem we are
facing. It can be identified in several ways, one definition is that it is a study of
ideas and algorithms that provide computers with perceptual capability to put
abstract objects, or patterns into categories during a simple and reliable way. A
Lot of the time we are able to see patterns before we work out the solution,
and sometimes we might need to work something out many times to be able
to see repetitive patterns so it can help us with making our solutions easier to
solve. Now linking this back to programming, once we have decomposed the
sophisticated problem, it will help when we examine the small problems and
similarities or ‘patterns. These patterns can effectively help us to solve
advanced problems more efficiently, now once this is complete you will move
onto the final step of Computational thinking which is Algorithmic Design.
• Algorithms: An algorithm is a precise description of the steps and decisions
needed to solve a problem. Algorithms will need to be tested before a final
solution can be implemented. Anyone who has followed or given instructions,
or navigated using directions, has used an algorithm. In an algorithm, each
instruction is identified and the order in which they should be carried out is
planned. If we want to tell a computer to do something, we have to write a
computer program that will tell the computer, step-by-step, exactly what we
want it to do and how we want it to do it. There are two main ways in which
algorithms are often represented one is by using pseudocode and therefore the
other is by using flowcharts. Pseudocode is a compact and informal high-level
description of a computer programming algorithm that uses the structural
conventions of some programming language, but it is intended for human
reading rather than machine reading. Pseudocode is not a programming
language, rather it is a simple way of describing a set of instructions that do not
have to use specific syntax. A flowchart is a pictorial representation of an
algorithm in which steps are drawn in the form of different shapes of boxes and
the logical flow is indicated by interconnecting arrows. Flowcharts normally use