A type of programming that focuses on creating applications that respond to user input or other external events.