初中编程课程教学中的常见问题与应对策略.docx
6页初中编程课程教学中的常见问题与应对策略 周明柯 奚晓枫培养中小学生的编程能力已经成为我国基础教育改革的新热点,基于编程课程的人工智能教育已经上升为国家战略2017年国务院出台的《新一代人工智能发展规划》指出:要实施全民智能教育项目,在中小学阶段设置人工智能相关课程,并逐步推广编程教育教育部教师工作司司长任友群指出:人工智能教育的目标是素养培育,抓手是编程实践,核心是实施不同层次的编程教学并培养学生的计算思维在这样的大背景下,我校在初一年级开设了选修课程《编程与计算思维导论》该课程以Python语言作为编程教学语言,旨在培养学生的编程能力与计算思维在一学期的教学实践后,笔者总结了教学过程中常见的四大问题,并针对性地提出了相关的应对策略● 问题一:计算机基本操作能力缺乏1.问题描述本课程使用的编程语言Python是一种字符型编程语言,学生需要利用键盘输入程序代码然而,对于初一年級学生来说,打字这一计算机基本操作仍是一种挑战虽然电脑打字技能是小学信息技术课的内容,但是这并不足以让学生真正地掌握熟练的打字技能另外,如今学生在家使用的都是和平板等触摸式输入设备,平时使用键盘进行打字练习的机会很少。
因而,很多学生在课堂上表现出较弱的打字能力,输入一个简单的程序都需要很长时间与此同时,不少学生对切换输入法这一计算机基本操作也不熟练通过对桑田系统中学生数据的分析,笔者发现有大约四分之一的学生出现的程序错误源于其程序中的中文标点符号在高级程序设计语言中,标点符号是非常重要的分隔符,如引号、逗号、分号等但是,程序中作为分隔符的标点符号必须是英文符号,不能使用看上去相似的中文标点然而,笔者在课堂观察中发现,不少学生在输入代码时使用中文输入法,有的学生甚至不知道如何在中英文输入法之间进行切换在这种情况下,许多学生在程序中错误地使用了中文标点更重要的是,编程中常见的英文标点符号与中文标点类似(如中文的逗号和英文的逗号),当程序由此出错时,学生很难发现并纠正这种错误2.应对策略从以上描述可以看出,学生缺乏的计算机操作技能是熟练的文字输入技能以及中英文切换的能力笔者认为,可以在编程课程正式开始之前,对学生进行1~2课时的打字训练,尤其是英文打字训练,帮助学生熟悉键盘输入的方法虽然课程的总课时并不宽裕,但正所谓“磨刀不误砍柴工”,学生打字能力的提升能够提升教学效率根据笔者的经验,在课程的中后期,多数学生已经能够熟练地输入代码,教学效率也有了大幅度提升。
对于中英文输入法切换的问题,笔者认为在课程初期也进行一些训练,并教会学生辨别中英文标点,定能事半功倍● 问题二:英语拼写的困扰1.问题描述因为Python编程的语句都是英文单词或者单词缩写,所以正确拼写这些单词成为学生进行编程的一大挑战在Python编程中,不少单词学生还没学过,因此完成拼写较难例如,Python中的random包可用于产生随机数,但是random这个单词学生还没有学过,因此在编程过程中经常拼错另一个例子是错误地拼写math.sqrt()函数Sqrt是英文Square Root的缩写,意思是求平方根虽然学生学过这两个单词,但是这两个单词连在一起时的意思他们并未学过,因此常常出现拼写错误,如错误地拼写成sprt、srqt等根据桑田系统的后台数据,笔者发现学生经常拼错的Python关键词和函数有import、random、input、float、print、sqrt等2.应对策略要在短时间内提升学生的英语能力尤其是词汇量并不容易,但是帮助学生学习Python编程相关的英文词汇不是难事对于英语拼写问题,笔者认为可以分两步走:第一,在备课时,罗列出课程内容所涉及的英文单词,并在上课时进行讲解。
第二,在上课过程中,观察总结学生容易拼写错误的单词,并强调这些词汇的正确拼写方式● 问题三:对计算机智能的错误假设1.问题描述通过观察桑田系统的后台数据,笔者发现大约三分之一的学生出现的错误与Python编程的语法有关,而其中的大部分是因为学生使用了模糊的语法编程语言要求程序的每一条语句都有准确的意义,不能有歧义,否则编译器或者解释器就会报错而初一年级学生作为初学者,常常忽略语法的精确性,并使用自然语言的表达方式来编程在笔者的课堂上,一个典型的例子就是学生使用print函数输出多行文字时,常常使用一个print函数,然后将输出内容写成多行这种方式在日常写作中并没有错,但是在Python编程中需要用多个print函数来实现当笔者问学生为什么用这种方式实现多行输出时,他们的回答非常一致:“我觉得电脑能够理解我的意思也许是受到科幻片的影响,或者是在日常生活中我们的计算机总是显得那么智能,学生有了一个错误的假设,那就是计算机很聪明,能够理解我表达的意思然而,实际上计算机并不聪明,它只能执行非常精确的指令在程序设计中,这一点尤为突出,每一行代码都不能有歧义2.应对策略如何让学生明白计算机只能理解精确的代码呢?笔者认为构造认知冲突是一种有效的策略。
所谓认知冲突,就是将错误展示给学生看,让学生明白自己一直秉持的观点是错误的在教学中,教师可以展示一个错误的程序,并详细解释错误的原因,最后将修改错误的过程演示给学生看,从而帮助学生理解为什么自己原先的理解有错误在演示过程中,教师要强调计算机并不像人一样智能● 问题四:数学知识不足1.问题描述在课程进行过程中,笔者发现学生数学知识不足也是他们学习编程的一大障碍首先,在编程中有不少概念与数学息息相关,如变量、函数等初一年级学生刚开始学习代数,虽然已经知道了方程、变量等数学概念,但是他们对这些概念的掌握还不深入且经常和编程中的相似概念混淆变量这一概念就是一个典型的例子在编程中,变量有名称,也有类型,一个Python变量可以是整数、小数,也可以是字符串,在进行变量运算之前,先要考虑变量的类型以及它所支持的运算例如,将一个整数型变量和一个字符串相加,程序就会出错然而,在数学中,变量不存在类型特征,变量之间的运算也没有类似的约束因此,很多学生常常混淆数学和编程中的变量概念,当程序出错时,也很难理解错误的原因另一种情况是编程中的相关概念在数学课上还没学过,如函数、平方根等函数是编程中最重要的概念之一,但是初一年级学生还没有学习函数相关的数学知识,因此他们在理解编程的函数概念时就会遇到一些阻力。
2.应对策略对于数学知识不足这一问题,笔者认为可以从两个方面着手:第一,对于数学上已经学习过且容易混淆的概念(如“变量”),在教学中应该对比这一概念在数学和编程中的异同点,帮助学生理解这个概念在编程中的独特之处第二,对于数学上还没有学过的概念(如“函数”),我们可以在课程中对这类概念进行详细的介绍如果某个概念在数学或者其他学科中也存在,只是学生还没有学习到,那么从本学科的角度先进行概念介绍,这样能够帮助学生更顺畅地理解这个概念随着人工智能教育的发展,编程课程将会逐步普及本文主要介绍了笔者在初一年级《编程与计算思维导论》课程教学中所发现的常见问题以及相关的应对策略由于我们的课程开设时间还不长,所以本文总结的问题并不全面与此同时,在不同学校不同年级开设类似课程,教学中所面临的问题也会有所不同希望未来能够与更多同人一起来探讨编程教育中的常见问题与应对策略中国信息技术教育2019年19期中国信息技术教育的其它文章程序设计课中代码质量的可视化评判基于“雨课堂”的 美术史论智慧课堂构建与研究虚实结合,万物互联打造智能图书馆, 助力教育学院教科研教室里的摄像头与人脸识别技术师范生技术类通识教育 网络选修课程开设研究 -全文完-。

卡西欧5800p使用说明书资料.ppt
锂金属电池界面稳定化-全面剖析.docx
SG3525斩控式单相交流调压电路设计要点.doc
话剧《枕头人》剧本.docx
重视家风建设全面从严治党治家应成为领导干部必修课PPT模板.pptx
黄渤海区拖网渔具综合调查分析.docx
2024年一级造价工程师考试《建设工程技术与计量(交通运输工程)-公路篇》真题及答案.docx
【课件】Unit+3+Reading+and+Thinking公开课课件人教版(2019)必修第一册.pptx
嵌入式软件开发流程566841551.doc
生命密码PPT课件.ppt
爱与责任-师德之魂.ppt
制冷空调装置自动控制技术讲义.ppt


