I wish that I could spend more time on higher level programming concepts and less time on syntax and vocabulary (s&v). The problem is that without syntax, everything I teach is abstract and my students won't be able to connect what they are learning with anything tangible (or get jobs). Without vocabulary we have no way to clearly and concisely communicate about common subjects. If I had to describe an object as "a collection of associations between a name and a value pair" instead of using the word "object," 90% of my lectures would be defining things and they would move extremely slowly.
I see spaced repetition as a way to cover syntax and vocabulary (s&v) as quickly as possible, so that we have more time to spend on other more abstract concepts (i.e how to write good code, not just how to write code). A good chunk of our class time will still be spent on s&v, but my hypothesis is that it will decrease the overall time spent and increase the overall retention of these topics.
This brings me to the 3-7 hypothesis. This is essentially a simplified version of spaced repetition that I can actually implement and test in my classroom. The idea is that when I teach an important new concept (for example dot notation for accessing object properties), I will repeat it for three days in a row and then review it again seven days later. The first day I'll do a regular lecture on the topic and the following two days I'll either review it with in-class exercises or work the concepts into homework assignments for new material. I think this should be fairly do-able because programming concepts heavily build on each other. Finally, seven days later (10 days after first covering the topic) I'll review the topic again, probably in another homework assignment.
The 3-7 split is arbitrary at this point. It's my best guess for how to space the material. I'll probably have to tweak the actual intervals as I learn more. If you've tried something like this before and have tips I'd love to chat.