Mohammed Hussain Unit 4
P1:Explain how computational thinking skills are applied in finding solutions
that can be interpreted into applications and D1 -Evaluate how
computational thinking skills can impact software design and the quality of
the software applications produced.
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.
1
,Mohammed Hussain Unit 4
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
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 soft ware 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.
Evaluation
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.
2
,Mohammed Hussain Unit 4
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
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 an algorithm. Programmers use algorithms 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”.
However on the other hand, a flowchart is a graphical representation of a series of
measures. It is commonly used to present the flow of algorithms, workflows, or processes
because it displays steps in a sequential order. A flowchart typically depicts the steps as
different types of boxes, with arrows linking them in the proper order. Most flowcharts are
either broken down into several steps to provide detail about what's going on or condensed
so that one step decides the next. In addition, flowcharts follow the steps below. With the
3
, Mohammed Hussain Unit 4
help of flowcharts, a programmer may create a programme that asks questions as input and
displays the responses as output.
In conclusion I can sum up that computational thinking is a technique that solves problems
which involves breaking down much larger problems into smaller problems
(decomposition), searching for similarities within problems (pattern recognition), focusing
on only relevant details (abstraction), and establishing a systematic solution to the issue. As
programmers use it to break down a problem and create a come up with solution,
computational thinking affects software quality and design of software applications created.
Programmers will also use pattern recognition to assess and decide whether any problems
or solutions they might have had before relate and add it in in this circumstance.
If a solution has been produced, it must be tested to ensure that it is acceptable. As a result,
using test programmes, programmers will ensure that the solution performs what it was
intended to do. In any case, the downside or possibility of computational thought is that if
the four steps aren't followed correctly, the solution will be incorrect. Another drawback is
that if no evaluation is performed, flaws in the algorithm can go undetected which means
the problems have not been founded and solved. Lastly, if the solutions produced by the
algorithms are insufficient, unreliable, or do not have any basic design requirements,
computational thinking has a drawback. The benefits or strengths of computational thought,
on the other hand, can be used in normal everyday life as this has been researched and
proved that some programmers use computational thinking in their everyday life to solve
problems.
P2: Explain how principles of computer programming are applied in
different languages to produce software applications.
There are several different programming languages that have been developed throughout
the centuries. Old programs were written in binary instructions that gave instructions to the
computer what exactly to do. However, this was time consuming. This was quickly outdated
and new programming languages were created which proved to be time efficient. High and
low level languages made programming a better process to understand. A programming
language intended to simplify computer programming is a high-level language. It is "high-
level" because it is separated from the actual code running on the processor of a machine in
many steps. High-level languages are considered the most popular programming languages.
4