3.7: Programming Techniques