This Full Paper in the Research to Practice Category reports on an empirical empirical study in which novel educational tools and techniques were employed to teach fundamentals of problem decomposition - a cognitive task transcending disciplines. Within the discipline of computer science, problem decomposition is recognized as a foundational activity of software development. Factors that contribute to the complexity of this activity include: (1) recognizing patterns within an algorithm, (2) mapping the understanding of an algorithm to the syntax of a given programming language, and (3) complexity intrinsic to the problem domain itself.Cognitive load theory states that learning outcomes can be positively affected by reducing the extraneous cognitive load associated with learning objectives as well as by changing the nature of what is learned. In the study reported upon here, a novel instructional method was developed to decrease students' cognitive load. Novel instructional content supported by a custom visualization tool was used in a classroom setting in order to help novice programmers develop an understanding of function-based problem decomposition within the context of a visual domain. Performance on outcome measures (a quiz and assignment) were compared between the new method and the traditional teaching method demonstrated that students were significantly more successful at demonstrating mastery when using the new instructional method.