Thursday, August 11, 2005

I "Rote" IT!

“A program is a set of instructions in a language understood by a computer; used to direct the operations of a computer.” This was what students of class V had been muttering for the last half an hour from the book, “Jump-start Computers”. Some other kids were also there whispering indecipherable incantations from the book, bringing a touch of Hogwarts - the wizardry school of Harry Potter - to the kids’ study room. The kids were diligently trying to memorise the numerous definitions spread across the book as if trying to etch the words in their memory. On asking them whether they actually knew what a computer program looks like, the answer was, “it’s a round mirror like thing with a hole in the middle to let the air pass”, leaving the inquirer dumbfounded.

Well, part of the above lines has been modified adding the intentional pun to enable the reader to understand what this feature is all about. But it’s not much different from the usual condition of our education system. Over the years, young and grown ups alike have been made to adhere to rote learning instead of understanding the intrinsic meaning of what they’re learning. One feels this is because most parents prefer the so called English medium schools over the government run Urdu Schools which, apart from few, have a questionable standard. However, English being the second language of most children makes it very difficult for them to understand the actual meaning of the content and for doing well in the exams in such a case, rote learning provides an established solution.

Owais Anwer, a Software engineer in a local IT firm, had the opportunity to tutor some 9th grade students a couple of years back. According to him, the usual way of the teachers was that for the first 3 quarters in a one-hour class, they write lines of code on the board which the students jot down without many questions. While in the last quarter, the students run the same program on a computer, which naturally, runs without any error, since the only error there could be was in noting from the board. According to Shariq Muhammad, another software engineer who opted for CS in class 9th, the students were made to work on only those parts of the practical which have a higher probability of appearing in the board exams. One feels this kind of technique destroys the whole idea of teaching computer science in elementary classes. Computer science is totally different from other course subjects like history, literature or even science subjects like biology and chemistry. It’s more analogous to Mathematics since it requires problem solving, which consequently needs one to have proper concepts about the subject. The thing that sets it apart from Maths is that Computers are an ever-evolving phenomenon. Newer technologies keep popping up making it very difficult for one to stay on top of that. Still, being a good problem solver is so important that all the top notch IT companies look for prospective employees with natural ability to solve problems and the willingness to learn new things, not the ones with greater knowledge of syntax in any language.

Watching young kids working on a computer, one can clearly see that they’re most interested in games. The only serious software that most kids are attracted to is a program called “Paint”! The point is, kids are more involved in software that shows them doing something. Huge software applications with tremendous programming power but little graphic output are of no value to children. This is precisely why computer games, no matter how primitive, have always been most popular amongst kids. However, what they’re taught in the school is a boring three line definition which they may not even understand, with little graphics and apparently no hands-on encounter. Most schools have a separate head in their fee vouchers labelled “computer fee”, but on inspecting the lab, one can see that the machines these kids are working on are quite backward in comparison to the computers most of them are using back home. Also, there are only a handful of teachers who actually try to invoke creativity within the kids. Shariq recalls his best teacher was in class 7th when they worked on “Logo” - a graphic tool which has a turtle in the middle which one can program to move around plotting a line on its trail. The teacher required them to create graphics from a sketch which they made themselves first on paper and then on the computer. The sheer excitement of recreating something made the guy their best teacher, even if he made the kids do all the hard work. But isn’t it what a good teacher should do? Tell the kids what they need to achieve, and stand aside to let them do their work, giving his input only when required. In fact, this is the same kind of attitude project managers at serious IT companies assume; let the programmers know what they need to accomplish and then just facilitate them to work towards their goal.

However, many teachers fail to envisage that at the elementary level. They do all the hard work themselves, writing code lines on the board and selecting practicals which have a higher probability to appear in the exams. Probably most teachers empathize with the students since they already have a huge workload so they relieve them at some point. It has to be said this is not a favour that doesn’t do a lot of good to the students since they advance to higher classes without learning much. Also, a large number of teachers is not highly qualified, some only in their college while teaching computer science. “One cannot totally blame the teachers since the average pay for a computer science teacher, or for that matter any teacher in the primary schools is as low as 3-4 thousands a month”, this is what Sheheryar Azim, who works in the same company as Shariq, and has taught the class 9th students when he was still in college. “Also, why someone who had spent thousands of rupees on his degree would opt for a job in primary school for a handful of money. Would you leave your current job and start teaching? At least I won’t.” was his response.

If one browses the Computer text books from elementary classes to the higher classes, there is not much difference among them. All of them start with a definition of computer, followed by definitions of programs, memory, registers and so on. Every book has the same content with very little change. This is quite contrary to what it should have been envisioned.

The government is now trying to revolutionise the education system and one hopes computer education has its fair share of attention this time around. If our educationists desire to groom computer scientists from the elementary level, they need to reshape the whole computer science curriculum making it more purposeful, starting from being simple in the lower classes and raising the bar towards the higher classes. There is no dearth of Pakistani IT professionals who have written books for the foreign publishers, the textbook board can hire them to write the textbooks, so that the younger readers may look up to the writers and be inspired. So that when the same kids enter a university seeking a computer science degree, they have an already strong foundation of the subject and by the time they will pursue a master’s degree, they would be working on real world problems, after all, Google was a university project by two blokes. Teachers and parents alike should be let to air their grievances, have everyone on board before formulating a policy. If we are able to formulate a more focused CS curriculum, we may be able to farm such talent, and a home-grown Google or a Microsoft may not be a far cry at all.

1 comment:

Shakir said...

gr8;) , your thoughts are so profound that i got to use the word web dictionary ;). waise your right computer definition is really important. yesterday Burney sahab ask us what is science, engineering, software and none the less SOFTWARE ENGINEERING