: Breaking complex tasks into functions (modules) to allow for easier debugging and independent analysis. Efficient Memory Usage
by Behrouz A. Forouzan and Richard F. Gilberg is a foundational textbook designed to teach both computer science theory and C-language syntax.