How I Use It
I used code.org with my students for the first time during the official "Hour of Code" event during National Computer Science Week (December-ish). I really didn't do anything fancy the first time- I myself played the Angry Birds game ahead of time to get a feel for what my students would be doing. Then we watched one of the videos on the website to get my students excited (had Obama and sports stars in it!) Finally, each student got a computer in the lab, and off we went! I did tell all my students that they had to complete the Angry Birds game first before moving to others- I just wanted them to start with an easier challenge to learn and experience some success before getting into the super-hard games. The students loved it! It was great to see them even help each other even though they were coding individually. At one point in the afternoon the website did get pretty slow- probably because the whole world was on it that week. The next time is used the site with students, I also made more of a "lesson" out of it...the students didn't have any background knowledge the first time we did it, and I did not connect what they were learning to life, careers, computer science, design, etc--which was a huge miss! I tied the lesson into a Career Day at our school and approached the games as a way of practicing for a possible career in computer science, and I think that was much more successful and valuable for the students.
Overall, a wonderful website to use with students at any level! While it is easy to just have kids jump on a computer and take off, I do believe the learning experience is more valuable if you frame the activities with a good description of what coding is, why they should learn it, what jobs they could have, etc. I'm sure specific high school or middle school elective classes could find specific ties to curriculum easily. Recommendations- use anytime! It doesn't have to be during the "official hour of code" event in your state or country. I think there is value in letting students just "go" on the website and not assigning anything specific (esp middle and high school). With younger students who were experiencing it for the first time, it did work well to have everybody complete the Angry Birds game first- we did a couple levels as a whole class to model how it works, then they took off on their own or with a partner. Let students get a little frustrated and learn how to work through it! Many of the games have "hints" that they can choose to use. I had to watch my classes closely for students who started to shut down- some students aren't used to failing that much in education and need some reassurance from others or a little help to keep going. Yes, students are learning the basics of computer programming. But they are also really learning the value in persistence, critical thinking, problem solving, and team work!