Software engineering has changed: A software project today is likely to use large language models (LLMs) for some tasks and will employ some open-source software. It is therefore important to integrate open source and use of LLMs in teaching software engineering - a key goal of this textbook. This reader-friendly textbook/reference introduces a carefully curated set of concepts and practices essential for key tasks in software projects...