"What will happen if users can program their own computer?" This is the question asked in Computer Programming for Everybody (CP4E). Recent developments in computer and communication hardware have given many people access to powerful computers, in the form of desktops, laptops, and mobile devices. It is time to give these users more control over their computers through education and supporting software. If users have a general understanding of computers at the level of software design and implementation, this will cause a massive surge in productivity and creativity, with a far-ranging impact that can barely be anticipated or imagined.
Why Learning CS?
Computer science is a foundational field for every 21st century career or field of study. Learning the basics of computer science prepares students for a world that is increasingly dominated by technology. Research shows that students who study computer science also perform better at math. Besides, computer science is where the jobs are.
Why Python?
A key goal for Education is to guide the learners to solve problems and discover solutions. This principal also applies to computer education (CS classes). Every programming language can be used to teach logical thinking. Why and how can Python stand out in such a language war?
Consider this analogy: When running an international conference, a shared language is required. What should it be and how should it be selected? To efficiently communicate in one language, the ideal choice is one with the lowest learning curve and translation cost. Just as how English has become an international language, I believe Python will become the dominant language in the programming world.
No, Python should not be the only language to learn. For a CS professional, it's common to learn various languages, including C and Java. However, Python is still one of the best languages for beginners and those whose limited resources only provide access to one language.
Give Teachers A Community
Ok, I want to learn Python, how can I find teachers or trainers? There are more and more online Python courses, just to name some, including Codecademy, Coursera, Udacity and LearnStreet. However, there are few, if any, teachers in schools providing courses based on Python. Besides, CS teachers are usually all alone.
Luckily, a global push for more computer science in classrooms is starting to bear fruit. In response to Jessica McKellar's call to action, "Do One Thing Before the next year's PyCon", a group of Taiwan folks run a meetup to support CS teachers, after the PyCon APAC 2014 Education Panel and BoF.
Education is a tree shaking another tree, another cloud to promote a cloud, a soul awakening another soul. -- Karl Theodor Jaspers
Note: thanks to Ken Hu's help on editing this snippet.