Design patterns are well-known solutions to common problems in software engineering. Yahoo describes a design pattern as “an optimal solution to a common problem within a specific context."
As you develop your web sites you will encounter a range of problems which have almost certainly been solved by others. Knowing which design patterns to use can save you a lot of time.
NOTE: The first two tasks should be completed in pairs and then shared.