Lecture by Professor Mehran Sahami for the Stanford Computer Science Department (CS106A). In the first lecture of the quarter, Professor Sahami provides an overview of the course and begins discussing computer programing. 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.
CS106A at Stanford Unversity:
http://www.stanford.edu/class/cs106a/