**8.10 Challenges**

A major challenge that is likely to be encountered during any programming activity is that some programmers may not use algorithms that produce the expected output. Some problems are difficult to solve because they do not have parallel codes that can be used to write their corresponding programs. Some parallel algorithms have complex features that make execution of programs difficult. Debugging is an important skill but most people do not have the ability to identify and correct errors due to the frustrations and difficulties encountered during this process. The design phase of a computer program can be challenging in terms of the need to think about the program requirements that need to be put together in a manner that would facilitate future updates. When program design is not effective, the resulting program can be difficult to modify in the future.
