Why Project Based Learning? An Experiential Learning Case Study of Language TeachingThis post describes a major step in my personal journey towards becoming an advocate of PBL approach, which is often referred to as "Learning by Doing" and is part of the "Experiential Learning" landscape. Please note that that the learning through this case study is applicable to all languages and at levels of education as highlighted in some other posts although the experience mentioned here is in the context of programming language issue of a computer science department of a higher education institution.
It was around 2006 and I was Dean of KIET and we were grappling with the dwindling number of students in the CS program post dotcom crash. We were also becoming aware of the lack of proficiency in programming language skills of our computer science students and to rectify the situation we had already introduced five programming related courses for the BS CS students. Additionally, we had made two projects compulsory for them in their final. One of our visiting faculty members was Mr Tauseef ul Haq, who had his own software consultancy, and was supervising the final year projects. One day he astounded me with his complaint that many of our final year students did not know the "while-loop"! For me it was inexcusable and inconceivable for a student to have passed all these courses and then admitting that he did not know the very elementary building block of programming which is the "while-loop" -- a concept that one encounters in the first couple of weeks of the first programming language course! How come they had passed all these courses!
I was stunned to hear this because at that time there were five or six compulsory programming language courses through which the students had to go through before coming to the final year project stage. The students had started with the Introduction to Programming Course in which they learned "C" Language, which was followed by the Object Oriented Programming course in which they were taught "C++" language. Then there was this course in "Data Structures and Algorithms" that required programming language skills for various data structures to solve several classical problems such as those related to sorting, merging, and traversals using algorithms. Then we had the database course which required that they learn the query language (SQL) for database programming and which included a project in which they were supposed to program a database application. This was followed by a course on Web Programming and another course on Graphical Programming Environments.
This was additionally heartbreaking because the teachers of these programming courses were reputed to be the toughest at the institute as the failure rate of students in their classes would often be as high as 40-50%. This was especially painful for me because I was the one supporting these teachers and defending them in front of higher management, especially when one of them would fail as many as 50-60 of his students from the four sections with about 120 students. I was the one who had to absorb all sorts of complaints of the students who were excruciatingly scathing in their criticism. This criticism I would often ignore thinking that the students are raising objections because they have failed. I had to create special workaround for the scheduling of programming labs because such a high number of failure students would disrupt our capacity planning projections and lab allocations. In faculty meetings, these teachers would defend such high failure rates, vociferously, trying to transfer the blame to the students saying that they neither have the motivation, nor the necessary pre-requisite preparation. It is interesting to note that I have listened to the same complaints about the lack of motivation and lack of pre-req preparation of students by teachers when I was at IBA (1995-2000), at KIET (2001-12) and now at IoBM since 2013. [This is an interesting trend on which I have to write a specific post relating to teachers shifting the responsibility to the students].
This complaint about the "while-loop" signalled to me that there was something seriously wrongly in what we were doing. I then started to connect the dots. I had been aware that students often came to me with all sorts of excuses to opt for a communication network design project instead of the final year compulsory programming project, but I had not connected these requests with them having such a fundamental weakness. I then realized why they used to be so afraid of appearing in their final project demonstrations. I also began noticing that they would often run away from the project exhibition room, on one pretext or another, when they would find out that I was on my way to attend their presentation. I then began to see much more in their trying to find excuses for postponing their presentations on the chance that I would get real busy on some other project and would forget about their projects. Connecting all of these dots, I knew that the situation was serious and called for serious action.
I called the faculty meeting and unabashedly admitted that I feel like committing suicide falling on my sword because if it is the case that a student who has passed 5 programming courses under my watch, AND he doesn't know the "while-loop" or has forgotten it! The responsibility is mine and I take it personally!
Please note that this is a general problem and not related to only programming or computer science or a particular institution like KIET. I had listened to a similar lament from teachers of other institutions and belonging to different programs. I have myself experienced an engineering graduate with a CGPA of 3.4 who could not explain the meaning of "collinear" after having passed six courses of mathematics, several of such courses were passed from such great teachers as Professor Dr Amin. I have come across students of top business and management institutes of Karachi who have done their BBA and MBA but are unable to define or compute Cash Flows. I have seen Electrical Engineering graduates from NED who are unable to tell the role of the three pins of the three pin plug, or why the bird sitting on the transmission line does not get electrocuted. I have come across very good candidates at interviews who would simply profess ignorance of a very basic concepts saying that they have forgotten that because they studied it in their first year which was some years ago. I had met otherwise very good fresh graduates who have forgotten the name of the book that they studied two or three years ago, or the name of its author. Some even are not able to remember the name of the courses that they passed in their first semester or the name of the teacher who taught them. I must profess that I am afraid to meet a student of mine who may have gotten A grade in my course and fails to answer a very simple question.
This was the time I decided that if we continue to do the same thing again and again and then expect a different result then it is extremely foolish of us. I decided that this was the time to turn the things, upside down, and be really radical about what we should be doing.
The first thing we did was to decide that we would select one programming language and would make them expert of it. Instead of teaching them three or four different programming languages and making them the jack of all and master of none, we must select one language and ensure that they learn it well and gain expertize in it. We would make our computer science department a center of excellence in that particular programming environment. We found that at that time there was quite a bit of market for Microsoft Dotnet. We decided that instead teaching them DotNet environment in the very last semester in their web programming course, we would teach them C-sharp and DotNet environment in their very first course! And we would then use the same environment for Object Oriented Programming, the same environment for Data Structures course, the same environment for Database course and for the rest of the other courses requiring programming. Initially our doing away with C and C++ languages was regarded as heretics by the CS community in Karachi, but we insisted and reaped really good results in a few years. My learning is: Unless one has command on ONE language, it is foolish to try to teach them other languages. Just listen to the disdain with which software houses refer to CVs of people who profess to know tens of languages and tools while having no expertise in any one of them. They know that an applicant who knows one language really well will learn any other in no time.
When I look at the schools trying to teach Urdu as well as English simultaneously to 2-3 year olds whose mother tongue is neither, I know that this is foolish because the child has not mastered even his mother tongue and is being forced to understand other languages. More foolish are those schools who are trying to teach the students additionally Arabic also, while the student has not mastered either of Urdu, English or their mother tongue. [A separate post on this is required].
The second decision was to eliminate all paper based examination and lecture based teaching from the five programming intensive courses. We forced the teachers to conduct all of their classes in the programming labs and conduct the classes using "learning by doing" methodology. Whatever has to be taught must be taught by making them "do" the thing on the computer. All their examinations would be conducted only on computers. The objective was to immerse them in programming so that they obtain an expertise. We modified slightly the Coca Cola ad and started saying: we want them to eat, drink and sleep programming!
In addition to the class room interaction, they were assigned lab sessions for each of these courses. These lab tutorials were assigned to prominent senior students who had gotten A's earlier and who had done significant hands-on projects. These TAs were the students with whom the students could establish better rapport and can freely gain their guidance and advice unlike the teachers with whom the interaction is more guarded, more reserved and sharing is often not so easy. Soon many of these senior students became mentors to the juniors and became role models. This I found to be an important mechanism whereby it has been shown elsewhere that environments where learners are allowed in group settings to learn from each other are more powerful especially. This works especially well when there are some who are relatively better than others. [See Sugata Mitra's talk]
The fourth decision was to replace all teachers who did not have a hands-on work experience with those who had real life work experience in a real software house for at least couple of years. Problem with even gold medalists from good universities is that they have typically worked during their studies on toy examples and scale down version of problems. Experience of real projects and real life requirements is a different ball game in terms of complexity, scale and robustness of the client requirements. This is must to appreciate the significance of the solutions given in the books to problems whose immensity could only be understood and experienced in a real-life setting.
Fifth decision was to introduce a project component of at least 40% of the total grade of the course. This programming project was to be evaluated and demonstrated in a project exhibition to be held at the end of the semester in front of the external examiners who were invited from the industry and given some remuneration. All projects, good or bad, were to be displayed and exhibited. This exhibition provided on one hand the ability to the HoDs and the higher management to evaluate the quality and level of work in a few hours and also provided the externals an opportunity to share their comments freely with the teachers and students. Despite huge logistical issues of organizing, scheduling and displaying hundreds of projects on a single day, and coordinating the visits of external evaluators, the exhibition helped the faculty and students to focus on the practical part of the skills. [A post is required on Project Exhibitions as a mechanism for the assessment of experiential learning].
Sixth decision was to develop a culture where programming gurus are acknowledged and rewarded. One of its element I have already described was the institution of TAs. The other was to encourage the participation of students in national competitions. We made it a point to send our students to major programming exhibitions and competitions held around the country. Another was the institution of a major event called COMBAT where CS students of other universities were invited to participate in around ten different types of events.
Seventh decision was to make it mandatory for the final year projects to be sponsored by the software houses and limited them to be only the programming type of projects. To encourage this, we started giving credit for the projects done by students as internees or employees with a software house that is willing to bring the project for final project exhibition and evaluation. Another related decision was to encourage the students to take up full-time jobs in software houses in their third or fourth year and continue the program in evenings or weekends or take classes on the days of their choosing. This flexibility contributed greatly to their acceptability in the market, and their increase in motivation as they could first hand experience the relevance of the courses to the work in the industry.
Last but not the least was to decrease the emphasis on repeated and excessive testing and grading and replacing it with greater emphasis on project work. More on how extensively someone had worked on the project than on the assessment of reproduction of memorized materials; more on his ability to implement the concepts using whatever manuals are available online in flexible durations than on answering toy questions on paper in limited time. This led to a tremendous improvement in motivation of students and their understanding.
Around 2008, I watched the phenomenal Last Lecture of Randy Pausch "Really Achieving Your Childhood Dreams" that convinced me to the validity of our approach. The curriculum of the MS program introduced by Randy Pausch in this lecture was an eye opener for me to explore the merits of this approach further. This was also my entry point to the Project Based Learning approach and learning about the deficiencies of existing learning methodologies.
- How Our Curriculum Design (from Simple to Complex) Insults the Intelligence of a Child: Essence of Project Based Learning (PBL)
- Assessment vs Motivation: A variation on the Heisenberg's Uncertainty Principle
- How Maths is Made More Difficult: Experiential Learning
- Holistic Learning and Whole Life Orientation: Experiential Learning.
- Bell-curve assumption about the distribution of intelligence of students
- How Language Acquisition is Made Difficult for Children: Eight Lessons from an Urdu Acquisition Case Study
- Managing English Teaching Outcomes in Universities: An Experiential Learning Case Study of ESL/EFL
- Anti-National Language Policy leads to Rule by Rich and Corrupt Elites
- Managing English Teaching Outcomes in Universities: An Experiential Learning Case Study of ESL/EFL
- Why Project Based Learning: An Experiential Learning Case Study of Language Teaching
- Most Effective Way of Cutting a Nation from its History - Imposing a Foreign Language
- Capitalist Transactions Replacing Traditions and Values from Istanbul to Makkah
- Georgia - Lesson in Preserving Language, Religion and Culture
- Charter of Children's Recognition
- Beauty is our Business: Dijkstra and Mathematics
- Education as Tazkia: Is a child like a clean slate?
- Myths of Schooling and Education: Resources
- How to define success of a school or a student
- Iqbal's view on What is Meant to be Educated
- Project Exhibitions as a Tool for Authentic Assessment.