Software Design: Planning Purposeful Solutions Together – A Community-Engaged Approach introduces software design as a collaborative, iterative, and human-centred process. It guides students from understanding users and asking good questions through requirements, use cases, prototyping, wireframing, UML, testing, and communicating design decisions. Throughout the book, students learn to work effectively in teams, engage respectfully with community partners, consider accessibility and responsible design, manage uncertainty and change, and reflect on feedback and their own learning. Rather than focusing only on building software, the textbook emphasizes developing a software designer mindset: listening, questioning assumptions, making thoughtful decisions, iterating on ideas, and creating solutions that respond to the needs of the people and communities they are intended to serve.