Making Computers Understand You


Asking a friend to grab you a glass of water seems like a simple ask. However, computers are not as smart as humans. Although computers can quickly complete complicated tasks, they still require explicit step-by-step instructions to be able to complete their assigned tasks.

The sets of rules given to a computer to accomplish tasks are called algorithms. For a computer to understand your algorithm and successfully accomplish the given task, the algorithm needs to have the following characteristics.

  1.  Input: An algorithm must have specific input values that will be used in creating a desirable output. For example, in the algorithm for grabbing your friend a glass of water, the inputs are a glass and a water source.
  2. Output: The algorithm must return desired outcomes based on the inputs. For example, a glass of water specially delivered to your friend is the output of the algorithm.
  3. Finiteness: There must be a finite number of steps after which the algorithm must terminate. That is, after completing pre-defined steps – as grabbing the glass, filling the glass to the brim, and bringing the filled glass to your friend – the algorithm must stop running. 
  4. Definitiveness: All the steps of the algorithms must be explicitly defined. Remember, there is no room for vagueness where computers are concerned!
  5. Effectiveness: Your computer must be able to complete each step of the algorithm in time. A rule of thumb is to test your algorithm by hand step-by-step. If you can understand each step and arrive at the desired outcome, then your algorithm is probably effective.


In the next post of this series, we will introduce a get-me-water algorithm to clearly differentiate between effective and ineffective algorithms.

Recommend0 recommendationsPublished in Coding & STEAM, Curriculum, Teens

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.