secept icon indicating copy to clipboard operation
secept copied to clipboard

Software Engineering: Compassion - Evidence - Process - Tools

The Compassionate Programmer: evidence - process - tools

This textbook for an introductory undergraduate course on software engineering differs from others in four ways:

  1. It teaches you to be a compassionate programmer: one who cares about the well-being of their colleagues and users as much as their own.

  2. It draws on empirical studies whenever possible. To help you understand those studies, its motivating examples are data analysis problems.

  3. It describes the processes professional programmers use and what students should aim for when they are juggling several courses at once.

  4. It introduces specific tools that support those processes.

Each chapter is designed to fill two lecture hours, including time for discussion. All the material can be re-used and remixed under open licenses. Fixes and additions are very welcome; please note that all contributors must abide by our Code of Conduct.

We shape our tools, and thereafter our tools shape us.

--- Marshall McLuhan