基于“编程一小时”与Scratch培养中小学生编程能力

来源 :软件 | 被引量 : 0次 | 上传用户:s334794681
下载到本地 , 更方便阅读
声明 : 本文档内容版权归属内容提供方 , 如果您对本文有版权争议 , 可与客服联系进行内容授权或下架
论文部分内容阅读
  摘  要: 在人工智能时代的背后,驱动这个美好社会的底层是编程,其搭建的底层架构为人工智能的实现打下良好的基础,因此,编程已成为未来发展中不可或缺的一项基本技能。中小学生作为信息时代的“数字土著”,更需要具备基本的编程能力以应对未来信息时代中的各种挑战。但目前国内的编程教育还存在教学内容单一,教学方法不到位,编程教育相对其他课程孤立等问题。因此,论文通过Scratch 和“编程一小时”图形化和具有趣味性的特点,将程序流程化,引导学生入门并自主完成程序设计,以该平台为工具进行编程教学,更有利于培养中小学生的编程能力。
  关键词: 编程能力;编程一小时;Scratch;中小学生
  中图分类号: G434    文献标识码: A    DOI:10.3969/j.issn.1003-6970.2020.08.063
  本文著录格式:张琦旋,刘扬,徐瑞祺,等. 基于“编程一小时”与Scratch培养中小学生编程能力[J]. 软件,2020,41(08):229-232
  【Abstract】: Behind the era of artificial intelligence, the bottom layer that drives this beautiful society is programming, and the underlying architecture it builds lays a good foundation for the realization of artificial intelligence. Therefore, programming has become an indispensable basic skill in future development. As a “digital native” in the information age, elementary and middle school students need to have basic programming skills to meet the challenges of the future information age. Through the graphical and interesting features of Scratch and “One-hour Programming”, the thesis streamlines the program, guides students to get started and completes the program design independently, and uses the platform as a tool for programming teaching, which is conducive to cultivating the programming ability of primary and middle school students.
  【Key words】: Programming ability; Programming for one hour; Scratch; Primary and middle school students
  0  引言
  随着互联网的不断发展与成熟,人工智能也得到了迅猛的发展,编程是互联网与人工智能等各种高新技术的基础和核心。据美国新媒体联盟(New Media Consortium,NMC)的《2017年地平线报告(基础教育版)》,在未来1-2年内,编程作为一项专业素养,将逐渐成为驱动基础教育发展的关键要素[1]。
  近年来,编程教育已逐渐进入中小学阶段,很多发达国家都在基础教育中设立了编程课程大纲。作为互联网大国,我国在少儿编程教育上也开始普及,国务院发布的《新一代人工智能发展规划》提出要“广泛开展人工智能科普活动,在中小学设置人工智能相关课程,逐步推广编程教育”[2]。中小学阶段是学生增长知识和智慧的关键时期,也是思维从具体形象逐步向抽象逻辑过渡的阶段,但抽象的逻辑思维在很大的程度上仍以感性经验为主,具有很大的直观性[3]。因此将编程可视化的“编程一小时”网站和Scratch在中小学生的编程教育中发挥着重要的作用,将中小学生  的编程教学与该平台相结合可以达到寓教于乐的学习效果。
  1  国内外中小学编程教育的现状
  在人工智能时代,编程已逐渐成为一项必不可缺的技能,因而国际产业界和教育界都开始重视编程能力的培养,各个国家也开始将编程能力的培养作为创新性人才培养战略的实施重点。国外有关编程教学的研究较早,从20世纪80年代起,编程教育研究就已从单纯的编程教学转向编程与其它学科的融合,并将编程作为一种表达思维的工具[4]。欧美等发达国家和地区已经将中小学编程教育纳入到国家层面的战略规划或行动计划中。
  相比之下,我国中小学编程教育的实践与研究总体还处于初级发展阶段,主要以行业、企业的推广和实践为主,中小学阶段编程教育的课程标准尚未建立,正规的编程教育师资队伍极为短缺,规范的教材体系和成熟的教学模式尚在摸索之中[5]。但是近年来,随着中小学编程教育逐渐受到重视,我国已将青少年编程纳入到国务院发展规划中,作为国家级战略推进,部分学校已经将编程教育融于信息技术教学中。中小学生的逻辑思维能力处于不断发展的过程,相对而言并不成熟,如果直接使用高级程序设计语言進行编程会有一定的难度,尤其是国内的孩子,更是受到英语、数学、自然语言以及逻辑思维等多重因素的限制[6] ,因此一些青少年编程平台逐渐受到青睐,比如在国内应用较多的编程平台有Scratch、“编程一小时”等。   2  中小学生编程教育存在的问题
  从“计算机教育时代”到“信息技术时代”,信息技术教育已超越了单纯的计算机技术的训练阶段,发展成为与信息社会人才需要相适应的信息素养教育[7]。中小学的编程教育也越来越受到重视,但由于编程教育正处于起步阶段,所以在教学内容和方法等方面还存在一些问题。
  2.1  编程教育的教学内容单一
  在目前的编程教育中,以Scratch为工具展开教学的较多,因为它拖拉式的图形界面能够激发中小学生学习编程的兴趣,方便进行教学,但是Scratch相对于其他编程平台和工具而言更适合编程入门,随着学生掌握编程知识的增加和编程能力的提高,Scratch就不再能很好地满足学生提高编程能力的需求,因此单一的教学内容不利于培养中小学生的编程能力。
  2.2  编程教育的教学方法和工具不到位
  近年来计算机相关技术的大热,使得编程进入到人们的视野中,编程教育也随之兴起。但校内的编程教育所需的软硬件设施配套不全,教育方法不足,在编程教学中没有做好因材施教,没有充分的结合学生的年龄段和知识掌握水平采取合适的教育,没有恰当的利用编程平台和工具开展教学,导致中小学生的编程教育没有达到目标。
  2.3  编程教育相对其他课程孤立
  美国,澳大利亚,欧盟等国家已经将编程与其他学科融合,作为必修课程加入到中小学课程中,如:澳大利亚的《数字技术》课程,英国的《计算》和《设计与技术》等。而国内的编程教育目前还没有与其他学科和课程相结合,使得中小学生对编程没有充分的了解,学习编程的热情不高,不利于编程教育的进行。
  2.4  编程教育中没有充分培养学生的创造力
  很多教师只是结合编程平台中的一些基础课程进行教学,当学生编程入门并具有一定的编程能力后没有进一步培养其自主設计和创作的能力,没有为编程能力较强的学生提出进一步提高的建议。
  3  基于“编程一小时”与Scratch的教学建议
  3.1  结合Scratch的课程教学,引领学生编程入门
  3.1.1  选取恰当范例,引领学生入门
  中小学生的信息技术基础薄弱,在刚接触编程教学时会感到生疏,因此教师在进行教学时应该综合考虑学生当前的学习水平与能力,并根据学生对知识的接受状况选取适合的Scratch范例,比如可以选取有背景音乐的范例进行教学,更能激发学生的学习兴趣。在入门教学时,教师可以先向学生展示范例的运行结果,使学生对程序有个初步直观的感受,并对其产生兴趣,充满好奇心。接着,教师可以用提问的形式来了解学生的感受和疑惑点,并结合学生的问题进行编程原理的讲解,向学生介绍Scratch的界面构成部分以及如何进行脚本的编写和查看运行效果,从而引领学生编程入门。
  3.1.2  将程序流程化,帮助学生理解程序设计的思路
  在进行编教程教学时,教师应结合范例带领学生梳理程序的设计思路,理解程序中每个结构模块的意义与作用,在此过程中,可以借助流程图,使程序流程化,更加清晰直观的向学生展示程序的设计思路与流程,并更加准确的理解和掌握各个程序结构的功能,会学以致用。例如在Scratch的入门范例《捉迷藏》中,教师可以带着学生一起梳理脚本(见图1)的流程并理解脚本的含义,在此基础上进一步理解程序设计思路,并画出对应的流程图(见图2),从而使学生能更好的理解程序的执行步骤。
  利用流程图将算法图形化,不仅能直观清晰的表述问题,还能培养学生独立思考问题,分析问题的能力,锻炼学生的创造性思维。
  3.2  结合“编程一小时”的课程教学,引导学生自主完成设计
  3.2.1  基于“编程一小时”的课程教学
  教师在进行编程教学时,可根据学生的年龄和理解问题的能力选择合适的“编程一小时”课程,并引导学生按照课程教学内容自主完成程序设计。例如课程2里面第8节蜜蜂:循环(见图3),学生可以按照说明里的提示以及左边画面的显示窗口,在左边操作窗口内进行积木的拖拉来实现程序要求,从而理解和掌握循环模块的含义和使用。当完成模块搭建后,学生可以查看当前模块的代码,(见图4)从而逐步了解和学习该模块代码的编写,有助于后期培养学生的代码编写能力。
  3.2.2  基于“编程一小时”的教学课程设计
  (1)将“编程一小时”与中小学的学科相结合
  在编程教学后期,教师可将编程和其他课程相结合,正如米切尔·雷斯尼克所说,儿童不是在学习编程(Learn to Code),而是“用编程学(Code to Learn)”,将编程视为一种新的表达方式,同时编程也可以作为学习其他学科的媒介[8]。可视化编程语言的出现重新唤醒了教育界对编码的兴趣,编程不再是作为一种工具,而是一种发展其他技能的媒介,以改善学生的学习动机和结果[9]。“编程一小时”相比其他高级程序设计语言更适合中小学阶段学生的学习,且能够锻炼学生的逻辑思维和创新意识,与所学的其他学科相结合也给更能帮助学生理解课程的逻辑和思想。例如早期的编程教育内容适合以中小学数学知识和数学常识为基准,在此之上引入编程的相关知识,在提升数学素养的同时,使学生初步的了解编程方面的知识。在有了一定的编程知识和数学素养的条件下,可以将编程作为学习数学的辅助工具,从问题入手,利用编程来解决数学问题,进一步将编程实践与数学相结合。编程教育在保持与数学相关联的同时,还可以增加与物理,化学,生物等课程的关系。物化生等学科的抽象性较强且与数学也有着紧密的联系,在使用编程解决问题时会经历识别问题类型,建立数学模型,寻找合适算法,代码实现解决等几个过程,可以很好的培养学生的编程思维与能力。当学生理解和掌握编程知识后,编程教育的内容可以在保持与其他学科的联系下,增加计算机领域的其他相关课程,如人工智能,数据库等。论文以中学数学为例,选取其中的一个知识点进行教学设计,为中小学编程能力培养的教学设计提供一定的说明与借鉴。   (2)教学内容分析
  循环、分支、顺序等基本的程序结构同样也普遍存在于数学学科中。利用“编程一小时”来进行创作,将数学问题形象化,可以加深学生对数学概念的理解,同时,在程序设计的过程中也锻炼了学生的计算思维。教学设计选择分段函数这一知识点,目标是使学生掌握分段函数的定义,理解并会计算分段函数的定义域和函数值,学会用分段函数的知识解决实际问题,体现了程序设计中的分支结构,只有进行正确的条件判断和分段,才能使程序输出预设的结果,让学生懂得完成一个作品需要先明确作品的概念,接着进行设计,最后用代码实现设计。学生可以结合题目背景,在“编程一小时”中设计相应的动画角色和动作,并思考如何设计动画的分支,不断调整直至最终作品能够符合题目背景的要求。中学生已具备一定的探究能力、逻辑思考和设计建构的技能,能够动手创作出较为复杂的游戏、动画等个性化项目,为教学的展开提供了前提条件。
  (3)教学设计
  教学进程遵循教学模式展开,教师和学生在每个阶段的每一步骤中都有与之相对应的实践活动。教师根据题目要求引入相应的问题情境,即探究问题背景中各变量之间的关系和定义域的确定,使学生能够理解程序项目创建的背景,在问题呈现步骤中教师需要引导学生明确基于“编程一小时”项目创建所需的角色、背景等并完成导入。此后,阐述项目任务,可以通过创建游戏和动画故事合理表示各变量之间的关系和分支的界定,使学生对任务表征有大致的了解。当学生自主完成程序设计后可以开展分享交流的活动,同学间互相评价并提出建议,学生可通过查看代码的方式来了解和学习基本的程序结构和框架,具体教学设计见表1。
  3.3  引导学生自由创作,培养学生的创造力
  在编程教学的后期,教師可以引导学生在前期学习的基础上发散思维,利用所学习的各个程序模块结合自己的想法,自由创作,也可以分小组进行,组内成员间共同设计并编写出自己的程序,从而培养学生的创造性思维,提高学生解决问题的能力。同时鼓励编程基础好的学生在现有的计算机技术上进行改进创新,提出新的问题,或参加青少年编程比赛,通过实战经验的积累锻炼学生的编程能力和创造力,以达到对于编程的完全掌握和使用。与此同时,编程教育的教师,也要与时俱进,不断学习新的知识,培养自身的创新意识与理念[10],这样才能更好地培养学生的创造力。
  4  结语
  互联网技术深刻的影响着社会生产和生活,随着人工智能时代的到来,编程也越来越重要,并逐渐受到人们的重视,中小学生作为时代未来的缔造者,其编程能力的培养也备受关注,“编程一小时”和Scratch以一种形象直观的编程方式帮助学生在创作的过程中学习编程、发散思维、表达自己的想法,教师借助“编程一小时”和Scratch进行编程教学可以极大地激发学生的学习兴趣,通过引导学生从编程入门到自主学习和创作,培养其独立思考和解决问题的能力,有利于更好的培养学生的编程能力。
  参考文献
  [1] NMC Horizon Report [EB/OL]. [2018-10-05]. http://www. nmc.org/nmc-horizon-news/nmc-and-cosn-release-the-horizon-report-2017-青少年-edition.
  [2] 国务院新闻办公室. 新一代人工智能发展规划[EB/OL]. [2018-09-10]. http://www.scio.gov.cn/34473/34515/Docu-ment/ 1559231/1559231.htm.
  [3] 凌秋虹. Scratch在小学信息技术课堂中的应用与实践[J]. 中国电化教育, 2012(11): 113-116+129.
  [4] 张子仪, 刘文静, 焦宝聪, 董黎明. 面向逻辑能力培养的编程课程教学设计研究——以Scratch为例[J]. 软件导刊, 2019, 18(06): 216-220.
  [5] 孙丹, 李艳. 国内外青少年编程教育的发展现状、研究热点及启示——兼论智能时代我国编程教育的实施策略[J]. 远程教育杂志, 2019, 37(03): 47-60.
  [6] Joan Youngquist, Jann Pataray-Ching. Revisiting “Play”: Analyzing and Articulating Acts of Inquiry[J]. Early Childhood Education Journal. 2004 (3).
  [7] 刘慧. 与课改共成长——浅谈信息技术新课改的教学实践及反思[J]. 软件, 2012, 33(10): 134-135.
  [8] Resnick M. Learn to code, code to learn [EB/OL]. (2018-12- 03)[2019-11-15]. https://www.robofun.org/blog-1/2018/12/3/ samplekidstechnology-and-the-internet.
  [9] 孙立会, 周丹华. 基于Scratch的儿童编程教育教学模式的设计与构建——以小学科学为例[J]. 电化教育研究, 2020, 41(06): 75-82.
  [10] 兰春霞. 浅析在计算机教学中学生创新能力的培养[J]. 软件, 2012, 33(09): 129-130+137.
