Translation from Problem to Code in Seven Steps
Students in introductory programming courses struggle with how to turn a problem statement into code. We introduce a teaching technique, "The Seven Steps," that provides structure and guidance on how to approach a problem. The first four steps focus on devising an algorithm in English, then the remaining steps are to translate that algorithm to code, test the algorithm, and debug failed test cases. This approach not only gives students a way to solve problems, but also ideas for what to do if they get stuck during the process. Furthermore, it provides a way for instructors to work examples in class that focus on the process of devising the code-instructors can show how to come up with the code, rather than just showing an example. We describe our experience with this technique in several introductory programming courses-both in the classroom and online.