Ο Προγραμματισμός χειρισμού γεγονότων ή συμβάντων (Αγγλικά: Event-driven programming) είναι το παράδειγμα προγραμματισμού όπου η ροή του προγράμματος εξαρτάται από εισερχόμενα γεγονότα. Για παράδειγμα σε μια γραφική διεπαφή χρήστη έχουμε ως γεγονότα τα πατήματα πλήκτρων ή επιλογών με το ποντίκι. Σε ενσωματωμένα συστήματα μικροελεγκτών έχουμε ως γεγονότα τα δεδομένα των αισθητήρων. Επίσης ως γεγονότα μπορεί να είναι μηνύματα/αλληλεπιδράσεις με άλλα προγράμματα ή νημάτων. Η μεθοδολογία προγραμματισμός χειρισμού γεγονότων χρησιμοποιείται κυρίως σε γραφικά περιβάλλοντα αλληλεπίδρασης χρήστη-υπολογιστή (Graphical User Interfaces). Τα τελευταία χρόνια με την javascript χρησιμοποιείται και σε δικτυακές εφαρμογές όπου η σελίδα αλληλεπιδρά με τον χρήστη. [1]
Η βασική ιδέα στον προγραμματισμός χειρισμού γεγονότων είναι ότι υπάρχει ένα κύριος ατέρμονος βρόχος (loop) ο οποίος παρακολουθεί τα γεγονότα (events) που δημιουργούνται. Όταν ένα γεγονός λαμβάνει χώρα τότε μια συνάρτηση callback καλείται και μεταβάλλεται η ροή του προγράμματος. [2] Σε ενσωματωμένα συστήματα (π.χ. ελεγκτές) τρέχει επίσης ένας κύριος ατέρμονος βρόχος αλλά η αλληλεπίδραση μπορεί να γίνεται με interrupts [3].