An algorithm is a defined sequence of steps for solving a class of problems. It does not have to be written in a programming language. The key is that its instructions and conditions are clear enough to follow. Consider finding the largest number in a list. Start with the first number as the current largest, compare each remaining number, and replace the current largest when a bigger value appears. Decide separately how to handle an empty list. This edge case is part of the problem definition. An instruction such as “choose the best number” is ambiguous unless “best” is defined. Algorithms can differ in speed, memory use, and suitability for different inputs. A procedure that works on one example still needs checks on other cases. Practice: Write steps for finding the shortest word in a list. Define what happens when two words tie and when the list contains no words.