0%

Learn approaches of computational thinking and the art of designing algorithms. Most of the algorithms you will see in this book are used in almost all software that runs on your computer.

Learning how to program can be very rewarding. It is a special feeling to seeing a computer translate your thoughts into actions and see it solve your problems for you. To get to that point, however, you must learn to think about computations in a new way—you must learn computational thinking.

This book begins by discussing models of the world and how to formalize problems. This leads onto a definition of computational thinking and putting computational thinking in a broader context. The practical coding in the book is carried out in Python; you’ll get an introduction to Python programming, including how to set up your development environment.

What You Will Learn

  • Think in a computational way
  • Acquire general techniques for problem solving
  • See general and concrete algorithmic techniques
  • Program solutions that are both computationally efficient and maintainable

Who This Book Is For 

Those new to programming and computer science who are interested in learning how to program algorithms and working with other computational aspects of programming.

Table of Contents

  1. Cover
  2. Front Matter
  3. 1. Introduction
  4. 2. Introducing Python Programming
  5. 3. Introduction to Algorithms
  6. 4. Algorithmic Efficiency
  7. 5. Searching and Sorting
  8. 6. Functions
  9. 7. Inner Functions
  10. 8. Recursion
  11. 9. Divide and Conquer and Dynamic Programming
  12. 10. Hidden Markov Models
  13. 11. Data Structures, Objects, and Classes
  14. 12. Class Hierarchies and Inheritance
  15. 13. Sequences
  16. 14. Sets
  17. 15. Red-Black Search Trees
  18. 16. Stacks and Queues
  19. 17. Priority Queues
  20. 18. Conclusions
  21. Back Matter
54.163.195.125