Discuss / Python / 为什么语言教程不能换一种方式教学?

为什么语言教程不能换一种方式教学?

廖老师,你好! 拜读了您的教程后我有一个疑问,其实这个问题困惑了我很多年。我是学文科的,但在大学时就梦想学会一种编程语言,那时也自学过C和C++,甚至也通读了一遍Java。但是,看过即忘,已经十几年了仍然不会编程。一开始,我也觉得是不是我操作的太少,达不到感性认识。但后来我发现,这一系列语言书都有个共同的特点,那就是即使当你读完了,仍然编不了一个“像样的软件”。对于变成菜鸟来说,我们理解的“像样的软件”,起码是有图形界面的,比如一个记事本软件,是有使用价值的。可是任何语言书教给我们的只是些与实际差上十万八千里的所谓小游戏。后来又知道,如果想编写图形界面的软件还需要学习更多的知识。我瞬间崩溃了!可是仍不死心,这些年来,仍断断续续地求问方法、阅读书籍。因为工作的需要,自学了excel vba,虽然只是入门,但好歹能使用循环判断语句编写一些代码,解决一些实用的问题。可看到真正的编程语言仍然是一头雾水,没有一点豁然开朗的感觉。 于是我就想,为什么语言书不能这样编写呢? 先拿出一个比较普遍的软件,这个软件涉及到语言的大部分知识点。然后带着学习者开始分解这个软件,进而分别讲解每一部分涉及的相关知识及实现原理。最后,再讲解如何将各个部分连接到一块,又是如何实现的,原理是什么。当然,最好这本教程是通俗易懂的,就像您的语言风格一样。这就好像瞎子摸象,你不能遮住学习者的眼睛“按部就班”地从“猜数字”开始讲解,否则学习者只能懵懂的意味,哦,原来编程只是做一些这种与实际八竿子打不着的东西!应该让他们看见全貌,做到心中有数,有目的的进行学习。事实上,一位程序员在编一个软件时不也先要分析一下这个软件的各项功能,然后分别写好各个功能,最后汇集到一起吗?那干吗在学习这种语言时却要反人类的填鸭式教学?我想这也是众多编程爱好者望而却步的原因之一。 所以,我建议,廖老师能否编写一部这样的python教程,反其道而行,说不定会有更好的效果呢! 期待您的回复!

我再举个例子。 比如做青椒肉丝盖浇饭。 如果你向一个初学者讲授盖浇饭的做法,可以以“青椒肉丝盖浇饭”为例。 吃过的人都知道什么味道,没吃过的先给他上一盘。吃没吃过,都先有了感性认识、总体感觉。 接下来分解: 主要是两部分:炒菜和蒸饭。 先说炒菜。 1、原材料的准备。 2、切菜的方法。 3、炒菜的方法。 各种方法都学会了,菜就炒好了。 再说蒸饭。 1、原料的准备。 2、电饭锅的使用方法。 饭也做好了。 最后把两部分汇总,汇总的方法。 这样讲授,不是更加符合实际生活习惯吗?

可是一直以来我们的教授方法是怎么样的? 一开始,先申明我是要教你怎样做饭的。很大一个目标。 然后甩出一个最简单的例子:腌黄瓜。 好了,我默认你已经明白我是要教你怎么做饭了! 从零开始,先说厨房的各种设施。 每一项设施的具体用法。 最后教你怎样腌一盘可口的黄瓜。 完了。 你学会做饭了吗? 没有。 我只知道黄瓜是怎么腌好的。 那我想知道怎么做顿盖浇饭? 对不起,这不是本教程探讨的问题。 只好上网查资料。 大多数的提示是:你还得学会什么什么…… 得,我前面的等于白学!

这就是传统语言教学,大而全,形而上,让人一头雾水。

现在的语言教学,连个最基本的“什么是面向对象,什么是面向过程?”都讲不清楚,还谈什么学习?!满篇的堆叠术语,生怕不把编程语言弄的高深莫测。都不敢用最通俗的表达解释每个东西的用法、原理、为什么用。

您关于函数的讲解已经很形象了,但能否更生动通俗一些? 您用π的例子说明函数是预先编好的一些小程序,帮助简化一些流程,又举了数学上函数的例子。可是很多人到现在为止连数学上什么是函数都是死记硬背的。 所以,更通俗的教法应该是先举一个例子,比如您举的那个,或者再实用一些,例如怎样求取圆的面积。公式我们只道,可是难道每次都要按公式一一列出数学式吗?不需要。我们可以把这个运算公式做成一个工具,每次我们只需拿出这个工具,填上半径值就可以了。而这个工具就叫做函数,是一段编写好的程序,用来实现某个功能。编写这个工具的过程叫自定义函数。现在函数编好了,我们总得起个名字吧,不然你怎么使用它?于是这个名字就叫函数名。知道了函数名,你怎么使用它呢?这就是调用的方法。大多数函数是有参数的,这就好像求圆面积的函数,你得输入半径值吧,那么这个值就是参数。所以,学完函数,我起码知道了: 什么是函数? 函数由什么构成?函数名和参数。 怎样调用函数? python有哪些内置函数?有一张函数的表格,及中文的用法详细说明。


  • 1

Reply