liveBook · Manning

Decomposition

Decomposition is the process of dividing a complex whole into smaller constituent parts that can be handled or analyzed separately.

How 10 Manning books explain it

Learn AI-Assisted Python Programming, Second Edition

Task decomposition is the practice of dividing a large problem or program into smaller, more manageable tasks or subproblems.

How it is used
Uses decomposition to design manageable functions, guide AI coding requests, control complexity, and support testing.
How deep it goes
Explains recursive top-down breakdown, function responsibilities, implementation order, and testing, while treating decomposition as a practiced design skill.
Examples
Demonstrates spelling suggestions, word searches, quarterback data processing, image merging, and order processing.
What you can do after
Build it from scratch by designing function hierarchies, requesting focused AI-generated code, implementing dependencies bottom-up, and testing each function.

Read how Learn AI-Assisted Python Programming, Second Edition explains decomposition →

Grokking Concurrency

Data decomposition is a parallel programming technique that partitions a collection of data into independent chunks and applies the same operation to each chunk.

How it is used
Identifies independent tasks or data chunks that may be processed concurrently.
How deep it goes
Works through functional and data partitioning, dependency analysis, and granularity trade-offs; leaves execution details mostly outside the design focus.
Examples
Uses snow clearing, password candidates, email functions, and a Python file-search loop to contrast ways of dividing work.
What you can do after
Practice/perform partitioning by finding independent work and choosing task sizes while accounting for load balance and coordination overhead.

Read how Grokking Concurrency explains decomposition →

Get Programming: Learn to code with Python

The technique of dividing a complex problem, task, or program into smaller, separately manageable parts.

How it is used
Organizes programming problems into manageable tasks before coding, so their pieces can be checked and combined.
How deep it goes
Works through task identification, inputs and outputs, dependencies, and reusable task design; leaves specific implementation decisions for later.
Examples
Illustrates the technique through a minutes-conversion program and an online-order workflow.
What you can do after
Practice/perform it by dividing a program into clear tasks, checking smaller pieces, and assembling them into a working whole.

Read how Get Programming: Learn to code with Python explains decomposition →

Machine Learning System Design

Decomposition is a release strategy that allows different system components to be deployed and managed independently.

How it is used
Lets ML system components use different release strategies instead of forcing one rollout process across the system.
How deep it goes
Illustrates component-specific releases with a model and API layer, but gives no step-by-step decomposition procedure.
Examples
Contrasts a model released through canary deployment with an API layer released traditionally.
What you can do after
Evaluate/understand it to choose whether different ML system components need different rollout approaches.

Read how Machine Learning System Design explains decomposition →

Functional Programming in JavaScript

How it is used
Breaks complex JavaScript tasks into simple functions that can be composed into a complete functional solution.
How deep it goes
Explains function-level splitting and self-similar recursive reduction, including base and recursive cases rather than formal complexity analysis.
Examples
Uses showStudent as a composed pipeline and array summation as a recursive reduction, alongside tree and document traversal applications.
What you can do after
Apply it by splitting JavaScript operations into focused functions or smaller self-similar recursive problems.

Read how Functional Programming in JavaScript explains decomposition →

The Art of AI Product Development

Task decomposition is the process of breaking a complex objective into smaller subtasks that can be planned or executed separately.

How it is used
Uses decomposition to structure chain-of-thought prompts and plan agent task execution.
How deep it goes
Defines a two-step prompting pattern and gives a staged writing workflow, while identifying agent-planning failures without prescribing a general decomposition algorithm.
Examples
Illustrates it with a staged blog-article prompt and a product-roadmap-update planning example.
What you can do after
Practice/perform it by breaking a writing request into stages and assessing when agent plans need fixed flows or human oversight.

Read how The Art of AI Product Development explains decomposition →

AI Agents in Action, Second Edition

How it is used
Uses decomposition to help agents identify subtasks as part of reasoning and planning toward goals.
How deep it goes
Defines decomposition, distinguishes it from planning, and shows dynamic replanning, without detailing a standalone decomposition algorithm.
Examples
Illustrates steps for leaving home and delegated research subtasks that can be revised as findings emerge.
What you can do after
Diagnose agent failures by distinguishing poor decomposition from poor planning.

Read how AI Agents in Action, Second Edition explains decomposition →

Coding with AI

Problem decomposition is the division of a complex task into smaller, manageable subtasks.

How it is used
Uses decomposition to turn troubleshooting or implementation goals into sequential prompts and manageable questions.
How deep it goes
Explains decomposition through subtasks, prompt design, and iterative evaluation, using an HTTP request as the worked scenario.
Examples
Uses container troubleshooting and a Python requests API call, including response display and network or status errors.
What you can do after
Apply it via sequential prompts to plan an HTTP GET request and guide focused follow-up questions.

Read how Coding with AI explains decomposition →

Grokking AI Applications

A problem-solving technique that divides a complex request into smaller, ordered subtasks.

How it is used
Improves prompt accuracy and alignment by turning complex LLM requests into manageable, structured steps.
How deep it goes
Defines the technique and demonstrates one business-plan prompt, then connects it to step-by-step reasoning.
Examples
Uses a business-plan request that first lists sections and then outlines each section’s goals.
What you can do after
Apply it via an LLM-based assistant to convert broad requests into clearer, sequential prompts.

Read how Grokking AI Applications explains decomposition →

Learn Concurrent Programming with Go

Task decomposition is the technique of dividing a computation into distinct units of work that can be assigned or coordinated independently.

How it is used
Frames concurrent-program design by separating independent actions from dependencies before selecting implementation patterns.
How deep it goes
Explains task lists, dependency graphs, task-versus-data decomposition, and granularity trade-offs, then defers implementation patterns.
Examples
Uses a flat-tire repair workflow and web-page word processing to illustrate parallel actions and sequential dependencies.
What you can do after
Apply task decomposition by listing work, mapping dependencies, and identifying actions suitable for concurrent execution.

Read how Learn Concurrent Programming with Go explains decomposition →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.