This course is an introduction to natural language generation with a focus on generating output specification for embodied conversational agents (ECAs). ECAs are animated characters that serve as interfaces to computer applications (such as dialogue systems, information kiosks, tutorial systems) and communicate with the human user using natural language and non-verbal behaviors including eye gaze, gesture, and facial expressions. I will give an overview of how humans coordinate non-verbal behaviors with speech to fulfill various communicative functions. I will then introduce the different subtasks of natural language generation and present computational approaches that have been proposed for these tasks, while paying particular attention to models that generate non-verbal behaviors in addition to speech. Finally, I will discuss methods for evaluating ECAs. I will not assume any previous knowledge of natural language generation, but some familiarity with basic linguistic terminology and natural language processing will be useful.