An algorithm is a detailed step-by-step set of instructions for solving a problem or completing a task. In computing, programmers write algorithms that instruct the computer on how to perform a task. There is usually more than one way to solve a problem or complete a task, but some of these ways will be better than others. The same is true for algorithms. When programmers write algorithms, they need to think about the solution that takes the least amount of time (efficiency) and uses the least amount of code (file size). They also need to think about things like sequencing (order of events), repetition, and conditional logic (if __ is true, then do ___).