In Angular, child to parent communication happens by the child component emitting an event using an EventEmitter decorated with @Output. The parent listens to this event in its template using parentheses syntax, for example (notify). When the child calls emit with some data, the parent receives this data in the event handler method. The parent can then update its state or UI based on the received data. This flow ensures clear separation: the child only sends events, and the parent decides how to react. The execution table shows each step: creating the EventEmitter, emitting data, parent receiving it, and updating state. Variables like the EventEmitter and parent data change accordingly. Common confusions include how the parent listens, what data can be sent, and that the child does not directly change the parent's state. The visual quiz tests understanding of these steps and data flow.