Overview

As you start to develop more complex programs, you are going to run into more errors and bugs. Today is focused on strategies for debugging and the kinds of errors that you will encounter, along with a particular structure, nested loops that leads to a lot of bugs for new students.

Basic Learning Objectives

Before class, you should be able to:

  • List strategies for avoiding bugs in the first place
  • List “rules” for debugging
  • Define syntax, runtime and semantic/logic errors
  • Write a nested loop

Advanced Learning Objectives

After class, you should be able to:

  • Write nested for-loops to solve a problem
  • Systematically debug a program with each type of error
  • Combine for-loops and conditionals

Resources

You should read/watch the following and complete the embedded checks through Moodle:

  • Runestone 3.1-3.8
  • Runestone 7.8-7.10