I don’t think it is easy
that is my complaint. In order to run these chef training modules I’m having to install docker (which I’ve never used before) and all of these containers that are preconfigured and then when it doesn’t work I have to ask a chef user group why my docker container running nginx (which I’ve never used before) doesn’t accept my connection, (see my other post. please!) It kind of seems I’m in the wrong mailing list but I’m not because someone at chef configured that container.
You don’t have to. I’m trying to use tutorials (see the original question) that are dreamt up by someone at chef. So you can dictate what packages to use.
I don’t think it is easy, but if I was having trouble getting a recipe from the supermarket or git working I would be asking questions and learning about how to get chef to create the correct configuration and learning about chef all the while.
I understand all of your students have different configurations. If they were figuring out the details of those configurations here and folding those configurations back into the recipes via pull requests the world would be a better place. 
Then you would not have to read anyones mind. You could just help answer chef questions and the chef users would be learning the whole time.
I am of course a new chef user but the first few lines of chef most of us see is:
package ‘httpd’ do
end
and we are all thinking wow this is great!
Then when you get into more difficult configurations for the next lessons and it seems (at least to me) kind of weird that we have this great and powerful tool but we are told to do things (downloading and installing packages) the old way.
-Andrew