沈培红
浙江省杭州市紫金港中学310000
一、主题与背景:
在教育部公布的《2019年教育信息化和网络安全工作要点》中提到:将启动中小学生信息素养测评,推动在中小学阶段设置人工智能相关课程,逐步推广编程教育。虽小学阶段已经接触过图形化编程,但是在初中编程教学实践中发现:初中生学习语言类编程有一定的心理恐惧,恐惧主要来源于代码——英文单词,理解难度较大,不易接受。现疫情期间,学生无法上机验证代码,少了成功的体验,编程教学更显枯燥乏味。本节课主要探索在疫情背景下,研究利用单词认知、程序分解等形式简化Python编程教学任务单,破除学生对编程的误解与恐惧,让课堂更具趣味性,提升学生的编程能力。
二、情境与描述:
【对比情境一】
1.计算机教室:
课堂上,学生根据测试结果,复制粘贴程序到电子任务单;课后教师通过批改学生的电子任务单,对学生的整节课学习效度进行评价,下节课做一个成绩反馈。
2.普通教室:
课堂上,学生边听边在纸质任务单上做好笔记;学生利用纸质任务单进行小组讨论;课后教师通过批改纸质任务单,对学生的学习状态、专注力情况和学习效度进行全方位评价,在任务单上给予正确的批改,下节课返还给学生,作为查漏补缺和学期末复习的依据。
【对比情境二】
1.计算机教室:
师:同学们,刚才老师运行了turtle.forward(200),小乌龟出现了什么行为?
生:向前进了一段距离。
师:对,走直线用到的一个函数是forward(),具体的用法是turtle.forward(distance),distance是距离,指具体的数字。相反如果是后退,我们需要用到backward,同学们一起来写写看,完成任务一:让turtle后退200。
生:上机验证:turtle.backward(200)
.png)
2.普通教室:
师:同学们,课前我们先来玩个小游戏,猜猜下列单词的含义并连线。
生:(在教师的激励与引导下,逐一对本节课所学语句中的单词进行认知。)
师:请将刚才我们所了解的单词与其含义进行连线,完成任务单上的启发导学。
生:快速完成连线,对单词进行了二次理解与认识。
师:turtle库是Python自带的一个库,具有绘图功能,我们把它称之为小海龟。小海龟可以绘制很多图形及路线,但是如果要使用,必须要召唤这个海龟,那么从我们刚才所学习的单词中,你觉得那个单词用于召唤最合适?
生:import(导入)。
师:非常好!我们可以使用import turtle来召唤,但是还需要配套一句:turtle.shape(“turtle”),将形状设置为海龟形状。
师:首先我们可以让它做个最简单的动作——走直线,那么同学们说说看,刚才我们的单词认知中,哪个Python走直线,走直线用到的一个函数是forward()。
.png)
【对比情境三】
1.计算机教室:
师:学过了前进、后退、左转和右转,请同学们完成任务三:利用turtle库绘制一个正方形。完成进度较快的同学可思考提高题。
.png)
2.普通教室:
师:学过了前进、后退、左转和右转,请同学们完成小海龟作图,让小海龟绘制一个正方形,主要以填空的形式完成。完成进度较快的同学可思考提高题,请写出完整代码。
.png)
三、问题与讨论:
在疫情背景下,学生在普通教室上课,缺乏计算机的硬件支撑,教师如何设计任务单使编程更有趣,教学更有效?
对比情境一衍生第一问:从电子任务单回归纸质任务单,是否是退步?哪个更利于开展教学?纸质任务单是只适用于疫情教学下吗?
对比情境二衍生第二问:针对编程代码中的英文单词,通过验证推理学习的方式好还是教师利用导入开展单词认知启发更好?
对比情境三衍生第三问:课堂任务单中以填空形式为主还是以编写整个程序的形式更好?
四、诠释与研究:
计算机教室授课时电子任务单作为学生的主要学习载体,通过电子任务单的描述完成教师布置的任务,也是作为一个评价的重要依据。但是疫情背景下,电子任务单逐渐转为纸质任务单,是否是一个退步?其实并不然,在实践中发现,纸质任务单对学生的学习状况会有更好地帮助。从纸质的任务单上可以反映较多方面问题:
1.学生的学习态度是否认真,从写字的端正程度可以判定学习状态。
2.学生的课堂听课是否专注,从笔记的认真记录情况来判定专注度。
3.学生的课堂掌握是否全面,从任务的完成情况来判定其学习效率。
当然在我们的编程教学过程中,少不了需要实践验证,所以在任务单中设计拓展任务,让学生带着任务单回家实践操作后截图上交,实现了很好地对课堂的补充和实践。教师通过纸质任务单和拓展任务的批改,可以多方位了解学生的掌握情况并能及时将问题反馈在任务单,随后下节课反馈给学生,学生通过纸质任务单可以做到很好的复习作用。
因此纸质任务单在编程课堂的应用还是有必要的,而且不仅仅适用于疫情当下,可以作为常态化的教学手段来辅助。那么任务单的设计就特别关键。
在有计算机硬件支撑下的课堂,教师往往会采用任务驱动法,通过边讲解程序代码,学生边动手验证,逐步完成知识点的讲授。在编程的学习过程中,对于英文单词的含义主要通过教师讲授或程序验证所获取,对于单个语句而言,学生相对更喜欢验证式且在实践过程中更容易记住。但是往往一节课需要讲解多个程序代码,此时学生的不断验证和尝试就会给学生带来一定的逆烦,会产生不愿意学的心态。那在普通教室,没有计算机验证的前提下,如果让学生更快更轻松地认识语句中的单词,这就需要对任务单进行合理设计,在对比情境二中的普通教师,老师通过“单词认知导学启发”,将整节课所用到的单词进行罗列,通过游戏化地对单词进行初步的认知,消除对程序的恐惧,然后通过教师逐步引导,将对应单词与语句相关联,应用于编程中。所以说在疫情背景下,普通教室的编程教学可以充实任务单的导学部分,通过单词认知启发导学、游戏化的讲授形式让课堂趣味化。
在计算机教室上课,对于程序的讲解,教师多用微课引导,结合学生的自主探究,例如:任务为编写一个绘制正方形的代码。在计算机教室上课,往往教师会要求学生通过自主探究,将测试成功的代码拷贝至任务单即完成。但在疫情情况下,学生无法及时验证对错,如果要求填写整片代码,首先难度较大,其次缺乏趣味性。所以需要将任务单进行简化,将程序编写简化为由程序填空逐步向编写代码拓展,也是将导入启发时所学的单词进行运用的一个过程。通过让学生在填空中收获成就感,再逐步提升,通过类比形式让学生模仿创作一个新的程序,激发创作的兴趣,提升编程理解能力。
通过结合简化的纸质任务单,对单词进行趣味认知,将程序进行填空式分解,通过类比模仿逐步加深学生对程序的理解,提升课堂的有效性。
五、对于设计并使用任务单的建议:
第一,根据实际需要使用任务单。在编程教学中,课型不同可能就会需要不同类型的任务单。电子或纸质主要取决于哪个更能促进当堂课学生的有效学习。例如新课讲授,运用纸质任务单,通过边学边做,结合课堂听讲形成笔记;例如练习课,运用电子任务单,通过编程验证来复习要点,教师通过电子任务单检验复习成果。
第二,根据课堂内容选择适宜的单词认知。化解学生的恐惧,主要用好单词认知这一环节。代码的实质都是单词,根据内容不同选择适宜的单词,通过趣味认知、对比认知等多种方法实现对单词的基本了解,让学生简单易懂。之后将单词放入语句,整体理解其含义,这样的学习过程更符合学生的学习心理。
第三,主要采用“填空式分解,模仿式递进”任务单模式。任务单是学习的载体,从易到难,逐层递进。通过对程序语句的分解,让学生在填空过程中理解含义,收获成就感,然后通过模仿式编写程序,逐步提升学生的理解编程能力,让学生通过不断尝试创新,培养学生的编程思维和创新能力。
总之,把复杂的程序简单化,化解学生恐惧,激发学生兴趣,让课堂更有趣更有效。