Additional profile information on Alfred Thompson at Google+
Every so often someone suggests, sometimes in jest and some times in all seriousness, that programming languages “count” as a language for meeting graduation or degree requirements. According to Ian Bogost, who is not happy about it, some schools are actually doing this and others are close to it. (Computers are Systems, not Languages)
Is this a good idea? I think it largely depends on what you see as the value in learning a language other than your own native language. As someone who struggled his whole academic career with languages (first year French twice, First year German three times) I’m not so sure that language learning the way we do it in US is much good. Very few really become fluent enough to have more than the most casual of conversations (any one have evidence to the contrary?) One reason I often heard for learning a foreign language (the politically correct term is world language I think) is that it gives one a better understanding of the culture of the countries where it is spoken. I guess that is true to some extent. Although with our “flat world” is it as necessary as it was a generation or two ago? Arguable. Isn’t the world of computers a culture though? Perhaps learning to program helps people, especially in the humanities, some insights into that “other” culture?
Another reason I have heard is so that one can read research and other works in the original language. Perhaps that made a lot of sense when French and German were the principal languages of some areas of study. But today people write in far too many languages to make focusing on one make for a solid argument – well unless that language is English. An awful lot is written first in English even by people whose first language is not English. On the other hand there may be some value in being able to read code in the “original” language. It’s a theory. And fortunately computer languages are often enough alike that learning one or two is enough to have a reading familiarity with others.
Does learning a different language help one understand their own language better? That seems a stronger argument than some others. There is no close corollary to this with programming languages with the possible exception of COBOL.
So am I arguing that programming languages should take the place of natural languages as general education requirements. Not really. I’m sort of asking why we have learning natural languages as a requirement. Sacrilege of course but why not? I do think that more people should take some programing or other real computer science course though. It is part of being a fully educated person in the 21st century.
The Microsoft Innovative Educator program at Microsoft is offering a number of two-day seminars for teacher trainers and technology integration specialists.
These seminars are designed for teacher trainers and those who have responsibilities training educators on the integration of technology in the classroom. It is encouraged to have teams from schools and districts attend as there will be time set aside to develop a teacher professional development action plan that can be used to train teachers how to incorporate Microsoft technologies into teaching and learning.
Teams attending should include those who have a responsibility for developing and/or implementing professional development in their district/region/state. Specifically, a strong team would include any combination of people representing education roles, including administrator, teacher trainer, education technology director, curriculum integration specialist, or master teacher.
In addition to learning new hands-on project-based, student-centered activities for K-12 classrooms, attendees will receive:
What does the schedule look like? There will be some variation by site but generally it will look something like this:
8:00-8:30 – Welcome & Breakfast
8:30- 9:00 – Breakfast
8:30-10:00 – Increasing Classroom Collaboration and Student Engagement – Project-based Learning Focus (cross-curriculum)
9:00-10:30 – Kodu – Game Design for Young Students
10:00-11:00 - Review of Seminar Training Materials, Goals and Expected Learning Outcomes
10:30-12:00 – Right Clicks, Tips & Tricks for Office 2007 & 2010
11:00-11:15 – Break
1:00-2:00 – Live@edu and Office Web Apps
11:15-12:45 – Microsoft OneNote in the Classroom
2:00-2:15 – Break
12:45-1:30 – Lunch
2:15-3:15 – Demo: Microsoft Free Tools for Teachers & Students
1:30-2:30 – Partners in Learning Network: Introduction and Demo of Teacher PD Community
3:15-4:30 – Design Your Own Teacher Training Session
2:30-2:45 – Break
2:45-4:15 – Intro. To Accessibility Features
4:15-4:30 – Reflection and Prep for Day Two
Locations and Dates
Tampa, FL March 24-25, 2011
Los Angeles, CA April 12-13, 2011
Houston, TX May 2-3, 2011
Austin, TX May 23-24, 2011
Rochester, NY June 23-24, 2011
All workshops will be held at Microsoft offices. Address and directions available on the registration site.
Register here: www.microsoft.com/innovativeeducator
Mark Guzdial asks the question What’s the argument for becoming a computer science teacher? on his blog. It’s a good question. While as a former computer science teacher I may appear to be a strange one to make the case but I’m going to try. Being a computer science teacher is a great job. Really being a teacher in any subject is a great job and a lot of the reasons for teaching other subjects are part of teaching computer science. The student interaction, seeing students learn new and exciting things, and generally making a difference for good in the world. But there are of course some special things about teaching computer science that complicate the picture somewhat.
One is that if you are really qualified to teach computer science you are probably qualified to get a much better paying job in industry. If this is true, and generally it is, why take the lower paying teaching job?
Well besides the teacher benefits there is a certain amount of freedom to learn new things that one doesn’t always have in industry. In industry your learning can be channeled in certain directions by management. And with work hours in the computer industry often being as time consuming as those in teaching (trust me – I’ve done both) one doesn’t always have the time to learn about ones own interests. Computer science education is somewhat directed by the AP CS exam but that is only for one course. And while some teachers, by desire or necessity, focus all their courses around that one course many find the time and incentives to learn things in other directions. Game development for example using C# and XNA. Or more web development (perhaps using Expression Web with some free curriculum) In all of this, because of the nature of teaching, one can often focus on breath over depth. So rather than being confined to digging deeply into one of two technologies teachers can often dig lightly into a wide variety of technologies.
Of course this brings up the fact that some people are not excited about learning a lot of new technologies and having the curriculum change on a regular basis. I have no doubt at all that this is true. I have met teachers who are totally resistant to change and want to do the same thing year after year. To that I ask, do we really want people like that teaching (period – let alone computer science)?
The biggest problem is the law of supply and demand. There is not enough of a demand. Yes, NSF has a 10,000 computer science teacher effort but I don’t see much of a sign that the states or even school districts are buying this. If there were lots of advertisements for full-time computer science teachers we’d probably see more people looking at doing it. Many people don’t want to teach several sections of Math or history or English that they can teach one or two sections of computer science. This is widely true I think. We don’t make the jobs common enough or interesting enough (and by interesting I am not talking about money) for excited young people to move into the field of CS education.
When done correctly, allowing some teacher freedom to develop new curriculum for new technologies, availability of in-service training, providing support in both facilities and recruiting help (not hindrance) from guidance, teaching computer science to high school students is a really great job. It is a chance to start the next generation of world changing computer/computing scientists and industry professions with a solid base. It is a chance to work with smart kids who have a real passion for the subject. Why become a computer science teacher? It’s a fun job and a world changing job. If you love computer science it is even more fun than any other teaching job you can have.
Note: Take a look at Computing in the Core which is an effort to help get computer science adopted into the core curriculum in schools.