Two programmers work on the same computer. One person programs while the other person observes and thinks about the next step and gives feedback. They are the driver and the navigator. They frequently shift roles.
Unit tests are necessary in Xtreme programming because code is continuously refactored. Unit tests make sure that the redesigned code still does what its intended to.
Simula was the first OO language. It combined data and functions.
The 3 contributions made at Xerox PARC were the Ethernet, The WYSIWYG (what you see is what you get) idea and GUI's (graphical user interfaces).
Gulf of execution: The gap between user's goals for action and the means to execute that goal. For example: Recording a program using a VCR requires many steps that have to be done in sequential order.
Gulf of evaluation: The difference between how the system is perceived and what it can actually do. Example: Showing information on a kiosk so that the user can navigate between the different options easily.