This is a free and open-source SE textbook under the SE-EDU initiative.
Requirements
Gathering requirements
Specifying requirements
Design
Design fundamentals
Modeling
Architecture
Design patterns
Design approaches
IDEs
Code quality
Refactoring
Documentation
Error handling
Integration
Reuse
Quality assurance
Testing
Test case design
Revision control (using Git & GitHub)
Project planning
Teamwork
Process models
C++ to Java
Combined exercises
List of definitions
List of references
List of learning outcomes
Printable version