You are on page 1of 5

Teaching Programming in C: My Experience and Methodology

- Tushar B Kute,
Lecturer in Information Technology,
K. K. Wagh Polytechnic, Nashik,
Maharashtra, India 422 003.
tushar.kute@gmail.com

In the old syllabus of MSBTE, the subject “Programming in C” was only


having the practical. But when the new syllabus of semester pattern is introduced in
academic year 2006-2007, the theory subject of “Programming in C” was added for
branches CO/CM/IF in semester II.
I always think teaching is not simple. It requires knowledge and confidence to
confer that knowledge to students. In case of programming subjects, the teacher
must be cleared with all the concepts of programming languages. C programming
has always remained my subject of keen interest. In many colleges, teachers
hesitate to teach the programming subjects. But I have failed in love of
programming. As per my own opinion, without programming subjects, I was just
unable to teach anything. I was lucky to be granted with the subject “Programming in
C” to teach first year Information Technology class in year 2006. In the same year I
was teaching Object Oriented Programming for second year and Java Programming
for third year Information Technology students of yearly pattern. I was not having the
experience to teach the C programming to students before. Just a short term training
program, I have conducted for interdisciplinary staffs in the month of October 2006. I
was having that experience only. Actually I was eager to teach the students of first
year Computer Technology. I have taught both Computer and Information
Technology students in first semester also. So I was having the idea of both of their
intelligence. Computer students were more intelligent as compared to Information
Technology students. Finally, I decided to go with these students. At the same time I
was teaching C, C++ and Java for whole Information Technology branch.
Students always consider that the subjects of programming are harder as
compared to other subjects. We should have to eliminate this fear from the minds of
students. They try to join the extra coaching classes for these subjects outside. If the
fear of these subjects is not removed, they try to mug up the concepts of subject
which is not required for programming subjects. Being my first attempt to teach
Programming in C, I tried my best efforts. The level of intelligence of students also
matters. I found very less students keenly learning the subjects and others are just
mugging up. Even many students among top five were also using the technique of
mugging. At the time of practical also they were doing nothing. I was not having
clear idea, what to do with them? As usual, I got the result only 50 percent i.e. only
29 out of 58 students were passed in first attempt. The result of first year Computer
Technology better than mine and even the topper of the subject was also from the
same class. I was just got frustrated. I always look the teaching of programming
subject as the challenge. I decided to teach the subject in nest academic year with
different pattern. Before the start of actual semester I decided the plans of teaching
the subject. Fortunately, I got students very better than the previous one. So I found
very interesting to go with these students.
Very first thing that I cleared is, “Programming in C” is the first subject of core
branch of Information Technology which has introduced in the syllabus. It is the base

Teaching Programming in C: My Experience and Methodology 1


of all programming languages. Without knowing this subject, it is very hard to learn
other programming languages such as Visual Basic, C++ and Java etc. which are
also the part of upcoming syllabus. First of all, I have made the attendance
compulsory for all students for theory and practical. Because last time I have
recognized that many students were just bunging the lectures. That was the reason;
they were not clearing the many programming concepts. Since several concepts of
programming are inter-dependent. Due to this, I was the only teacher whose
students’ average attendance was above 80 percent!
I was aware of learning pyramid that I learned in one of the seminar called a
learning pyramid. This is shown below. I tried to implement this pyramid in my
teaching.

Lectures (5%)

Reading (10%)

Audio visual aids (20%)

Demonstration (30%)

G. D. (50%)

Practice and doing (75%)

Teaching others (90%)

Learning Pyramid

I imposed the factors in this pyramid onto students. These points of matter
are written below:

Preparation

In order to teach or preach anything we must be prepared by ourselves. I


prepared my learning material and knowledge in systematic manner. Before actually
taking the practical of students I performed the entire practical given in the lab
manual [1]. I studied the syllabus [2] well; including its deficiencies and efficiencies. I
extracted the errors from subject’s laboratory manual also [3].
I prepared my own teaching plan differently with this year.

Learning material

Students, whether they are of any discipline always try to use the textbooks
which contains the collective data of syllabus orientation. In case of diploma
students some local publications textbooks are available but while studying these
books I found a lot of mistakes in programs and in texts also. They have just copied
the contents from some reference book. So I took students away from using the
local textbooks. I gave them some reference books which I think good books for
students at diploma level. These are ‘Programming in ANSI C’ by E Balagurusamy

Teaching Programming in C: My Experience and Methodology 2


published by Tata-McGraw Hill and ‘Let Us C’ by Yashwant Kanetkar published by
BPB Publications. I forced to use these book my making them aware of using
reference books in engineering. I succeeded this with great extent. Besides the
reference books, I gave them my self-prepared note also. I am grateful to mention
here that a lot of students were using my notes rather than using local author’s
books. I realized this while checking the answer papers.

Punishment

