Wednesday, August 23, 2006

Teacher Don't Teach Nonsense: A Post for IT Teachers

A few years ago, a fellow professor remarked that a "good teacher can teach anything". He then arrogantly remarked, "give me the material, and in 48 hours, I'll be able to teach it like an expert". I had to laugh to myself, because he
had a reputation with the students as one of the worst professors in the program.

Don't get me wrong - his statement, "a good teacher can teach anything", is true to a point. The problem is when the professor only has "book experience" in the subject. In other words, the only thing that the professor knows about the subject is what s/he learned in the textbook used for the course. While this is acceptable for certain subjects like history, this is NOT applicable to subjects that require "hands-on" learning, such as information technology. Students can easily spot an instructor who knows only what's in the the textbook. How will you, as the instructor, find out?

One of these things may occur:
a) The students will skewer you during course evaluations
b) The student or students will go to your department chair and complain about you
c) The student or students may boldly tell you that you are full of $@#!&

Speaking as someone who is an IT instructor, I can sympathize with the instructors. We may end up having to teach a topic in which we has no practical experience. I know the scenario - a professor/instructor scheduled to teach a particular class bows out at the last minute or while the course is in progress, and the school is not in the position to cancel the course because the course is a requirement for graduation, so they need an instructor ASAP. The department chair then assigns you as the instructor because you are either the closest skill set match with the subject or you have the lightest course load.

On the other hand, speaking as someone who is also a grad student, I know how students feel. We view the instructors as the knowledgable people who can help us understand the particular subject. If instructors only teach what's in the textbook, and the only thing that they know about the subject is what's in the textbook, we feel cheated. We're thinking, "Why spend $X per credit taking this class when I could have bought the book and done it myself for considerably less money?"

So, how can an instructor gain practical experience in a subject short of getting a job working in that technology? After all, s/he may either be a full-time professor or instructor with a full course load, or s/he may not work in the technology that s/he has to teach (ex: a Visual Basic programmer who's been asked to teach C++). Here are three things to do to gain practical experience and stronger knowledge in the subject {Students - you can follow these steps as well to help strengthen your knowledge and gain valuable experience for the job market. ;)}:

1) Make your own projects.
This is the most important thing to do to gain experience. For example, if you are asked to teach a networking course, set up a small network in your home or your office. If you are asked to teach a programming course, design and develop a usable application (like a contacts list or an order management system) in that programming languages. Do more than one project! This will give you some experience with the ups and downs of the subject. For example, if you ran into a pitfall with your projects (ex: your
program caused a memory leak or your wireless network did not work right because of the walls in your house), you can relay that experience with the students. If time permits, volunteer your time with IT projects for non-profits, like building a network or building a web site.

2) Find other documentation besides the textbook on the subject you are about to teach.
For example, if you are asked to teach C#, find other tutorials and books (besides the textbook) to help supplement your learning. You will also be able to make recommendations to your students for supplemental learning on the subject, which will help your credibility.

3) Find an expert in the subject and make him or her your "teacher".
Since you are learning the subject yourself, you will also need a teacher. Pick a person that is very proficient in the subject that you are going to teach. Preferably, find someone who actually does it in their day-to-day activities. For example, if you are a Linux administrator, and you are asked to teach Windows 2003 administration, find someone who is proficient in Windows 2003 administration.
Note: Before doing this, please make sure that you actually put effort in your learning! Most people are flattered to be chosen as an "expert" to provide information and advice. However, most people get annoyed when the person asking the questions is only using the person to do his or her work rather than to actually learn something.