A topic important to pre-university as well as to university curricula for computing and various other disciplines, computational thinking examines processes in the mind engaged in addressing problems such that answers/solutions can be formulated as computational increments and then, algorithms.
This revised and updated textbook/guide offers a gentle motivation and introduction to computational thinking, in particular to algorithms and how they can be coded to solve significant, topical real problems from domains such as finance, cryptography, web search, data compression and bioinformatics. Although the work assumes only basic mathematical knowledge, it still upholds the scientific rigor indispensable for transforming general ideas into executable algorithms, giving several solutions to common tasks, taken from topics of our everyday world.
Topics and features:
- Provides a readily accessible introduction, suitable for undergraduate and high-school students, as well as for self-study
- Organizes content neatly and conveniently by application or problem area
- Offers a helpful supporting website with Python code that implements the algorithms in the book
- Anchors the content practically, examining an excellent variety of modern topics in a concise volume
- Assumes knowledge of only basic computing skills as a prerequisite
- Written by highly experienced lecturers, as well as researchers of world renown
A unique and reader-friendly textbook/reference, the title is eminently suitable for undergraduate students in computer science, engineering, and applied mathematics, university students in other fields, high-school students with an interest in STEM subjects, and professionals who want an insight into algorithmic solutions and the related mindset.
Paolo Ferragina is professor of computer science at the Sant'Anna School of Advanced Studies, Italy, and Fabrizio Luccio is an emeritus professor of computer science at the University of Pisa, Italy.