This lesson has a convoluted history, but the end result is pretty straightforward.
I went on and back with different approaches but eventually came to the simplest option: per vertex directional lightning. I also decided to go full strength on a separate lesson, illustrating normal mapping and blinn-phong.
I also got to add interactive controls and segregated the OpenGL C++ code into a new namespace.