Most engaging way for students to be introduced to the fundamentals of Computer Science
We had great success with Swift Playgrounds for iPad. The wonderful animations and game-like interface really hid the true force behind the product - it is teaching the fundamentals of Computer Science and computational thinking. The big ideas like abstraction, decomposing problems into subproblems, loops, conditional code, are being introduced and practiced while the students work on interesting puzzles. The drive to solve the puzzles can sometimes be too intense for the students, however and they can sometimes slip into sloppy programming practices just to get the puzzle done instead of doing more rigorous thinking about more elegant strategies.
Engagement that is too high is not a typical problem to have and it is easily remedied by intervening with appropriate feedback. We found that if we had the students watch a video discussion at http://buildingrainbows.com of an alternate, more elegant, solution and then recreating their own, more elegant solution days later, the students adopted their own meta challenges of creating their own elegant solutions the first time through, instead of just powering through the challenges to completion.
In all, Swift Playgrounds is a fantastic introduction into Computer Science and a wonderful use of technology in the classroom. Highly recommended.
How I Use It
We tried Swift Playgrounds in a pilot program for teaching Computer Science in our grade school and middle school. We will definitely be expanding this program in the near future. Swift Playgrounds was engaging and it was often hard getting the students to stop working on puzzles and moving ahead in the curriculum. One caveat, this is a relatively new product and while there is limited outside support materials, those support materials are coming online daily. They are useful to teaching with Swift Playgrounds in order to 1) provide alternative sources and practice for the fundamental ideas, and 2) ensure that the students are progressing through the curriculum using best practice. The best external resources we found complemented the Swift Playgrouds app with video solutions and discussions. These kept the students thinking about the BEST way to solve a puzzle and not necessarily the fastest.