The Complexity of Teaching: Computability and Complexity - Muhammad Aasim, Qureshi; Onaiza, Maqbool (INTI International University, 2007)
Teaching computer science is as difficult as the subject itself, indeed even more so. A teacher of computer science has the dual responsibility of making the students understand complex concepts/methods as well as equipping them with the ability to apply these methods to solve problems. An understanding of the problem and its significance is essential and should be the first step. After making sure that students have gained an appreciation of the problem, the teacher should guide them towards the solution(s). Guidance has to be “balanced” enough to leave room for independent thought, while at the same time steering the students in the right direction. The traditional way of teaching is through reading from the textbook and doing problems through rote memory of formula and facts. There is a critical need to restructure the methodology of teaching, specially teaching mathematics and science. This paper is based on our experience during the Teaching Science and Mathematics: Discovery Based Learning course, an advanced level computer science course designed to enhance teaching skills. In this course students from diverse areas were enrolled to share and present their discovery based teaching styles. We selected Computability and Complexity is one of the most intellectually challenging courses that students study during the computer science programme. Its abstract nature makes it an appropriate choice for discovery based learning. The main focus of the subject is on theoretical aspects of computation, with computability focusing on unsolvable problems, and complexity focusing on difficult problems. The topics are so mind-boggling that they slip from the mind and cannot be grasped in their entirety. Even when students feel they have understood a concept, what they have grasped in the first instance is often only a part of the problem, and as the intricacies are revealed, the concept becomes elusive once again. Godel’s theorem, which says that there are some true statements that cannot be proved, is one such example. To teach any course, specially such a challenging one, it is essential for the instructor to know the intricacies as well as the complexity level of the topic that he/she is going to teach. There will be considerable improvement in the students’ learning if the instructor has knowledge of the difficult topics, understands reasons why the topics are difficult and devises ways to overcome the difficulties beforehand. In this regard our paper identifies intellectual challenges in the selected course, while also pointing out reasons why some topics are particularly challenging. Appreciating the fact that individual students process information and through visualizations and examples in such a way that they can discover and reach conclusions on their own.