In general, however, I feel that there are some areas of specialty (maybe all of them) where an innate aptitude and interest go much further than coursework can provide. In the context of programming, I think we are doing a disservice to the field by attempting to educate those who (a) simply don't have the aptitude for it, or (b) are there only to "punch their ticket" to a job.
Like any other pursuit, you simply have to enjoy what you do for a living, to the point that you do it (if not learn it entirely) in your spare time. In your case, obviously, you are far more advanced than most (if not all -- no idea what the climate is like in Qatar for computer programming education) of the other students in the class, simply because you developed a strong enough interest in the subject matter to begin teaching yourself, in your own time. That affects not only your expertise in the subject matter, but your prospects for a sustained and successful career in your field.
And I believe this is true of any field -- if you love it enough, you don't need schooling, and in fact that schooling likely will detract from your performance and perhaps even your interest in the field.
Maybe it's because the principles of classical science (compared to those of computer science, which are still in their infancy and changing almost every day) have largely been accepted and proven for so long, that other disciplines don't suffer as much from this effect, and as a result pretty much anyone can teach the subject matter to anyone else even moderately willing to learn. For instance, a million years ago, 500 years ago, today and 10,000 years from now, E will always equal m * c^2, and F will always equal m * a. However, over just the past 20 years, the changes that have come about in the field of practical computing have been simply mind-blowing.
Perhaps the true challenge of teaching computer programming is in keeping up not only with what is current, but what will be relevant tomorrow and next week and next year -- and this is where your future teacher is going to fail you and the rest of the students: because he/she is letting his/her personal prejudices interfere with what is best for those he/she is teaching, you are not going to get your money's worth, is what it seems from this (admittedly distant) vantage point.
I wish you luck -- I would recommend just doing the work needed to get through the course, don't engage in any dialogue with the teacher about alternate ways of doing things... "grin and bear it", in other words, and move on with your life.
