HOW TO CHOOSE
Coding languages
The ever present question is what language to choose before starting inside the classroom. The answer is complex, as it depends on the level you’re teaching, your school resources, whether to choose an online/offline coding system, and how comfortable you feel with coding, among others. Check out this article which covers the topic in deep: http://andonisanz.blogspot.com.es/2014/06/programming-languages-for-secondary.html
And this other one with online resources by Vicki Davis (@coolcatteacher):
http://www.edutopia.org/blog/15-ways-teaching-students-coding-vicki-davis
In any case, it is easy to realize if something is wrong, specially when your students:
- Have difficulties to understand or focus.
- Get bored.
- Can’t work by themselves.
- Experience too many technical difficulties.
Development platforms
There are three main platforms you can use: web, mobile and computer based. Some companies provide support for all of them, so you can choose freely. Others don’t, and that makes you be tied to a specific device. That might be a problem for your school activity, as you would not like to let your students bring their devices to the classroom (BYOD).
An interesting -and common sense- solution is to use laptops:
- Computer-based applications: you’ll find most of the compilers for Linux, Windows and MacOS.
- Web-based ones: using your browser and, optionally, ad-hoc plugins.
- Mobile-based ones: Android apps are now executable on your computer, using the new ARC Welder (Chrome application).
Lesson design
Teaching programming, as other subjects, requires didactic lessons. Then, it must be clear what aspects of coding are to be taught, what exercises to be solved and how the grades will be measured. It is easy to design some units for the whole school year, because the algorithmic part of coding is always the same in spite of the language you use (not the same for the syntax). And remember the constructivist aspects of education: belief explicitation, content presentation, acquisition, use and mastery, where contents have to be practical and linked to your students’ close reality.
Well prepared teachers
For coding and computer related subjects, there is no need to say that the best prepared teacher is a computer scientist. If you don’t have one in your school, hire them!
The other option is to find a geek teacher with some coding experience, and who knows a number of programming languages (procedural, object oriented and 4th generation -sql-, to say the least), including the most sought ones (C, Java, .NET, HTML5 or Google Scripts).
As a last resort, a proactive teacher could learn by themselves through these MOOCS:
https://www.edx.org/course/introduction-computer-science-harvardx-cs50x
https://www.udacity.com/courses/software-engineering
http://www.computerscienceonline.org/courses/