17. Review

17.1. Strings

17.2. Computational problems

17.3. Computer programs to solve computational problems

17.4. Resources

17.5. Extending the notion of computation

17.6. Classes of problems

17.7. Finding counterexamples

17.8. Conjectures

17.9. Reductions

17.10. Complete and hard problems

17.11. Rice's theorem

17.12. Tools from complexity