实际上,安全意识是"吓"出来的。我觉得教科书不仅仅展示正确的案例,还应该在醒目的位置放一些错误的、会产生吓人效果的例子。可能的话还应该配合一些具有冲击力的声光效果,以帮助形成条件反射。
那些搞计算机教学的人,真应该好好学学巴普洛夫的条件反射理论。:-D
但是 C++ 是不适合担任这个任务的, 简单的语言, 例如 python, 比 C++ 之类更
合适. 当然目前选择 Java 的比较多.
编程学习 ---- btw 我觉得多数的计算机系算不上多有 sciense, 而engineer 需
要的东西也没有教好, 勉强算CP系, 在里面就算学编程了 ---- 学得太象牙, 出来
还是很麻烦的.
例如, 大家都知道, 只做过作业, 没有自己另外课外好好整过几个项目的学生, 写
代码 99.9% (千足纯金啊)都是仅仅考虑 happy path (幸运 52 ?), 不去考虑边界
条件怎么处理, 碰到错误异常也统统都不管, 从一开头就没有这个意识, 甚至是养
成了习惯, 麻烦啊.
2. 搅和一下:
初学习编程, 还没有编过 > 5000 行代码, 直接就学 OO 设计, 有用 ?
pongba 写道:
> 其实我认为学习编程,应该先学语言无关的思想。用一个语法很loose的伪码来
> 表达。OO设计嘛就用UML即可。FP嘛用数学符号。过程是那就不用说了。
>
> 这样可以避免初学者一上来思维就被语言套牢。
>
2. 搅和一下:
初学习编程, 还没有编过 > 5000 行代码, 直接就学 OO 设计, 有用 ?
我觉得应该以大量实用的例子来告诉初学者,C++能做什么事情,能完成什么工作,从小例子开始到中等例子,让他们更加有信心,更有成就感。一下子说很复
杂的事情会把人吓跑。
呵呵,还没那么恐怖。:)
其实,小孩是很敏感的,(就像初学编程的人)。他第一次要把钥匙插进插座里,正巧被我看见,我大叫一声:"不好插的!"他吓得一哆嗦,倒也没哭。然后,为了安抚他,我只能尽可能地用夸张的动作和表情对他说:"这个不可以动的哦,要'哇哇'的哦。"反复说了好多遍。此后,他每次看到插座,就指着说:"哇哇,哇哇。"再也没敢拿东西往插座里塞。
由此我想到编程教学也可以采用这种"吓唬+引导"的方法。小孩通常会对一些强烈的刺激记忆深刻,并且很容易形成条件反射。而初学者也一样。
当然,吓唬得恰到好处。玩儿过了,会有心理问题的。:)
开车的人, 即使没有人去强化训练规则, 心理上对压死一个人还是非常非常警惕
的, 有这个心理在前面, 不是那么容易压死人的.
但是对于写程序, 没有这么强的心理负担, 从而也没有那么大的动力去将避免犯错
误的30页还是50页你的规定给背下来.
说到小孩子, 简单的东西, 吓几次就有条件反射了. 不过, 你这样吓吓他看看能不
能建立条件反射:
如果你没有吃饱, 天上有云, 上弦月, 你的玩具娃娃没有洗干净, 妈妈没有开电视
机, 爸爸再看篮球赛, 隔壁同学没有做完作业, 那你千万千万不要去喂小白兔 !!!
他肯定就只能记住, 小白兔很危险, 不能接近.
Huafeng Mo 写道:
> 说起新手上路,我想到也可以借鉴学车。我总是说,在马路上压死个把人要比在
> C++里犯错容易。我们之所以没有天天压死人,是因为我们遵守了规则。也强化
> 训练了规则。
但是这样又矫枉过正了
学习编程必须随时能看到成果和进步 不然很容易疲倦 而且太形而上的东西本身就复杂
总归来说 还是c++太复杂了 要想不走弯路的学习 很难
呵呵, 没有多少研究, 只不过我就是那个小孩子, 很多东西老是记不住, 例如, 什么时候异常在什么条件下会给你带来什么样的问题, 即使这个问题是曾经自己碰到过, 搞清楚过, 过不了几个月, 就忘了. 现在用了一段时间的D, 我再次记不住抛出异常的时候, 应该是直接用构造函数即时构造一个异常对象 throw, 还是应该 new 出来之后再 throw --- 好像是前者 ? delphi 是后者 ? 我没有什么把握, 呵呵.
最后我就只能记住, 异常很危险, 轻易不要用.
过了几个月, 我又觉得 C++ 里面另外一个东西很危险, 轻易不要用.
然后看到新同事, 连搞明白一些问题都费劲, 我就只记住, C++ 很危险, 轻易不要用 ;)
On 10/9/07, pongba <pon...@gmail.com> wrote:
>
>
毕竟人类的智力有限 而且也不是人类擅长的
我一直觉得C++的复杂性来自于需要考虑的问题太多 虽然就问题个体而言并非不能克服 但是同时面对大量明显或潜在的问题以及许多规则时 对人类的记忆力和精确性是个挑战
我们总是想各种办法避免犯错误 训练的再多也难免百密一疏
On 10/9/07, hayate <haya...@gmail.com> wrote:
毕 竟人类的智力有限 而且也不是人类擅长的
我一直觉得C++的复杂性来自于需要考虑的问题太多 虽然就问题个体而言并非不能克服 但是同时面对大量明显或潜在的问题以及许多规则时 对人类的记忆力和精确性是个挑战
我们总是想各种办法避免犯错误 训练的再多也难免百密一疏
On 10/9/07, Huafeng Mo <longsh...@gmail.com> wrote: