One hope now is that patterns can be used to energize the introductory computer science curriculum, making it more efficient, so that more difficult material can be effectively handled earlier than can typically be done with other techniques. A pattern is a solution to a problem in a context. A pattern language is a set of interrelated patterns that interact to solve a larger problem or which serve as alternative solutions to a given problem. A pattern is a attempt to capture the best practice in a domain and transfer that knowledge to other practitioners. Patterns do not express new ideas.
Patterns express the tried and proven within a given domain.
The importance of patterns comes from the fact that the problems we face in building software recur. It is especially true that the knowledge captured by elementary patterns is needed everyday in the lives of software developers. Programmers for example write loops every day. If a set of patterns can capture best practice in writing loops and can transmit this effectively to students, the students will have learned important lessons in a well structured way. The title of this paper is presumptuous since the techniques recommended here are not proven by long experience.