Students who learn to design programs properly learn to analyze a problem statement; express its essence, abstractly and with examples; formulate statements and comments in a precise language; evaluate and revise these activities in light of checks and tests; and pay attention to details. As a result, all students, those who wish to study computing and those who just wish to explore the subject, benefit.
For more information, see the TeachScheme! Workshops page.