Coding has been around for more than 50 years, starting in the late 50’s and till now, the programming logic rarely changes, the way you work around the problem at hand doesn’t differ much through time, the tools provided to you, however, can change your perspective and in turn change the way you can handle it
Some languages can give you tools that allow you to solve your problem in just two or three lines of code for example. At the time, other languages may let you code about twenty to thirty lines to achieve the same purpose. In the end, you thought of the solution the same way but the difference was in the implementation. Imagine the same has happened over the years with the evolution of multiple programming languages that allowed you to solve the problem in way less lines of code.
Back to the methodology, the way you look at the problem and figure out the solution. Some people try to customize a solution to the problem at hand, other try to find a global solution that can handle all the cases to this problem. These are not two schools actually but one of them is wrong and the other is the right way to provide a solution. Tailoring a solution to your problem can be the point. But you have to think of all other instances this problem might occur, categorize these instances and then provide a solution that will solve the problem at each and every one of these instances.
Much like testing, when software engineers test a model or a function or a piece of code they have built. We are talking about basic testing here and not passing the code to testing and verification teams. Software engineers actually don’t just test the code against a random test case and if it all goes well, they celebrate. Instead, they provide some sample test cases that can test the solution in multiple situations so as to be sure the solution is solid before actually passing it all to the testing team, who prepares a regression test to be run on the solution provided.
Regression testing is stacking multiple test cases that can target the main functionality of the code provided either by brute force, testing each and every condition, or by testing the most cases that will cover all the code lines. This way, the solution can be verified as a working one.
Think of this on a smaller scale, Robogarden has devised a very similar approach to what we have mentioned above, multiple test-case scenarios. It was built on the above idea that a solution shouldn’t be tested only against one test case but rather many test cases that can assure that this solution is a global solution to this specific problem. So, it is normal to see that after you write the code for a certain mission in one of Robogarden missions, you find the compiler running the case on two or three test cases where the environment is different at each time. Experts at Robogarden found that this way, we don’t only teach our kids programming skills, but add to that problem solving, alternative thinking and computational thinking as well. After you provide your solution on the problem in front of you, and you find that it runs correctly only on one out of three test cases, you will start thinking of why it went wrong on the other two and start tweaking your solution to be more general/global in its nature. One mission after the other, you will start doing this from the first trial. This is when you realize that your computational and alternative thinking skills are developed well.
So, got interested and up for the challenge. Start your learning journey with Robogarden today. Register for free.
Do you want to learn coding in less time than possible and without any money, join us on the best platform ever on learning coding as a game for kids?