The CS teacher at a local high school switched to using Scratch as a casual introduction to programming, moving away from Alice (and previously, I believe, a straight jump into Java). They use it for a few weeks to begin each term. I can get their thoughts if you're interested?
There are several books, and Scratch itself provides many lessons and features for teachers, see this page: [1] At one point, Pursuitery held an introduction to coding "camp" with Scratch, and you can read about their lessons here: [2] I've had less experience with Scratch in education, so it's hard for me to comment on what materials are the most effective. However, there are educator groups that can give advice, see the Facebook group listed on [1].
If I can go on a winding tangent, and this applies stronger to elementary & middle school... I think two of Scratch's strongest appeals are its freedom and feedback. It's okay to experiment, try new things, and fail. And the debugging that occurs along the way, in a way helps students debug their own thought processes. Giving some creative leeway for students can help them help themselves. Many students who are introduced to Scratch, stick with it personally after the class ends.
In other words, it can be great to focus on teaching algorithms or concepts, but letting people learn through projects often helps make learning more engaging. It helps to show that computers are not just something you do stuff on, but are part of a broader culture. It can be another medium for self expression, as many people share art, games, stories, and other content regularly on Scratch.
A few ideas were taken from Mitchel Resnik's keynote at the 2016 conference, which talks about a mix of how Scratch is used and powerful ideas.[3]
[0] http://u.cubeupload.com/Choco31415/DSCN3966.jpg
[1] https://scratch.mit.edu/educators
[2] https://en.scratch-wiki.info/wiki/Scratch_in_the_Media/Pursu...