‹‹ All zyBooks

Troubleshooting Basics


Frank Vahid

Professor of Computer Science and Engineering
Univ. of California, Riverside

Roman Lysecky

Professor of Electrical and Computer Engineering
Univ. of Arizona

Complete Table of Contents


  • Short intro (2 chapters) to a systematic troubleshooting process
  • Numerous real-world troubleshooting examples
  • Teaches basic debugging (using a simple programming language)
  • Debugging examples illustrate common calculation, logic, loop, and function errors

The zyBooks Approach

Nearly every instructor who teaches programming notices that students have weak debugging skills. Faced with a failing program, many students make random changes and hope things improve. Or they shrug their shoulders, say “I have no idea what’s wrong”, and ask the teacher for help. Most textbooks and websites provide insufficient coverage of debugging.

This two-chapter free zyBook teaches a systematic process for troubleshooting and helps new programmers to cultivate a solid foundation for debugging. The basic process illustrates how to create a hypothesis, test the hypothesis, and repeat. Seemingly obvious, but it’s not to most students.

The material teaches the process using everyday systems first, like TVs and smartphones. With a solid foundation of the basic systematic process, the material then teaches basic debugging (using a generic programming language).

The material then teaches debugging using the Coral programming language, an ultra-simple pseudocode-like language for new programmers. The examples appear in the web-based Coral simulator, so students can run the program, observe the error behavior, and fix the bugs. The Coral simulator is available for free for instructors and students.

Get Free