1. The authors claim that “Design patterns help a novice perform more like an expert”. How? The patterns capture best practices of expert software engineers, but are packaged such that they can be understood and employed by novice programmers. 2. What's the relationship between design patterns and programming languages? Design patterns are at a level of abstraction above languages. They describe patterns of software objects, but not necessarily the language in which those objects are written. 3. In a few sentences, describe the “Abstract Factory” pattern. What problem does it solve? The abstract factory hides concrete object creation from the code that uses the objects it creates. In the example in the paper, it's being used to allow interface-agnostic code to be written that can, at runtime, decide between interface elements.