Before you can think about programming a machine, you must first find out exactly what
you want to tell it to do. This way, working about issues is Computational Thinking.
Computational thinking makes it possible for us to take on complicated challenges, consider
what the issue is, and create solutions. In all coding programmes today, computer thinking
is a core component. This step-by-step coherent approach is important for students to learn
in order to excel. It's a way of teaching students how to think like a machine. It's a technique
that teaches students to think like they are a computer. Decomposition, pattern
recognition / representation of data, generalization/abstraction, and algorithms are the
characteristics which define computational thinking. A generic solution results from
decomposing a problem, using data representation, it defines the variables involved and
construct algorithms. Decomposition which is a complex problem or system is broken into
components that are easier to conceive, comprehend, program, and maintain. It enables us
to analyse the different aspects of computing, ground our thinking, and guide ourselves to
an end point. We also use pattern recognition which includes finding the similarities or
trends amongst small, broken down issues that can help us more efficiently to solve more
complex issues. Pattern recognition is a five-step method that includes identifying common
elements, identifying and analysing known variations between procedures or issues,
identifying specific elements with problems., describing the patterns that have been
identified and lastly making predictions based on identified patterns. Furthermore,
Abstraction is the method of filtering out the characteristics of trends that we don't need in
order to focus on those we do, ignoring them. It helps us to form a clearer method.
Algorithms which are step by step instructions to complete a task can link to computational
thinking as programmers should use this method to find out the solution. This is the last and
final technique of computational thinking.
Additionally, programmers benefit from computational thinking because it is the skill set
and logic that allows a programmer to break down, find patterns, abstract important
information, and create algorithms. Moreover, because a solution was developed using
computational thinking, it is critical that the solution be implementable and achievable.
Furthermore, the algorithm should be examined to see if it has been fully broken down, if it
meets the design criteria, and if it is efficient. Furthermore, evaluation enables programmers
to consider a solution to a problem, ensuring that it meets design criteria and is appropriate
for the task at hand before beginning programming.
Programming and computational thinking are not the same. At different levels of
abstraction, it represents a way of thought, not just the ability to program. The process of
Computational Thought actually begins before the first line of code is written. It is a simple
and fundamental ability, not a mechanical one. However, Computer programming is the
mechanism by which an executable computer program is designed and constructed to
1
, Unit 4
UNIT 4 LAA
achieve a particular computing result or to perform a particular task. Also with
computational thinking, there are uses of software applications. Application software is a
program or collection of programs intended for end-users. An example of software
applications can be, a spreadsheet, an accounting program, a web browser, an email client
etc. All software applications have implications. Applications that help users to be in their
comfort zone and to enjoy lots of forms of media, for example, music, books etc. Another
use of software application can be applications such as spreadsheet, PowerPoint and word
processors, this can be used to increase productivity and help workers complete task more
effectively .Videogames which can be used to decrease stress. Risk of this can be isolation
and addiction. This can lead to bigger problems in the future. Software applications should
meet user needs. The programmer can make the applications suitable for all people, for
example, for people that are visually impaired, there should be a narrator built in the
program and text should be in bold and big.
Computational thinking skills can impact software design and the quality of the software
applications produced by the disadvantages of advantages of computational thinking skills.
Computational thinking includes a number of skills. Computational thought is the act of
thinking as though you were a machine. If you can solve problems in a way that computers
can solve them, you can not only broaden the variety of problems that computers can solve,
but the programme would also be more elegant and have easier ways for users to
communicate. The quality of the original iPhone's user interface, for example, turned cell
phone production on its head. Companies had previously competed to produce the most
complex keyboards. The iPhone did away with all of that in favour of a single home button
and a touch screen, among other things.
Computational thinking will have an impact on software design and the quality of software
applications because programmers will make sure to analyse in details of the four major
skills of computational thinking. For example, decomposition which is the first principle of
computational thinking will make programmers focus on that because they would need to
decompose larger problems into many smaller problems, which would save them time.
Furthermore, this can relief stress for the programmers as they it’s a motivating principle in
which the bigger problems are harder to manage which breaking it down makes it more
manageable. The programmer can focus on each problem without worrying about the rest
of the program(larger parts). A next advantage of decomposition for a programmer is that it
enables them to copy and reuse significant and valuable portions of code in other software
application programmes. A programmer will also put their focus on pattern recognition
because identifying patterns simplifies tasks and makes solving problems easier because
programmers will use the same problem-solving approach when they find similar patterns.
Furthermore, the breaking down of problems for a software application by a programmer
could follow or include similar patterns. The reason for thus why programmers use pattern
recognition is its one of the four cornerstones which is crucial and links to decomposition as
you need to use the smaller parts to work out and solve more complex problems.
Furthermore, programmers follow the abstraction process, in which they collect general
attributes and separate specifics and information that aren't needed to solve the problem.
As a result, programmers would concentrate on the most relevant details and research how
2
, Unit 4
UNIT 4 LAA
they would develop the software application using the general characteristics gathered.
Abstraction is important because it helps programmers to develop a specific understanding
of a problem and how they want to solve it. If programmers do not follow the abstraction
method, they can end up with the incorrect solution. However, Pattern generalisation, on
the other hand, is important because it is used to classify patterns' relations and to draw
conclusive results/conclusion. A programmer will often create a model of the concept of a
problem they are attempting to solve before moving on to the next procedure, which is the
last step called algorithm. Programmers use algorithm as Algorithms are used to find the
most effective solution to a problem. They increase a program's productivity by doing so.
When it comes to programming, the term efficiency may refer to a variety of items. One of
them is the software's accuracy.
Algorithms are a set of instructions for solving a problem that programmers can write down
in either charts and graphs, pseudocode or flowcharts. To tell a machine to do something,
programmers must write a computer programme that will tell the computer what the
programmer needs it to do step by step. Furthermore, algorithms and computers are on
same stages/levels which means that if a computer is given an algorithm that is bad , the
computer can generate not very good results. For an algorithm to be efficient, it must be
simple and follow the set of instructions precisely.
Furthermore, programmers use pseudocode and flowcharts to demonstrate algorithms.
Pseudocode isn't a programming language; rather, it's a way of displaying a series of
instructions without the need for syntax. Writing complex pseudocode which programmers
do in the same way they do in other programming languages, among each algorithm
presented on its own side. Uppercase is used for commands and instructions, while
lowercase is used for variables according to a program rule. Furthermore, in pseudocode,
Input is used to pose a question and Output is used to show a message on a computer. An
example of pseudocode can be if a student’s grade is higher than 60, print “passed” or else
if below 60 print “failed”.
Usability is characterised as a software's functionality in relation to its intended intention.
The complexity of the human-computer interface is one of the most critical aspects of
usability. Furthermore, there is a growing trend among programmers to concentrate on
learnability, memorability, and performance. Maintainability refers to how simple an
interface is to understand; for example, if an interface has a straightforward structure and is
explicit, it is highly probable to be functional. Conversely, if understanding the interface is
complicated, users would be discouraged from attempting to use the app. notability is
3
, Unit 4
UNIT 4 LAA
described as the ease with which a user can return to using an interface after a long period
of time. This means that programmers must design software that allows users to return to
the level of service without having to spend time learning how to use the interface again.
Furthermore, reporting all errors is the method of designing an app that allows users to
easily access guides or support if they need it. This ensures that if any mistakes arise, users
will be given specific guidance about how to proceed. Furthermore, Functionality varies
because users have differing knowledge and skills, as well as disabilities such as visual
impairment and colour blindness. As a result, programmers can build software that allows
users to personalize their own software platforms.
Computational thinking is a problem-solving technique that uses critical and logical
reasoning to solve problems in the same way that a machine does. Also, the principles of
computational thinking include Decomposition. Decomposition assists in the solving of
complex issues and the management of massive projects. This process has many
advantages. It makes the whole process more manageable and realistic big issues can be
overwhelming, but a series of smaller, connected tasks is much more manageable. It gives
out the positive outcome of a result of something, example where this would be used in real
life can be if you wanted to make a cake, you would have to break it down to know how to
make the cake. The cons of decomposition can be it is time consuming because you would
have to break down the steps. Pattern recognition is a technique for giving machines the
intelligence to identify human faces, which is useful in image processing. Biological and
biomedical imaging are examples of such applications. Advantages of pattern recognition
can be it can solve the problems with fake bio metric detection. However, the cons can be
it’s a very time consuming and slow method and needs a larger dataset to obtain increased
accuracy. Furthermore, abstraction is a principle which filters out the useless characteristics
we don’t need to focus on. Advantages of this can be it can be used to improve security of a
program and can avoid duplication of coding. The disadvantages can be the code size which
can be a huge and important problem for small devices. To incorporate an abstraction, the
implementing code must deal with cases and circumstances that may or may not be
requested by several usage scenarios. This makes code that uses abstractions usually slower
than code that does not use abstractions and instead performs the operation directly which
can be a disadvantage. Lastly, algorithm is the last principle which is a set of instructions
which is needed to complete a task. Calculation, data processing, and automatic reasoning
are all accomplished with algorithms. Also, it’s a visual representation of a solution to a
given problem. However, the cons can be it is as time consuming as you would have to
work out the solution to a given problem which if the problem is complicated then it would
be harder to find the solution.
In conclusion this can impact software design as the principles have to be well thought of
and implemented. These advantages can really aid the software designs, but the
disadvantages have to consider as it can decrease the functionality and efficiency. This
which the advantages will be considered good as a program.
4
The benefits of buying summaries with Stuvia:
Guaranteed quality through customer reviews
Stuvia customers have reviewed more than 700,000 summaries. This how you know that you are buying the best documents.
Quick and easy check-out
You can quickly pay through credit card or Stuvia-credit for the summaries. There is no membership needed.
Focus on what matters
Your fellow students write the study notes themselves, which is why the documents are always reliable and up-to-date. This ensures you quickly get to the core!
Frequently asked questions
What do I get when I buy this document?
You get a PDF, available immediately after your purchase. The purchased document is accessible anytime, anywhere and indefinitely through your profile.
Satisfaction guarantee: how does it work?
Our satisfaction guarantee ensures that you always find a study document that suits you well. You fill out a form, and our customer service team takes care of the rest.
Who am I buying these notes from?
Stuvia is a marketplace, so you are not buying this document from us, but from seller Topqualityassignments. Stuvia facilitates payment to the seller.
Will I be stuck with a subscription?
No, you only buy these notes for $7.84. You're not tied to anything after your purchase.