关于编程这种工具的学习

对于C语言难学的问题,主要有两点原因。

第一,C语言的语法知识太多、太琐碎;

第二,反复地做算法类的编程练习,不感兴趣,不愿写程序,进而觉得入门困难。

分析了上面的原因后,我们采取了对应的策略:

首先,入门时仅讲最少需要的语法知识,一些额外的语法知识先不要学。比如++、--、复合赋值运算符、逗号运算符、switch-case语句、do-while语句等。实际上不学这些语法,也可以写出完整的程序。

其次,足够的编程量是必须的,可以充分利用在线OJ系统,会给你一个正反馈,并在初始学习编程时养成严谨的习惯。

再次,为了培养同学们对编程的兴趣,我们采用了通过游戏开发来教编程的方式,可以参考:知乎专栏 。

同时,C语言中的相应语法知识,如函数、数组、指针、文件等,都是在开发游戏的实践中,遇到问题,学习相应语法知识后解决问题,从而得到更深的理解和体会。

最后,有条件的话,还是和同学一起学习,这样可以互相交流、督促。后面开发较大的游戏练习时,可以进行有效的团队合作。

希望你能和我的学生一样,写代码写的来不及吃饭、来不及睡觉,经过辛勤的努力,最后拿出非常自豪的游戏作品,向同学、朋友、家人、老师进行展示。在这个过程中,你的C语言会提高很快的。

上面这段话是一位编程教师总结的,实际上这种做法与我设想的学习方法完全吻合,不仅仅是针对某一种语言,而是对于所有工具性知识的学习。总结来就是:以考促学——>以用促学。

在以应用为目标的前提下,适当地做些验证性“练习作业”是可以的,但是绝大多数时候还是为了实现应用而去学习。

之所以有这样的结论,是因为在很多次的实践中发现“以考促学”这个路子行不通,效率低,续航短,因此为这么多次的教训做个总结,改正之。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181002G0E0E500?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 yunjia_community@tencent.com 删除。

扫码关注云+社区

领取腾讯云代金券