Professional Documents
Culture Documents
Computational Thinking
Computational Thinking
1. Decomposition:
Decompositions means breaking a complex problem into
smaller and simpler parts, so if we can’t understand it we
break it and make it simple, by doing this we can understand
complex problems and once we understand it we can make
new solutions to solve it.
For example you are trying to make a really complex
program and you don’t know how to start it or what
functions to make, what you can do is break that one big
program to simpler parts, then organize these parts and
decide which part should be first, like this you waste less
time writing useless code and have more time working on
your functions.
2. Pattern recognition:
Looking for similarities among or within a problem, sometimes we
can use our past experiences to solve new problems, lots of times
we have the answer to a problem but we don’t understand it so
we think its impossible to solve but trying to look for similarities
can help us to use our experience with older problems to solve
new ones.
Sometimes you have the answer to your problem for example,
you want to write a function for your code and you don’t
remember how to make that function, by looking at your past
work and functions you made you can find a solution to that
problem or maybe you already have the code for that function
and you don’t know it.
3. Abstraction:
In a complex problem we can encounter a large amount of data
and information, but first two steps can help us to identify
important part from irrelevant part, it’s important to focus on
important parts of the problems instead of irrelevant parts.
4. Algorithms:
Once we follow first three steps we can make a solution for our
problem but after finding the solution we have to develop it in
a way that others and computers can understand it and work
with it, so algorithms mean developing a step by step solutions
that computers can follow and function with it and help us
solve the problems.
Principles of computer programming.
There are lots of programming languages in the world that we
can use, programming languages are usually different from one
another and this can make it difficult to learn two or more
different languages, in each separate language you have to use
different codes to make your program but there are some
principles that are the same all over programming world and
we have to use them to make programming easier for our
selves and write codes with higher quality.
SOLID principle.
SOLID principle stands for five principles which are
1.Single responsibility
2.Open/Close
3.Liskov substitution
4.Interface segregation
5.Dependency inversion
Solid principle is a coding standard and all developers must
have a clear concept for making software’s with high quality
and proper design.
It was introduced by Robert C. Martin and its used in object-
oriented spectrum.
Evaluation:
This is the evaluation of how computational thinking and
principles of computer programming can help and enable a
programmer to produce high quality software’s.
(Seymour Papert -1980)
The term computational thinking was used by Seymour for the
first time in 1980 and 1996, computational thinking was made
to solve complex problems by using 4 simple steps which
breaks the problem into smaller and simpler part, today
programmers use this method to make better software’s and
save more time on solving the problems, computational
thinking teaches programmer to break the problem into
smaller parts so they can understand it then they look for
similarities between that problem and other problems because
sometimes you have the answer but you cant see it next they
look for more important parts to solve and focus on and at last
when they have the answer they make a algorithm for
computer to understand and solve the problem, these steps
help the programmer to solve complex problems which means
larger, better and more complex programs for bigger projects
like rockets, cars and more.
Large projects like working for tesla or SpaceX or other large
companies with super important projects will have large and
complex problem and bugs but computational thinking has
always helped programmers to solve these problems and make
higher quality software’s.
(U.S NAVY-1960)
KISS principle which is short for keep is simple was design by
US navy, it helps programmer in groups to keep the code
simple delete unnecessary codes and writing comments for
code, this way wen they work in groups everyone can
understand the code and edit it or add more features which
means better team work and higher quality.
(Bertrand meyer-1988)
Open/close principles says classes, modules and functions must
be open to extension but close modification, so programmers
use it to add new features to a piece of code but they can’t
change the already existing code, this helps programmers to
make new features without deleting or making new bugs in the
old code.