In the latest years, sense and avoid (SAA), or detect and avoid (DAA), has represented one of the main roadblocks to the integration of unmanned aircraft systems (UAS) operations. This course outlines and reviews architectures, technologies, and algorithms for SAA. First, starting from a discussion about what constitutes a UAS and how it is different than manned aircraft, basic SAA definitions and taxonomies are discussed. Ground-based/airborne and cooperative/non-cooperative architectures are covered. The SAA process is dissected into its fundamental tasks, which are discussed in details. Different sensing algorithms and technologies are presented, including radar and optical systems. Potential and challenges of multi-sensor-based systems and data fusion are pointed out. Techniques for conflict detection, and approaches for remotely operated or autonomous avoidance are introduced. The tutorial ends with an overview of current perspectives and recent progress relevant to SAA for UAS integration in the Air Traffic Management (ATM) system and in the framework of UAS Traffic Management (UTM) / U-Space and Urban Air Mobility.