In the first lecture itself I have warned all of them to do not remain absent for
any lecture. Those who have remained absent for any lecture, I have punished them
by giving them some programming assignment or any other work regarding the
subject. Many students completed given assignments. I think I have not succeeded
well in this.

Teaching Methodology

Learning a programming language requires a different mind-set. I was trying


to create this mind-set by several factors. I changed my teaching style to be more
impressive to grab the attention of students. When students did not understanding
the concepts I was using the local language of communication i.e. Marathi to teach
them these concepts. They were also asking me the questions in Marathi. I think the
language of communication is not important is not important, understanding is most
important.

Visual Aids

This was the first time I used the transparencies to teach. Today I am having
nearly 120 transparencies on “Programming in C”. I always used to keep these
transparencies in front of students in order to fix the data on that in students’ minds.
Remember, transparencies play very important role in classroom teaching. I
prepared all these transparencies by myself. The diagrams drawn and program
illustrated are some from books and some are self prepared.
I also prepared the PowerPoint presentations for various demonstrations but
never got time to show them. Basically, we can show these at the time of practical.

Demonstration

The practical oriented subjects require demonstration always. Without the


demonstrations, it is very hard to understand. The topics like looping, arrays,
function and pointer are some bit harder to learn. Students found these concepts
something strange. So demonstration is the only way to make them familiar with
these concepts. I used the LCD projector to provide the demonstration on several C
programs and cleared their doubts also.

Questions and Question banks

We have been provided with some sample question papers on respective


subject. I was having two board question papers also. I studied these question
papers and prepared the type of the questions to be asked by differentiating them on

Teaching Programming in C: My Experience and Methodology 3


the basis of marks i.e. 2 marks questions and 4 marks questions. The question
banks prepared were on the basis of this factor. Some questions were self prepared
and some were my self prepared. I used to give them question bank upon
completion of each chapter. I made them compulsory to solve the question banks in
order to check the laboratory manuals.
I was also giving many programming exercises of each chapter in order to
make them more practical oriented.

Practical

If you observe the leaning pyramid given above; 75% of the knowledge can
be gained by practicing and doing. I think regarding programming subjects, we can
obtain more than 90% of knowledge by practicing. I always used to say my students
that ‘first perform the practical and then write the theory’. That is, without knowing
practical implementations we can not know the theoretical implementations. Just
don’t try to mug up anything.
I focused a lot on practical. For practical in the lab, I differentiated the
students as per their abilities of performing. I gave a single computer for every weak
students and another single computer for two clever students for performing
practical. The purpose was to compete between the clever students and to make the
weak students self-doers. The subject is having a laboratory manual. But it contains
many programming and theoretical mistakes. Besides this, it contains one solved
problem and five programming exercises. I distributed the unsolved programming
exercises differently for different students. So they were performing different-
different practical by avoiding the copying the programs. I imposed them to draw
flow-chart and write the algorithm for every problem. Here I found many students
were performing well.

Additional teaching

Many times when I found the students got bored in the lecture by continuous
harassment from morning, I used to change the subject. Then, I was telling different
moral stories and some puzzles to them. That time I found students are eager to
hear this!

Appraisal

I used to praise students for their good work, good logic in programming and
good paper writing also. Once I attached the Xerox copy of one of the girls answer
paper for other’s reference. It has created good impact on students and they got
moralized from this.

Programming Contests

From the first year itself I made all my students aware of programming
contests and forced them to participate in these. They gave overwhelming response
in some programming contests. I remember, in one of the programming contests
more than half of the class was participated. It has given them a good experience on
competition. I found some diamonds in programming. Minimum ten students were
‘very good’ in programming. In case of Computer Technology students this cane was

Teaching Programming in C: My Experience and Methodology 4


none! One of the pair from my class has cleared the first round of the contest twice! I
realized my students’ abilities at the time of final external practical when I was
internal examiner for first year Computer Technology class in the same year.
Students got au useful experience from these programming contests. I created
minimum 7-8 students who are really liable to win such contests. Remember, the
knowledge implementation is one of the most pleasant things in student’s life.

Pointers

While teaching the C programming special focusing on the pointers in


needed. Many one thinks that this is the most complicated concept in C
programming. While studying in diploma six years ago, I was also thinking in the
same manner. But my mind-set was changed when I actually took pointers in C++ to
teach last year. Before that I was unknown to the use of pointers. I gave more
lectures to teach pointers. As already stated, before teaching anything we must be
cleared with every concept in programming. For pointers also this is strongly
recommended. I used all my teaching aids such as transparencies, LCD projectors
to teach the pointers. Before that I told students that pointer is the simplest topic in C
programming! They also believed on that! I got the result successfully.
At the time of external practical I got appraisal from external examiner
regarding my students. He told that, at this stage of learning many students are not
having this much knowledge that your students are having. I satisfied that time!

Teaching Programming in C: My Experience and Methodology 5

You might also like