Plan and goal recognition is the task of inferring the plan and goal of an agent through the observation of its actions and its environment and has a number of applications on computer-human interaction, assistive technologies and surveillance. Although such techniques using planning domain theories have developed a number of very accurate and effective techniques, they often rely on assumptions of full observability and noise-free observations. These assumptions are not necessarily true in the real world, regardless of the technique used to translate sensor data into symbolic logic-based observations. In this tutorial class, we explain plan recognition approaches that rely on a range of assumptions about the available domain knowledge , from complete plan-libraries up to incomplete planning domain theories. We end the tutorial explaining applications of these techniques in two specific areas: multiagent systems and video data recognition.