I used to teach Chinese, linguistics, and programming (Java, C++, and so on). I would like to share some ideas:
- Bullying is inevitable. This is quite like hacking in the technology world. But you can sometimes turn a good hacker to a good programmer. Invite the one who bullies to do something constructive, to help out.
- Expose everything under the sun. When adopting the open source principle in the classroom, every move made by everybody is closely monitored by other students. (This of course includes the instructor.) When someone does something good, it will get appreciation. You should encourage this kind of constructive attitude toward other people. When someone does something bad, everybody can be the judge. The students just need to be encouraged to participate.
- You be the coordinator, not the controller. You don't monitor all activities. The students do. You don't provide instructions, at least not explicitly all the time, but suggestions, hints, and guidelines. Let the students, at least every now and then, decide what they want. Just help them see what is best for them.
- Work toward a goal. No matter who is the boss, what atmosphere you want to create, you must have a goal, a target for each class. That is the end. You just need to work out the means to get to that end. Make sure everybody understand what they are trying to achieve.
- You can designate the boss role to students. Ask them to work out a plan for a class. (Do that in advance.) But don't do any personal favor. Take turns and assign the role to different students at different times.
- Occasionally, you need to remind the students that you are still the final judge. When things get out of hand, you still need to step in and do something. But do this tactfully. When there is a fight (not necessarily in the literal sense), don't take side. Stay calm, and involve everybody to work together for a solution.
- Keep a few secret weapons up in your sleeves. For example, you can pull a student aside and talk to him/her in private. Understand their problems and help them find a solution. Talk to the parents. Seek help with authorities.
- Kids, at least some of them, are more intelligent than they seem. Sometimes you just need to trust them, and apprciate them. You will be surprised.
- There are so many good teachers out them. Learn from them. Observe, if there are opportunities, how they handle different problems. But remember, students can be good teachers too. Be humble enough to be a student yourself.
- Just two more buzzwords: be flexible, and open-minded. You do your work, and let the students do theirs.