Solving problems is the core of computer science. Programmers must first understand how a human solves a problem, then understand how to translate this "algorithm" into something a computer can do, and finally how to "write" the specific syntax (required by a computer) to get the job done.

First, developers need to find a problem they can solve with software. Then, they have to figure out how humans solve that problem. And then, they have to find a way to effectively translate both the problem and the solution into code that a computer can use to solve the problem as well as (or better than) a person.

Tell your non-tech friend a story about a time you: