A Computer Science Curriculum for the Middle Schools
This curriculum was designed as a supplement to the "tech readiness" curriculum employed in many middle schools. Most tech readiness curricula treat the computer as a mere device to be used, a black box that runs browsers, word processors, and spreadsheets. But the computer is much more than that: it is a tool that is shaping our future, and it is also a tool that a user can shape. The applications of tomorrow are very likely going to bear only a passing resemblance to the ones in use today. Students should be equipped not only to operate today's computer programs, but to understand computers well enough to operate the programs of tomorrow. And some students may create those programs. All students should be aware of that possibility.
The goal of this curriculum is to provide basic familiarity with a broad range of computer science concepts. By the end of the curriculum, students will be able to understand the components of a simple computer program well enough to be able to modify it and successfully change its function. This will provide a base of understanding for learning to design and write a program from scratch in the future, though that is not a necessary part of this curriculum.
Funded by NASA Space Grant, this curriculum was developed at the Learning Community, a public charter school in Central Falls, Rhode Island during the 2014--2015 academic year. It was meant to be the first of three successive years of lessons, with the second and third years looping through similar material, adding more advanced concepts with each pass.
The curriculum itself is just the document cs-curriculum.pdf. The latex source for the document is included in src/, as are all the images used in it, for those who want to use this to base further work on. There's also a PPT presentation made to the NASA Space Grant Rhode Island chapter that funded this work that you might find interesting.