Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). Professor Sahami reintroduces interfaces and elaborates on the topic. CS106A is an Introduction to the engineering of computer applications emphasizing modern software engineering principles: object-oriented design, decomposition, encapsulation, abstraction, and testing. Uses the Java programming language. Emphasis is on good programming style and the built-in facilities of the Java language.