*Chapter 5*: Exploring Problem Analysis

In this chapter, we will explore problem analysis in depth while using some of what we have been learning, such as logical reasoning, Boolean logic, and algorithmic design. We will work through problem definition, decomposition, and analysis in this chapter.

In this chapter, we will cover the following topics:

- Understanding the problem definitions
- Learning to decompose problems
- Analyzing problems

In order to further understand problems, we'll need to look at a more complex problem and define it so we can begin the algorithmic design process. In this chapter, you will learn how to define problems and decompose them in order to design algorithms. In doing so, you'll also learn about dictionaries in Python. After reading this chapter, you'll be able to use the computational thinking process in order to design and create an algorithm that addresses complex problems.