This was a 3-day summer school course on NLG as part of the Estonian Summer School on Computer and Systems Science in 2018.
First day we went through the definition of the problem and traditional grammar/rule-based approaches. Second day we covered statistical NLG systems and approaches. Last day we discussed recent research in deep learning techniques.
The slides are available in GitHub.