By end of Grade 8

Resource

ScratchEd Online Community

Exploring Computer Science allows for a lot of flexibility when it comes to curriculum!
Resource

Be Internet Awesome (Google)

Google's "Be Internet Awesome" looks like a great "Hour of Code" or middle school CS resource: https://beinternetawesome.withgoogle.com/en_us/interland