What is a drone? What does it do? What is it used for?
How would a controller fly successfully?
Computer science depends on a programmer’s ability to tell a computer exactly what to do. Problems with software and hardware arise when the instructions given to a computer are not perfectly accurate or precise.
Think of a computer like a bad chef following a recipe to make an omelette. If the first step read “Put egg in bowl,” the computer would simply throw a raw egg, shell and all, into the bowl, which is certainly not what the recipe intended.
In contrast to these imprecise omelette recipe instructions, the instructions for filing taxes are actually quite precise (although confusing). The PDF forms that are eventually submitted to the IRS give very specific, detailed instructions about what lines to write values on and when to add them up. These instructions are comparable to those that a programmer would give to a computer.
Think it’s easy? Try it for yourself. Take a few minutes and write some instructions for making a peanut butter and jelly sandwich. Now we’ll actually execute those instructions as a computer would.
Here’s an example of such an algorithm:
- Take two slices of bread from the loaf.
- Apply two tablespoons of jelly on both halves.
- Apply two tablespoons of peanut butter in the same way.
- Join the two halves.
- Have fun!
What’s the result of following this algorithm as a computer would? A big mess, unfortunately. Consider that we never told the computer to open the plastic packaging of the loaf or to use the knife to apply the jelly and peanut butter. While this might seem like a ridiculous visual, it’s suggestive of the way in which we have to think in order to write computer programs.
Sometimes you will struggle with the difficult task of translating tasks as you see them in your mind into instructions that a computer can understand and follow to achieve them.