另辟蹊径在创编程序中培育计算思维.docx
《另辟蹊径在创编程序中培育计算思维.docx》由会员分享,可在线阅读,更多相关《另辟蹊径在创编程序中培育计算思维.docx(7页珍藏版)》请在第一文库网上搜索。
1、另辟蹊径:在创编程序中培育计算思维宁波市江北区育才实验学校李友兴【摘要】程序设计题库平台里的题目从何而来?它是如何被创造出来的?出题者是以怎样的方式构建问题来考察解题者的算法能力?这一系列的思考让笔者审视目前程序设计教学方法,将创新引入到程序设计教学的领域中,探索程序设计教学的另一条路径创编程序题。对于创编程序题的教学探索上,本文提出了在规范框架、确定算法、辨识情境、试用反馈等一条明朗的路径与方法。创编程序题不仅可以发展学生的计算思维力,而且还可以激发学生的创造潜能,提升学生的技术学习成就感。【关键词】程序设计;计算思维;教学策略;创新实践程序设计教学中,通常以程序题的求解为载体,来培养学生的
2、算法构建能力,发展学生的计算思维。而教师通常会在程序题的Oi平台中“上下翻腾”,通过“以身探题”来了解题目中所蕴含的算法,为学生构建拾阶而上的算法构建能力培育的程序题序列。随着教师和学生对题目求解的不断深入,师生都会自然地萌发一种想法一一这些程序题从何而来?出题者有怎样的算法理解力?他(她)以怎样的方式构建问题来考察解题者的算法能力?这一系列的思考,让笔者审视目前程序设计的教学方法,是不是该走出传统的靠刷题的唯一一条路径,向着出题者致敬,从解题到创题,寻找一条新的程序设计教学路径。创编程序题是学生基于一个或若干个算法,借助特定的生活情境,通过改编或创造,编制程序题源的一种行为。在创编程序题的过
3、程中,学生基于算法,从一个最简单的“裸题”出发,通过逐步构造、转化、深化、增加、整合等过程,完成对问题的构思,体验程序创编的快乐,同时发展与提升学生的计算思维。一、规范框架从了解到理解程序题是有一些基本的格式和规范,其表述的文本是与解题者的一种对话。以No1P试题为参照,其组成要素由:题目名称、问题描述、输入文件、输出文件、样例数据和数据规模,每种要素都有各自的价值,用于向解题者提供明确的信息。以学生创编的“课间游戏”程序题为例,“课间游戏(/c/pas)”这个是程序题的“题目名称”,它是对具体问题情境的一种提炼与浓缩,同时明确了源程序的文件主名与扩展名。“问题描述”是提供已知条件,抛出一个具
4、体索求的问题,本程序题的“问题描述”提出的是“在地图中棋子经历多次前进与后退行动后的最终状态”。“输入文件”是根据题目中的描述,提供一种一定规格的数据,第一行由三个数字,分别表示棋子移动的次数为N次,最多前进格数为M格,后退格数为K格。第二行数据表示每次移动的格数,数据之间有空格分隔。输入文件对应的是“输出文件”是求解后输出的结果,文件名对应的是”样例数据”分别是对应输入输出格式具体的数据说明。“数据规模”事实上是超越样例的数据规模说明,在构造程序时要考虑极大、极小、特殊等一些数据,使得数据规模能够区分解题者的算法能力水平。在程序题创编辅导中,不应急着让学生死记硬背其组成要素,而是要与学生讨论
5、与交流,理解这几大基本要素。通过暂时性隐藏某些元素与内容,让学生感受到这几个元素的不可或缺性。比如缺失了数据规模,就无法考虑时间复杂度与空间复杂度。又比如缺失了样例说明,就难以确定输入与输出的数据具体含义,进而也就难以理解题目,如图1所示。课间游戏(cpas)【问题描述】终于等到下课了,聪明的小亮随手画了一个棋盘,发明了一个游戏:一枚棋子,每次移动ai步(起始点为第零格),但当前进了M格的时候,就要后退K格。棋子一共移动N次。看看最后走到哪里。但这个过程实在太漫长了,等做完都快上课了。你能通过程序算出最后在哪里吗?【输入文件】文件名:第一行有三个整数N、M和K,表示棋子移动的次数、最多前进格数
6、和后退格数。第二行有N个整数,表示每次移动的格数。叫修棋Ae文件中只有一个整数,表示最后停在哪儿。【样例输入】【样例输出】5325352101【数据规模】20%的数据:1=N=101=M,K=51=ai=540%的数据:1=N=1000K=M,K=1001=ai=20100%的数据:1=N=1OOOOO1=M,K=1OOOOO1=ai=保证K=M图1课间游戏创编题二、确定算法从简单到复杂一般情况下,学生创编程序题初始阶段构造的题目是比较朴素的,能被“一眼看穿”,其算法暴露在题目的描述中一一即所谓的“裸题”。此时,教师要顺势引导,让学生通过转化、增加、整合等方法,实现题目的难度升级。其目的在于,
7、构造的程序题不仅能考验对问题的理解力和解题者的抽象能力,而且还能考查解题者灵活应用算法的能力。以基于小数的计数算法创编为例,程序社团小江同学打算创编计数算法的程序题,她一开始确定的思路(如图2所示):一组N个整数,要求若干个整数个数并按照整数的大小进行排序,这样的问题设计对于学过计数的解题者不需要花费任何思考。于是,笔者引导学生在原题的基础上增加“关卡”,将计数算法作一定的隐藏。通过启发,她就开始想“怎样的数据是不能直接用来计数的,但是通过转化仍可计数?”最后,她想出输入的数据是小数,每个小数的位数又是不同的,那就要寻找到最大的小数位数n,再把所有的小数乘以10m,将所有原来的小数数据转换为整
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 另辟蹊径 创编 程序 培育 计算 思维