I am always a fan of coding, because all I learn from a programing class can be tested immediately. I can find out whether what the teacher says is right. So I put a lot of efforts into programing both in my college years and my postgraduate period. I really enjoy coding a lot.
Unfortunately, coding is not everyone's love.
Programing class is like some horrible nightmare for many of my classmates. Some of my friends even attended and failed a C++ class for several times. They often say that they have no chance to code in daily life and do not understand why they are forced to take a programing lesson. They are not interested in anything related to programing. They even begin to hate everything about computer science. So some of the students begin to do something dirty, like copying others' code as their homework or cheating in the exams.
Of course, there are always some people trying their best to learn coding. However, for most of them, their majors are so far away from C++ or VB that the skills they learned about programing may never be used in their future. So they just forget what they learned some years after the lessons.
Some others were stuck at some panic point of the programing language such as the memory control or the address of a value. Then they gradually lost their motivation and curiosity about the lesson, and did not make any effort.
Having no motivation of coding, getting no chance of practicing, and being trapped by some complicated part of a programing language, those are the three killers which should be responsible for boring the students in China in coding lessons.
I used to help some of my classmates on the coding lessons during my college years and my postgraduate period. I found that they were all bothered by those three problems. I felt very sorry that they had to spend a lot of time on lessons they hated and they even wouldn't use anything from the lessons.
I haven't found any solutions until I met up with Python. I never give up coding since my college time. I am not a good coder at all, but I keep trying to be a better one than I used to be. I wrote some Android applications and some simple calculation functions. Then during my PHD period, I learned something new, Java, Swift, Qt-Quick , and Python.
I found that Python is friendlier for NON-Computer Science major students as an introduction language to programing world than C++ or Java. Python is easier to teach, learn, and use. After learning Python, students could immediately use it on their own research, and on some GUI projects or scientific calculations.
Firstly, Python is very easy to use on making something for fun without spending much effort on learning a lot of details about the language. Take the Koch curve at the beginning as an example, it is not very hard to do something like that. You can make it happen after you reading about one or two chapters of any textbooks of Python.
Secondly, Python is used everywhere. There are many Python programs running in the real world. It is used in scientific research, website building, graphic development and cross-platform development. The use of Python could also be found in many majors. Students can practice all they learned in their own area, and use Python in real life.
Most importantly, Python is a lot easier than C++, Java, and VB. The code of Python is almost as easy to read as simple English. There isn’t any huge challenge in the language itself for the learners to conquer.
Of course, Python is not perfect. The fatal flaw of Python is that it is a scrip language and runs much slower than C++ or even Java. But this disadvantage doesn't hamper us using Python as an introduction language for coding.
A huge advantage of Python is the abundance of material for teaching. A lot of books and videos could be found on the Internet. It is easy to gather information and prepare forlessons. With the programing and teaching experience, teachers can grasp the core of Python quickly and use it well in classes, even for those who never meet Python before.
In China, C++ or VB are still used in most universities for both college students and postgraduate ones. Teachers in those lessons still use some methods from last century. In the top universities of the world, such as Stanford, Harvard, Princeton, and others, different languages are provided to students, of which Python is the most popular one.
Many universities in China are trying to become top ones worldwide. But the lessons they offer are still the same as the past, which are outdated and boring. They should learn from the top ones by using Python as a beginning. I don't know whether they really want to make a difference or they just enjoy shouting out some slogans.