- · A good teacher (or teachers)
- · A supportive school administration
- · A supportive IT support person/organization
Administration has to, at a minimum, stay out of the way. I’ve seen some great CS programs where the building principal appears not to have much of an idea of what is going on with CS. But they let the teacher run their program. Of course it is better still to have active support from administration. You really want a building principal and district level administrators who help to provide resources and encouragement for a computer science program.
The IT and network support seems to be the hardest “leg” to find. In a small school the CS teacher and the IT department may be the same person. That can work out fairly well but it really puts a strain on the teacher. It seems as though IT issues take a lot of time away from teaching for the teachers. That is why a separate IT person (or team) can make a huge difference. IT departments can put crippling restrictions on CS teachers or they can help them make the most of available resources.
A lot depends on how they (the IT people) see their mission. You really want IT people in a school who see their mission as enabling education to take place and not just to make their lives as easy as possible. I’ve seem IT departments who take weeks to fix problems with a student account and I have seen IT departments who will drop almost anything to get a student back online and in the program. You can imagine which schools have the better CS programs.
Administrators have a key role in ensuring that IT supports rather than hinders CS education. I’ve heard a lot of stories of principals and even superintendents say “my IT department will not let me do that.” You’d think the IT department ran the district rather than the IT people working for the administration. Fear is a big part of that. Far too many school administrators don’t know much about the technology they use so they defer in too many cases to an IT person who is looking for an easy way out. Administrators who have good CS teachers, especially those who spent time working in industry, have a second resource – the teacher – they can turn to for fact checking.
Ultimately teachers, administrators, and IT people have to work together with a single mission – providing the best CS curriculum possible for the students – for a CS program to really live up to its potential.