I
am a sophomore at IIT Kharagpur. Here at KGP, there is a compulsory
computer science course for all freshmen entitled 'Programming and Data
Structures'.
The
programming language used in this course (theory + lab) is C. Prior
coming to IIT Kharagpur, I was quite proficient in Python programming
language (I had Computer Science as elective subject in my +2). Being a
Python programmer, C was quite tough to master, atleast for me. In
Python, we don't need to worry about the memory allocations, declaring
data-types of variables and pointers were the real pain in the ass.
Python provided vast libraries to carry out specified operation.
However, in C, everything was done from scratch. Thanks to our
course-coordinator, we were not allowed to include even <string.h>
header file. We had to write every function from ground zero. In the
initial days of my freshmen year, I used to think how old is this IIT
curriculum, they haven't yet upgraded to Python.
Only
later I came to realize how important is to introduce programming
concepts to begineers via C programming. It was necessary to teach
begineers how memory is allocated, why pointers are necessary. Most of
this concepts are hidden when you are programming in say Python. These
concepts are the very basics for computer science. If you have mastered
C, then learning a new programming language is a cup of tea. Instead if
Python was taught to the freshmen, they would understand only from the
surface only, not what actually happens inside the computer if you
execute a command. As a result, the objective of the course, to teach
fundamentals of computer programming to freshmen would have failed.
Every course in IITs are designed by experts in that field with great
insights. So before raising a question against it, analyze the situation
(as in my case) and think why other alternative will not go that
further.
-Utkarsh Patel,Electrical Engineering,IIT-KGP
No comments:
Post a Comment