其他文献
摘 要: 由于新冠肺炎疫情的影响,高校师生无法开展课堂教学,因此很多学校利用多种互联网+平台积极开展线上教学,互联网+互动教学也成为各大高校信息化教学的主要方式。本科课程“面向对象程序设计B”是针对大三本科生开设,主要侧重于编程基本技能训练和面向对象概念讲授的重点课程。然而在在线教学过程中,教师们会遇到诸如无法面对面高效与学生互动、代码展示不便或复杂概念无法有效解释等问题。因此本论文将重点对互联网
期刊
摘 要: 本文基于Funcode平台,以“小小饥饿鲨”游戏为例,研究儿童益智类游戏的设计与开发方法。代码采用了C++面向对象程序设计方法,结合平台提供的事件处理函数实现游戏的功能,游戏中玩家通过不断吃掉指定类型的鱼来获得相应的生命值,并且在获得相应数量的生命值后不断升级。  关键词: Funcode平台;游戏开发;软件设计;儿童益智  中图分类号: TP3 文獻标识码: A DOI:10.39
期刊
摘 要: 为了使大地坐标系满足卫星和航天器以及大地控制点的需要,本文通过QT软件编制出一种能将CGCS2000坐标系与地心参心坐标系相互转换的程序。首先将CGCS2000大地坐标系转化为空间直角坐标系,再通过七参数转换将空间直角坐标系转化为目标坐标系的空间直角坐标系,最后将目标的空间直角坐标系转化为目标的大地坐标系。运用程序进行批量计算与检验,精度满足要求并提高了坐标系的转换效率。  关键词: 地
期刊
摘 要: 在抗击新冠疫情的背景下,如何选用神经网络模型高效、快速地检测人的面部是否佩戴口罩成为技术热点。在实际人脸口罩检测场景中,要求模型能够尽可能快地输出判别结果。本文针对目前几种主要的轻量级检测模型:PyramidBox-Lite模型、基于SSD算法的Keras模型和基于CenterFace的口罩检测模型,在不同的数据集下做综合测试,并利用单帧图像处理速度、检测分类正确率两种指标对各种方法的性
期刊
摘 要: 构建基于企业微信的医学院校实习生管理教育平台,有助于医学院校加强和改进实习生的教育管理模式,提高实习生的思想教育实效,促进医学院校的学生教育管理信息化。通过应用企业微信的第三方开发模块功能,实现基于企业微信的实习生管理与教育平台的构建。  关键词: 企业微信;实习生;管理与教育平台  中图分类号: G434;TP39 文献标识码: A DOI:10.3969/j.issn.1003-
期刊
摘 要: 中國饮食文化经过数千年的发展,形成了以汉族饮食为主流的民族特色,蕴含着多样的文化内涵。为了充分了解饮食文化的各个方面,利用GIS的空间信息管理功能、SSM框架集、MySQL数据库等关键技术,将其引入饮食文化数字化建设中,设计建立中国饮食文化信息数据库,实现对中国饮食文化基本情况的空间分布和时空演变的展示。该系统同时能提供对中国饮食文化信息的存储管理、检查查询和统计分析等功能。从地理空间视
期刊
摘 要: MVC架构作为一种经典的软件架构,多年以来被业界广泛使用。但由于MVC代码复杂、效率低下等缺点,很多研究尝试对其进行改良。近年来,伴随着RESTful API的提出,以及前端框架的流行,前后端分离架构逐渐开始取代传统的MVC架构成为业界主流。本文基于前后端分离架构提出了一个由客户端、接口和数据库构成的最简模型,在该模型的基础上又提出了一个简洁、高效的产品设计模式(DASP)。并以一个电子
期刊
摘 要: 本文提出了一种基于RANSAC平面分割和PCA特征提取的移动背包Lidar点云地下管廊特征保持的数据精简方法。首先基于移动背包获得地下管廊原始点云数据;然后利用RANSAC算法对目标点云分割并识别出含有管廊整体轮廓信息的面状点云;最后对所识别出的面状点云基于PCA算法和通过设定投影向量角度阈值提取出管廊特征轮廓数据。试验结果表明,该方法能够有效快速地提取出地下管廊点云数据中的特征轮廓目标
期刊
摘 要: 血糖浓度不同的血清样品被相同波长的光激发后,得到各个血清的荧光发射光谱,通过对光谱分析以及数据处理后可以得到血清中血糖浓度的大小。实验结果表明,血清的发射波长约为470 nm,激发光波长相同时,随着葡萄糖浓度的增加,得到的光谱图中波峰处的光强也增加,另外波峰的半峰宽减小,曲线波峰的面积也越大。可以由这些特征值预测血糖浓度。  关键词: 光谱分析;荧光分析;血糖  中图分类号: O433.
期刊
摘 要: 随着人工智能的兴起,以人工智能为核心的虚拟助理不断涌现在民用市场上,为民众提供实时的信息支援服务。通过借鉴虚拟助理在民用领域的应用,本文提出一种面向信息化保障领域的虚拟助理应用设计,利用虚拟助理强大的信息处理能力解决军事保障中信息量大、任务繁多的难题。本文从装备保障、人员保障、决策保障和售后保障四个角度构思了虚拟助理在信息化保障的应用方向,将虚拟助理的信息支援融入军事信息化保障领域,提升
期刊