美文网首页计算思维
编程教育漫谈(一)

编程教育漫谈(一)

作者: Karen隆 | 来源:发表于2020-02-11 22:41 被阅读0次

编程教育的目的应该是给学生一个环境,去体验如何完整的,独立的解决一个问题,或者完成一个任务。

  1. 遇到问题应该要有一个良好的心态:只要是一个明确的问题,我就一定能解决它。
  2. 接着是学会去分析这个问题。最基本的就是大化小,小化无。这个过程我认为有两个重点,一个是明面上的分解,另外一个,是框架,也就是我们是按照一个什么样的逻辑去分解问题的,分解完的小问题是如何结合起来最终解决大问题的。
  3. 再接着就是从过去的经验总结中找到解决分解好的各个小问题,小任务的方法。
  4. 然后呢,把我们的解决思路用计算机能够理解的语言描述出来,也就是编程。其实这一步还是分成两个部分,一部分是把小问题分块编程,反应到python里呢,就是写函数,写类。第二部分呢,也就是步骤2中,所谓的框架,对应的就是主函数部分。
  5. 大部分学生写完程序,心理上就放松了,其实包括我自己也经常会这样。然而,路漫漫兮,程序看起来写完了,可是我们的目的是解决问题完成任务呀,程序写完也要运行测试一下看看能不能解决问题。也就是我们debug的过程。(其实在这之前,每完成一个小问题的程序,都应该要想办法测试一下)
  6. 在debug的过程中,其实又是一个新的发现问题,解决问题的过程。
    这一步很重要的是,描述清楚问题,然后定位问题。当然,最最关键的还是要有一个解决问题的心态。

上面6个步骤是我认为,编程教学中,非常核心的一个流程。结合学生的情况,每个步骤应该有不同的侧重。

  1. 目前大部分学生都是新接触编程,或者了解不深,这样的情况下,他们本身就是一头雾水,更谈何去有一个好的心态,谈何去分析问题。此时,应该关注的是,引发学生对编程的兴趣,激发他们探索的欲望。我现在在教学中,用scratch入门,以游戏项目的形式去引起兴趣,对于不喜欢游戏的孩子,以鼓励他们通过编程来创作表达自己的想法为主。后续将引入python,分成两个阶段,先是游戏项目作为过渡,然后设计几个真实有用的项目。
  2. 分解问题。这是个比较需要费脑费时的过程,要让学生们有这样的意识,还是需要一定时间的,过去的经验告诉我,一学期或者一年的学习,一个班上的孩子会有两种:一个是处于一头雾水,因为没有太大兴趣,所以也不太愿意去思考,这部分学生的问题要在第一点解决;另外一种是表现不错,逻辑比较强,这部分学生呢,往往自我感觉能力强,凭感觉去写程序,不愿意花时间在有条理的分析上,喜欢拿到任务就去写程序,而不是分析。
  3. 因为目前接触的学生都是在给他们打基础,所以分解问题的步骤是我在课上会着重带着他们去分析下去的,而分析到了最后的时候,也就是子问题的时候,他们大部分同学都会觉得,原来看似复杂的任务,最后可以这么简单。说这一点的目的也是在提醒自己,不能急,不断重复这个过程之后,学生就会有这样的习惯,慢慢的就会自己下意识的去采用。
  4. 在写程序这一步,我觉得需要批评一下我自己,在过去的教学中,往往是过去强调前面的分析,把自己的思路带进去了,总觉得学生听完就应该都会了,而不是详细的再把程序给他们过一遍,或者说,没有把“分析的过程”与“程序”一一对应的关系教给学生。这就导致看起来学生知道了这个任务,但是开始下手写程序的时候总是“老师老师我不会”的叫着。后面的教学,要谨记这个环节。
  5. debug环节,其实是我认为编程教学特别需要线下教学的这样一个过程。很多人觉得,学生遇到问题的时候,直接告诉他怎么解决就行了,实际上不是,在线下上课的过程中,我很强调让学生把问题描述给我听,然后不断的在一问一答之间帮助他定位到问题,然后再引导他发现可能的修改。这个过程中,很重要的是,要通过语言和行动让学生觉得,有问题没关系,也不能急,要相信他自己一定能够解决问题,同时也在这个过程中让他感受解决问题的流程和思路。

相关文章

  • 编程教育漫谈(一)

    编程教育的目的应该是给学生一个环境,去体验如何完整的,独立的解决一个问题,或者完成一个任务。 遇到问题应该要有一个...

  • 漫谈iOS AOP编程之路

    layout: posttitle: "漫谈iOS AOP编程之路 "subtitle: "...

  • 漫谈编程

    # 漫谈编程(一) 今天本来我是打算介绍扫地机器人的一种基础算法实现的,但是回去看了下自己2年前写的代码,感觉有点...

  • 漫谈教育(一)

    季谦先生说:“‘无声无臭‘是教育的最高智慧”。 我们的孩子尚未被污染,他刚刚到世界来,人性的光明是很容易被提升起来...

  • 2020-04-23

    架构漫谈:若不让你认识什么是架构? 我将退出编程界。 本文是漫谈架构的第一篇,作者将会通过类比的方式来介绍什么是架...

  • 并发编程漫谈

    几个基本概念 为什么需要并发?这些年。并发。多线程这些词不绝于耳。感觉现在没有没有搭上这些词都感觉落后了。但是想专...

  • 漫谈编程模型

    简言之,不论是面向对象编程还是函数式编程,如果你走了极端,那都是错误的。面向对象编程的极端是一切都是对象(纯面向对...

  • 漫谈教育

    教育,可能没有哪一个时代会像今天一样,人们发疯的谈教育。在这样一个时代,人人都可以谈教育,又好像谁都无...

  • 教育漫谈

    今年是我从教的第四个年头,也是我当班主任的第一年,不,准确来说应该是一个月。 静心反思这一个月,脑海里第一个蹦出来...

  • 教育漫谈

    我手机里留存的这张照片,是我和女儿外出时拍的。之所以要留存,是因为其中有我们母女的对白,算是个故事。这个故事有关孩...

网友评论

    本文标题:编程教育漫谈(一)

    本文链接:https://www.haomeiwen.com/subject/neoxfhtx.html