Today we will talk about the algorithmic way of thinking, the only part of computer science that is used in every single programming language, and which is one of the most important things when it comes to solving a problem. However, it is not really mentioned in tutorials, blog posts or even university courses.
Algorithmic way of thinking is the art of solving a problem with a step-by-step process, in such a way that a computer can efficiently carry out the task.
So essentially, it is the process that you follow when you try to build a program. Normally you just start with the first thing that pops up in your head and try to build it from scratch. Don’t get me wrong, this can actually work, but in my opinion this is more suitable for a simple program and even then if you give it time you can find some far better solution. But we will talk more about that in another blog post.
The computational thinking applies to everything, for example if you can’t solve a problem even though you know a programming language. As I already told you numerous times, a programming language consists of 4 main lines of code. With that in mind, the only thing that separates a good from a bad programmer is how these command lines are used. If you start thinking about a problem, even the simplest one, you will understand that there are more than one ways to get the final output. For that, you will use your 4 command lines in different ways, in order to achieve different results.
Let’s try to simplify the process that I use:
- First, we should try to understand the problem, identify how it works and find the hidden patterns.
- Then it is time for brainstorming: start drawing arrays, data flow, and in general doing everything in order to collect different ideas.
- Then start a theoretical evaluation of these ideas. Of course, this is not always correct or accurate but it can give you a basic course to follow.
- Then choose the best idea, which is the core idea of your project.
- Finally, of course, we have to build the algorithm or platform in general.
- And evaluate the results.
- Between the previous two steps, you need to always remember that it is possible to have other ideas or to find that something is not easy to build or it is not viable. So keep handy your initial ideas and don’t hesitate to write more ideas during the development of the current one.
- It is more than a possible scenario to finish the development and decide that you need to develop a different version of this algorithm, because the results are not good enough or for comparison reasons. So keep that in mind.
Of course, in every one of these steps, there are many more details and differences from this general model that we can’t cover in one blog post, so we will probably create another one.
So I think that until now you already understand why it is important to start developing your algorithmic way of thinking.
It is something that can be used in any programming language and in fact in any real world problem. It can help you create substantially better results.
And all that, with a step by step process that will help you not only achieve the best possible results, but will also help you to put the right order in the process of making a project, which is really important if you want to scale up your skills.
Original BlogPost: http://www.philosophybehindcoding.com/8-steps-solve-programming-problem-without-breaking-sweat/
Very nice post, thanks for the follow, followed you right back @rishherbalist
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you have a great day
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Very nice, keep up the good work!
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you very much for your time, have a greay day :D
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Hey, that's a very structured way to think on writing a program. Keep up the good work and keep coding !
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit
Thank you :D I will try to create more content.
Downvoting a post can decrease pending rewards and make it less visible. Common reasons:
Submit