- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
计算机程序设计学习三重境界
计算机程序设计学习三重境界
程序设计的学习不是单纯的对编程语言的学习和编程技能的训练,而是既要考虑到学生的学习需要与顺序,也要关注学生心智及体魄等方面健全均衡的发展。信息学奥林匹克竞赛程序设计课堂,不仅可以让学生掌握程序设计的基本知识和编程技能,还可以促进学生心智、人格等方面的健全均衡发展。很多教师、学生认为程序设计难教也难学,枯燥的数字、艰深的算法、复杂的数据结构让人望而生畏。笔者认为,在程序设计教与学的过程中,如果能够处理好“三道坎”和“三重境界”的关系,教师和学生都可以走出程序设计教与学的困境,同时学生还能收获程序设计的快乐。我借用王国维先生对读书的三重境界的话阐述程序设计学习的三重境界,以诠释笔者对程序设计教与学的思考。
● 第一境界:望尽天涯路
第一境界从跨越“循环结构”这道坎开始。
1.知识内在规律与教学策略
程序基本语言的学习如履平地,初学者一般感觉相当轻松,他们遇到的第一道难过的坎是循环结构的学习。通常这部分学习有三个难点要关注。
第一个难点是初学者对计数器、累加器等包含迭代思想的语句的理解。教师要有足够的估计和应对的预案,选好例题,并设计多种变式练习进行训练,如下例:
s=1+2+3+…#8201;…+100
变式训练:
S=2+4+6+…#8201;…+100
S=1+1/2+1/3+…#8201;…+1/100
第二个难点是学生难以理解循环的三种结构(FOR循环、While循环、Repeat循环)的区别和联系,以致影响灵活运用。这个难点的突破可以从最简单的问题入手。例如,S=1+2+3+…#8201;…+100,尝试用三种不同语句完成,便于比较三种循环语句的联系和区别,加上一定的变式训练,教师可以帮助学生轻松地突破这个难点。
第三个难点是初学者对多重循环的理解有困难。要解决第三个难点,需要设置有梯度的问题,同时这些问题有内部关联。可以从打印一个“*”到打印一行“*”,再到打印多行“*”,帮助学生理解二重循环的行、列对应关系,关于后面二维数组的数组元素读写存储等操作,也很容易理解。多重循环的本质理解了,学生再学习多维数组就轻松多了,排序算法也就迎刃而解了。
2.第一境界
程序设计学习过程中第一道分水岭是循环结构,有相当一批学生在循环结构这部分败下阵来。循环结构的理解也是学好数组部分的关键。对于有1~2年左右学习计算机经历的初中以下学生来说,能熟练地使用数组来解决问题是未来晋级的基础。因此,循环部分的教与学很重要。跨过“循环结构”这道坎,程序设计的学习进入第一境界――“望尽天涯路”。对初学者,教师要关注这个坎,同时也要培养学生养成规范、严谨、细致的思维习惯和编程习惯,包括良好程序书写习惯,为后续学习做好先期的准备。
● 第二境界:为伊消得人憔悴
第二境界从突破“过程与函数”这道坎开始。
1.知识内在规律与教学策略
选择函数还是过程?遇到多个数值需要传递,应该如何选择呢?如何正确地书写参数,过程调用时遇到数字调用返回时如何设计参数等,都是这部分学习的重点和难点。函数、过程本身蕴含的数学思想,数和过程的编写,函数和过程两类子程序之间的区别、全局变量、局部变量的概念,结合对过去知识的回望,可以逐步将这些思想和概念落实到平时的程序设计训练中去。同时,“函数与过程”也直接指向下一道坎――递归,递归本身也是特殊的过程与函数的调用。因此这部分的学习,能够帮助学生形成正确的知识图谱。这要求教师有足够的预案,还应对栈、队列、链表等后期的知识有足够的了解,能够适当地进行知识扩展。
2.第二境界
从接触线性表,学生慢慢地体会到程序中每个数据不是孤立的点,数据之间的逻辑关系、物理关系让他们从崭新的视角看到了程序设计中数据结构设计的“风景”。
过程与函数,将给学生打开一扇崭新的窗。结构化程序设计思想所蕴含的丰富哲理,不仅能够帮助学生更好地分析问题、解决问题,还可以让学生收获一生受益的思维习惯。“过程与函数”学习的意义首先在于,我们面对一个问题,无论其复杂、简单,要有规划的意识,要有全局的观念,学会从全局着手考虑问题、分析问题,构建数学模型,再将大问题分解为小问题。其次,要让学生体会程序设计模块化思想的意义,自上而下,将大问题分解为若干小问题,由小问题逐步求精的模块化思想将使我们要解决的问题、要书写的程序更有条理、更清晰。这部分的学习将进一步让学生体会“全局与局部”之间的调用关系,让后期算法的实施、程序的编写到程序的调式变得更有针对性。
过了这道坎,程序之美会一点一点打动学生,不久他们会达到“衣带渐宽不悔,为伊消得人憔悴”的境界。无论教师还是学生都要关注这部分知识的学习。
文档评论(0)