This tutorial covers both what interrupts aren’t and what they are, as well as guiding you through the code once you’ve uploaded the interrupts to whichever board you’re using. It then guides you through debouncing and then the main functions needed for implementing interrupts. The tutorial also explores volatile variables and precisely where you can find the interrupts.
This is a good way to familiarize yourself with introductory interrupts. There’s a second part, so look forward to that in the coming days!