This course is a comprehensive introduction to requirements engineering, with a particular focus on requirements elicitation, validation, and testing. The course will introduce all processes of requirements engineering from elicitation through validation and verification. A wide variety of techniques and tools will also be discussed. Special focus will be made on those qualities and techniques needed for high integrity systems that affect the health, welfare and safety of the public. While the focus is on software intensive systems, all of the concepts are fully applicable to hardware only and complex hardware/software systems.