Learn to break down and solve real-world problems with modern C++ using the proven power of computational thinking.
Key Features
Apply computational thinking to tackle complex C++ challenges
Use abstraction, algorithms, and data structures the C++ way
Build scalable, efficient, and reusable C++ code through real-world projects
Purchase of the print or Kindle book includes a free PDF eBook
Book DescriptionSolve complex problems in C++ by learning how to think like a computer scientist. This book introduces computational thinking-a framework for solving problems using decomposition, abstraction, and pattern recognition-and shows you how to apply it using modern C++ features. You'll learn how to break down challenges, choose the right abstractions, and build solutions that are both maintainable and efficient.
Through small examples and a large case study, this book guides you from foundational concepts to high-performance applications. You'll explore reusable templates, algorithms, modularity, and even parallel computing and GPU acceleration. With each chapter, you'll not only expand your C++ skillset, but also refine the way you approach and solve real-world problems.
Written by a seasoned research engineer and C++ developer, this book combines practical insight with academic rigor. Whether you're designing algorithms or profiling production code, this book helps you deliver elegant, effective solutions with confidence. What you will learn
Apply computational thinking to complex C++ problems
Break problems into components using abstraction
Use algorithms and data structures effectively in C++
Design modular and reusable C++ code
Analyze and improve algorithmic performance
Parse, transform, and interpret data in multiple formats
Scale up with concurrency, GPUs, and profiling tools
Who this book is forC++ developers, software engineers, and computer science students who want to enhance their problem-solving capabilities and build scalable, maintainable solutions. Basic familiarity with C++ syntax is assumed, making this ideal for intermediate programmers ready to master abstraction and algorithmic thinking.
Sprache
Verlagsort
Maße
Höhe: 235 mm
Breite: 191 mm
ISBN-13
978-1-83588-842-1 (9781835888421)
Copyright in bibliographic data and cover images is held by Nielsen Book Services Limited or by the publishers or by their respective licensors: all rights reserved.
Schweitzer Klassifikation
Sam Morley is a research software engineer and mathematician at the University of Oxford, working on the DataSig programme. He's the lead maintainer of the RoughPy library, a performant C++ and Python library for computation rough paths and data science. Sam is a former mathematics lecturer and brings both academic precision and real-world engineering experience to every challenge-especially those involving abstraction, data, and algorithms. He's also the author of Applying Math with Python. Sam greatly enjoys solving puzzles, which is why he finds mathematics and programming so interesting
Table of Contents
Thinking computationally
Abstraction in detail
Algorithmic thinking and complexity
Understanding the machine
Data structure
Reusing your code and modularisation
Outlining the Challenge
Parsing simple things
Reading Data from Different Formats
Finding Information in Texts
Clustering Data
Reflecting on what we have built
Problems with scale
Using GPUs and specialised hardware
Profiling with Code