If your dealing with grade school kids, keep the topics fresh and relevant to their world. Try giving them weekly coding challenges consistent with the technologies they currently deal with, like Android, Twitter, Facebook, etc. Have people from the industry come in and speak every so often. Not just from pure coding perspective, but also from some of the more fun areas of Computer Science like Game Development, research, medical, engineering just to give them an understanding of the world and it's implications to CS.
For a year challenge, have them poll the students and see what they would want most from a new mobile app, and work through creating it. Have a prize or even submit it to ITunes or Google Store for download. That would give them real experience is developing against actual user/customer need, a skill that I feel becomes jaded as we spend years in corporate IT.
If your dealing with grade school kids, keep the topics fresh and relevant to their world. Try giving them weekly coding challenges consistent with the technologies they currently deal with, like Android, Twitter, Facebook, etc. Have people from the industry come in and speak every so often. Not just from pure coding perspective, but also from some of the more fun areas of Computer Science like Game Development, research, medical, engineering just to give them an understanding of the world and it's implications to CS. For a year challenge, have them poll the students and see what they would want most from a new mobile app, and work through creating it. Have a prize or even submit it to ITunes or Google Store for download. That would give them real experience is developing against actual user/customer need, a skill that I feel becomes jaded as we spend years in corporate IT.