views:

105

answers:

3

I always saw myself as a great pedagogue. Before being a freelance trainer, I used to teach my colleagues, and before that, I used to set up courses for my classmate to help them before the exams.

But I know that you can not improve with the attitude of thinking you are great. I already ask my students to give me feedback (after the course / exam / bill, and before going to the pub with them...).

I'd like to find books, blogs or articles about teaching computing. There is plenty of resources one "how to teach", but nothing specific about programming.

For now, I try to analyze the best learning resources I found, and mimic them, like "How to think like a computer scientists", "Java Programming For Kids" or some great pieces of speech on Google Video.

Funnily, the best resource I got is SO :

I am going to teach in the third World soon, and I want to be as sharp as a machete :-)

Etc.

+1  A: 

Perhaps some of these might be of use...

http://www.csta.acm.org/

http://www.mathcs.richmond.edu/~lbarnett/Informatics/CS_Ed.php

http://www.citidel.org/

A nice (albeit not inexpensive) collection of recent research on CSEd http://www.amazon.com/Computer-Science-Education-Research-Fincher/dp/9026519699

http://www.cs.duke.edu/csed/

William Doane
Thanks, that the kind of things I'm looking for. I'm still astunished, however, that nobody ever wrote a book an computing pedagogy.
e-satis
A: 

I think the first step is a personal crash course in the culture of the people you will be teaching. Things like what do they consider insulting (some of which are things you might do unthinkingly like using the wrong hand). How women are treated or are expected to behave may be very different and you may be awre that when teaching female students you havea a different set of rules for what might be considered harrassment. Also in some cultures students are not supposed to disagree with the teacher or may even be encouraged not to have questions. If you are teaching in such a culture, you can't depend on the students to ask when they are confused. You need to be more aware of body language that indicates confusion. If you can learn their language, that would help as well but if this is a short-term contract that may not be possible.

Recognize first that you are probably teaching in a language that is not their every-day speaking language. It's hard to learn programming, it's even harder when you have to learn it in a different language than the one you are familiar with. So concepts that are familiar to us because we speak the language (Pretty much any English speaking student knows what IF means for instance. Someone whose native language is not English, may not) may not be so clear to those you are teaching who do not. Be prepared to explain things in mulitple ways and be aware of your own automatic assumptions about what words mean. Stay clear of slang in your teaching. If students don't appear to understand you, think first, "Am I being clear?" Make the automatic assumption that any communication problems are yours to overcome not theirs and you will be much more successful in teaching people in aanother culture.

I would suggest more exercises and less lectures. Show things by example not just by lecturing.

When making up specific exercises, consider their culture and sprinkle in cultural references that make sense to your students. It's just as easy to design a case study using the kind of business that is common in their country as it would be to use an "Americanized" business example and it's a lot more respectful.

HLGEM
What you are saying is interresting indeed, but remember that the question is not "any advice about teaching to foreign student" but "best resources on how to teach computing". I'll keep your advices in mind anyway.
e-satis
+1  A: 

The MIT OpenCourseWare site has something quite inspirational if you want to teach programming. The MIT 6.001 (Structure & Interpretation of Computer Programs) supplies reading material and a complete series of (video) lectures.

What better resource on how-to-teach people to program than videos of top MIT professors doing just that?

The way the course progresses might be too advanced for your intended audience, but it doesn't take much imagination to see ways that path can be steered towards something less intense. The DrScheme course, for example, offers another alternative.

Those video lectures are here; http://ocw.mit.edu/OcwWeb/Electrical-Engineering-and-Computer-Science/6-001Spring-2005/VideoLectures/index.htm

ps. Only today I found this lecture by Why the Lucky Stiff on teaching programming to adolescents; http://www.vimeo.com/5047563 - he gets to the nitty-gritty 14 or so minutes in.

deau
You rock. Really.
e-satis