The dynamic evaluation tree is a method of visualizing expression evaluation that annotates a program’s source code with expression results. It is intended to reduce students’ visual attention problems by removing the need to alternate between disparate source code and expression evaluation windows. We generalise the dynamic evaluation tree to support arbitrary expressions in the C programming language, and present the first ever implementation for a novicefocused program visualization and debugging tool.