Learning the fundamentals (this chapter) - Debugging mysterious gradient behavior - Teaching or explaining neural networks - Implementing custom operations not available in PyTorch