use a variety of methods to debug programs (e.g., manual code tracing, extra code to output the state of variables);