Try asking a sample of students from engineering colleges “How much have you learned in computer programming?” The most common response I get is “I have learned up-to-pointers”! My colleagues, friends and several professionals concur that they too hear this often. This is what I call as the “Up-to-Pointers” syndrome!
It appears that for many students the topic of pointers in the C language and its use in problem solving seems to be some sort of a significant milestone. So what exactly does the response “I have learned up-to-pointers” mean? What have they learned prior to pointers? What are the topics that lie beyond pointers that they seem to imply that they have not learned? What a curious way of describing what one has learned!
What these students mean perhaps is that as in a set of chapters in a book, or as in a set of lectures, they have learned all things dealt with prior to pointers. So I assume that they have learned problem solving using simple data types, arithmetic statements, conditional constructs, iterative constructs, single dimensional arrays, multi-dimensional arrays, etc. But what about using functions or recursion?
Is it the implication that using functions or using recursion is relatively simpler than understanding the nature and use of pointers? A vast majority of learners appear to be quite challenged.
I have encountered students who are otherwise bright, but are literally petrified when required to work with pointers. Are there things with the pointer data type and the potential usage in problem solving that are inherently difficult for learners? I do not think so. I have seen several of my former colleagues in BITS, Pilani teach the use of pointers in problem solving with passion and in an easy-to-understand manner. I have read several books that has dealt with this topic extremely well, and in as easy-to-understand a manner as possible.
Who are to be blamed for contributing to the “up-to-pointers” syndrome? The students, themselves, when senior students tell their juniors that pointer is a toughie. I suspect that a good number of teachers deal with pointers and their use from a convoluted perspective that leaves many students perplexed. The real villain, I think, are the assessments that are designed to filter folks when to seek employment in companies. I have seen several assessments in which problems involve use of pointer-to-a-pointer-to-a-pointer… or something so silly, topped with pointer arithmetic that would make the pathways in your brain get hopelessly entangled.
So how can a student break away from the “up-to-pointers” syndrome? I am afraid I don’t have sure shot solution. For starters, ignore the comments of “know-all” seniors. If your teacher has not empowered you well enough to learn this, seek help from excellent books. Above all, learn by doing, i.e. learn by solving problems in graded steps of difficulty. Trust me, in time you will laugh at yourself for having been a victim of the “up-to-pointers” syndrome!