How can I get students to stick with data science?
I have not tried this yet, but I have decided to try it on a friend who is a software engineer. He is so used to picking up skills on the fly and I am concerned he will lose interest since data science takes a bit longer to learn. 

I suspect a top-down-approach, like Jeremy Howard's fast.ai, will have an easier time to keep hobby students interested. I think people that express interest often come for the fancy deep stuff and getting them hands on with that will probably make it feel more worthwhile for them. Then when they already have toys to play with you can slowly progress into the fundamentals.

I don't know if it's the "best" way to learn data science, but learning the wrong way is better than losing interest and quitting.