义务教育阶段编程教学的思考与实践

    刘志超 张杨

    教育部办公厅印发的《2019年教育信息化和网络安全工作要点》中提出,要“推动在中小学阶段设置人工智能相关课程,逐步推广编程教育”。随着国家相关文件的出台,编程教育跃然纸上,作为义务教育阶段的信息技术教学研究人员,笔者感受到时代在召唤,那么义务教育阶段的编程教学路在何方?

    君子务本,本立而道生

    追本溯源,编程教育的育人价值在哪?我们不妨从编程的本源来理解。编程就是编定程序,是让计算机代为解决某个问题,对某个计算体系规定一定的运算方式,使计算体系按照该计算方式运行,并最终得到相应结果的过程。

    学习编程可以让学生更透彻地理解计算机是如何工作的,继而学生可以利用计算机科学技术思想和方法分析问题,这为学生适应信息社会的学习、工作和生活奠定了坚实的基础。学习编程能够很好地落实“提升智育水平,促进思维发展”和“信息技术核心素养”。一定的运算方式可以理解为算法,解决问题的算法呈现多样性的特点,多样性表现为“一题多解”,这就为学生思维能力的发展提供了适宜的土壤。爱因斯坦曾说过:“教育的价值,不在于学习很多事实,而在于训练大脑会思考。知识当然重要,但知识不是教育的全部内容,超越知识的另一个维度就是思维能力。”我们一定要认识到学习编程就是训练大脑会思考,就是促进思维能力发展这个方向,只有方向对了,我们的努力和付出才有价值和意义。

    “四有”并举,促进思维发展

    1.有情境

    教育是什么?教育不是灌输,而是点燃与唤醒:点燃学生的学习热情,唤醒学生潜在的自我。在编程教学中,问题情境能够很好地实现“点燃与唤醒”,而且凸显了编程解决问题的独特价值。学生在解决问题过程中选择工具与资源,落实信息技术核心素养中的“信息意识、数字化学习与创新”,并在解決问题过程中投入思考,发展思维,在情境中学习,感受学习编程就是学习生活。

    2.有体验

    情境中的问题是具体的、形象的,解决问题需要对问题进行抽象与建模,体验就是具体形象与抽象建模之间的桥梁与纽带。在体验中深入理解问题,为问题的解决奠定坚实基础,为实现抽象与建模提供强有力的支撑,让抽象与建模不再高不可攀、遥不可及,让信息技术核心素养中的计算思维的培养自然而然、水到渠成。

    3.有空间

    学生的潜能是无限的,只要给予学生思考的空间,学生会给我们带来别样的精彩,这点在编程教学中体现得尤为突出。教师把学生的思维点燃,学生在理解问题的基础上,在抽象与建模的模糊状态下,迫不及待地想求解问题,这时候学生需要的就是思维的空间、试错的空间、静静地思考的空间。

    4.有对话

    对话是启发,是碰撞,是升华,是编程教学将思维引向深入的手段与方式。作为启发的师生对话,是鼓励,是发现,是潜移默化的引领;作为碰撞的生生对话,是鞭策,是借鉴,是互通有无的启迪;作为升华的与思维的对话,是审视,是成长,是醍醐灌顶的通透。

    “四有”并举,促进思维发展的实践

    笔者所在地区2015年将Scratch纳入信息技术教材,信息技术教师对Scratch编程教学已有一定的思考与实践,但受传统软件教学方式的禁锢,还没有把握编程教学的核心与实质。下面,笔者以《棋盘麦粒》为例对“四有”进行教学实践,这是对“四有”的具象化,以此希望更多的教师能够投入更多的思考与实践,为编程教育的全面发展、编程教学的稳步推进以及学生信息素养的不断提升贡献力量。

    1.呈现故事,提出问题

    同学们,你们听说过《棋盘麦粒》的故事吗?故事的情节是这样的:

    古时候,印度有个国王很爱玩。一天,他对大臣们说,希望得到一种玩不腻的玩意儿,谁能贡献给他,将有重赏。

    不久,有个聪明的大臣向他献上一种棋子,棋盘上有64个格子,棋子上刻着“皇帝”“皇后”“车”“马”“炮”等字。下这种棋子,是玩一种变化无穷的游戏,确实让人百玩不厌。国王就对那个聪明的大臣说:“我要重赏你。说吧,你要什么,我都能满足你。”

    那个大臣说:“我只要些麦粒。”

    “麦粒?哈,你要多少呢?”

    “国王陛下,你在第一格棋盘上放1粒,第二格上放2粒,第三格上放4粒,第四格上放8粒……照这样放下去,把64格棋盘都放满就行了。”

    国王想:“这能要多少呢?最多几百斤吧,小意思。”于是就对管粮食的大臣说:“你去拿几麻袋的麦子赏给他吧。”

    故事讲到这,你想提出什么问题?

    学生不约而同地问道:“到底要给多少粒麦子呢?”

    在此环节,教师为学生创设问题情境,激发学生学习的积极性,问题驱动学生投入思考。

    2.走进故事,分析问题

    其实,这个游戏就是国际象棋(如下图),国际象棋有64个格子,那么,我们只要在第一格棋盘上放1粒,第二格棋盘上放2粒,第三格棋盘上放4粒,第四格棋盘上放8粒……以此类推,64格棋盘放满,棋盘上所有的麦粒就是应该赏给大臣的。

    首先,我们思考,一共放多少次?

    其次,我们思考,后一个格子放的麦粒数和前一个格子放的麦粒数的关系?

    3.尝试解决,抽象建模

    好,我们共同尝试解决,老师手中的这个盒子用来放麦粒,老师叫到哪位同学,哪位同学就往盒子里扔麦粒(只要说出扔的麦粒数即可),其他同学判断这位同学扔的麦粒数是否正确,如果正确,算出盒子里的麦粒数。第一位同学,扔1粒,那么盒子里有1粒麦子。第二位同学,扔2粒,对不对?那么盒子里有几粒麦子?……扔的同学很容易把握规律,就是前一位同学麦粒数的2倍,当扔到一定数量时,计算的同学发现没法计算了,因为数量太大了,那么怎么办呢?

    有的学生说可以用纸笔计算,有的学生说可以用计算器计算,教师让学生尝试用想到的方法计算,最终大家都说数量太大,用这些方式都不好计算。

    同学们,回顾刚刚扔麦子的过程,不难发现,我们重复地往盒子里扔麦子,只是每次扔的数量在发生变化,而且数量变化是有规律的,我们想一想解决这种简单重复的问题,什么工具最擅长?对了,Scratch啊,计算机的计算速度是我们人类无法企及的,我们可以通过程序让计算机帮助我们解决这个问题啊!

    在此过程中,学生在体验中深入思考,理解问题的本质,学生被引向对具体问题的抽象,对问题进行初步、模糊的建模。

    4.算法运用,求解问题

    教师请学生启动Scratch,开动脑筋,尝试解决问题,学生全神贯注地投入思考,尝试运用合理算法解决问题,同时,教师引导学生进行讨论,交换思想。渐渐地,有学生举手示意问题解决了,教师引导学生通过读程序的方式检验自己的程序:第一次循环,麦粒数是多少?麦子总数是多少?第二次循环……读着读着,学生就发现自己程序的问题了。教师为学生提供一个检验自己程序的思路,同时也将学生的思维引向深入,在读程序过程中,学生一次又一次发现问题、解决问题,进而发展了思维。

    再次举手示意的学生,一定是已经解决问题的学生,他们在运用合理算法求解问题的过程中建模,发展计算思维。

    在此环节,学生开动脑筋,倾情投入,大胆尝试,在对话中,深入思考,运用各种算法解决问题,收获成功的喜悦。

    5.价值体认,情感升华

    当学生发现应该给的麦粒数如此庞大时,教师提问:“如果你是国王,你给不给?”学生的回答五花八门、千奇百怪,但总体上学生认为不给,因为给不起。教师引导学生齐背“社会主义核心价值观”,同时强调社会主义核心价值观对个人层面有哪些要求,指向“诚信”的个人层面核心价值为学生提供正向的思考,践行社会主义核心价值观是我们每个公民的义务。师生达成共识:必须给!

    6.智慧碰撞,思维发展

    教师追问:“那怎么给呢?”

    有的学生说“分期付款”,有的学生说“给种子”,有的学生说“让大臣自己制作棋盘,装多少,给多少”……

    教师呈现故事的结局。

    管粮食的大臣说:“请您下令打开粮仓,然后请献棋的大臣自己一粒一粒地数出那些麦子就行了。”

    “那么要数多长时间呢?”

    管粮食的大臣计算了一下说:“假设每秒钟能数2粒麦子的话,他每天数上12小时,就是43200秒,数上10年才能数出20立方米,要数完那个数目将需要2900亿年呢。他能活多少年呢?再说,枯燥的生活能折磨人,他这样下去岂不要短寿?因此我想,他的本意并不是想要得到那些不可能得到的麦粒,他只是试试有没有比他更聪明的人罢了。”

    国王大喜,夸奖道:“看来,至少你比他还要聪明呢!智慧人物治理国家,国家才能兴旺发达。我决定提拔你俩当我的左右宰相!”

    这是一次智慧与智慧的对话,这是一次思维与思维的碰撞,在这样的过程中,学生收获思维的发展、品格的形成、能力的提高。

    结束语

    随着人工智能时代的到来,编程教育与编程教学迎來了前所未有的发展机遇,也给我们信息技术人带来了的前所未有的挑战,大浪淘沙沉者为金,编程教育的回归彰显其育人价值,促进学生思维发展,为学生的人生奠基。

相关文章!
  • 小学语文课堂教学中的激励性评

    摘 要:激励性评价作为小学常用的教学方式,在教师日常教学中具有重要作用,在各小学学科中都有应用。在小学语文课堂上,语文教师需要与学

  • 高等教育人工智能应用研究综述

    奥拉夫·扎瓦克奇-里克特 维多利亚·艾琳·马林【摘要】多种国际报告显示教育人工智能是当前教育技术新兴领域之一。虽然教育人工智能已有约

  • 生活引路,作文随行

    周海波【摘 要】“写作教学应贴近学生实际,让学生易于动笔,乐于表达,应引导学生关注现实,热爱生活,表达真情实感。”教师如何让学生更加贴