Teaching Operating Systems with Tracing
teachbsd.org
teachbsd.org
[1] http://dtrace.org/blogs/bmc/2007/05/06/the-inculcation-of-sy...
[2] http://bsdtalk.blogspot.com/2015/12/bsdtalk260-teachbsdorg-w...
You'd have to be careful about what programs you start a beginner with, but I think their might be value to this approach. I at least know I have reached the point in my own development where I learn more from reading others code than I do from reading textbooks. And learning to read others code, trace through programs, etc. is an incredibly important skill that I think is blatantly overlooked in most introductory level books on programming.