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.

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

Advanced Learning Objectives

After class, you should be able to:

  • Systematically debug a program with each type of error
  • Combine the building blocks we’ve learned about into larger programs
  • Write basic tests to check your code’s functionality

Resources

You should read the following:

Check

Submit the following to Moodle:

  • You’ve almost certainly encountered many bugs in the few weeks that you’ve been programming. Reflect and write out what your current process is when a program isn’t doing what you wanted (2-4 sentences at least).
  • What is the difference between an exception and an error?