林茵
(泉州第一中学,福建 泉州 362000)
Python 是一项编程教学语言,高中编程教学中,Python 能全面锻炼高中生的计算机编程能力,通过编程帮助高中生形成缜密的逻辑思维能力。Python 的功能性较强,不仅自带数据库,还具备功能强大的三方数据容量。当前国际教育领域让人眼花缭乱的分析工具及编程语言中,Python 作为一种高频率分析工具之一,与现代人类思维习惯具有高度的统一性,这对于高中信息技术课程编程教学具有重要的促进意义。
微项目学习法区别于传统教学思想,是由崇尚实用主义的克伯屈提出的,更关注学生在学习过程中的实践性、参与性及综合性表现。[1]微项目学习法是结合高中课程教学标准,将信息技术学科教学内容,做项目化、课时化、情境化教学转换,结合该方法进行Python 教学,其价值具体体现在如下几个方面:
在高中信息技术课程编程语言教学中,借助微项目学习法开展教学,可培养高中生自身知识迁移能力,使其在新旧知识间形成密切的关联,强化记忆认知深度。[2]结合微项目教学法深入剖析问题,可使高中生主动探索和分析Python 学习与以往计算机知识学习之间存在的关联与差异,在培养高中生核心学科素养的同时,助推学生全面发展与进步。此外,在高中信息技术学习中,学生迁移知识的过程,也可以作为优化学生思维的流程,从最初的认知推理水平,上升到思维推理水平,从而更加高效、全面地掌握更多信息技术编程知识。
高中信息技术教师为学生展现课程相关内容,围绕Python 教学重点,可让学生在突破自我的过程中,不断探索更新、更多的计算机知识点,从中塑造学生更为健全的自我效能感,使其在学习驱动力的激发下,主动结合信息技术学习需求,编排Python 学习内容,从而更好地掌握计算机文本编程语言,学会将此种语言转化为带有具象化特征的知识,紧密连接文本编程与数学问题,帮助高中生深度了解编程技术的未来发展趋势。[3]此外,还可以在主动探索的过程中,让高中生站在全方位发展视角审视问题,在脑海中演绎Python 及推理思维框架,最终提升信息技术课程的学习质量。
在微项目学习法引导下,可使学生充分了解计算机编程抽象模式识别以及算法描述等知识点,借此进一步提升教学质量。教师在为学生选择相关素材时,需要深度结合学生的认知水平,优化高中生信息技术课程的思维训练目标,使Python 相关知识贯穿整节课堂。另外,教师借助微项目学习法,可紧密结合Python 理论知识和实践内容,紧扣核心知识点,依托课堂学习拓展知识范围,拓宽信息技术编程学习视野,使高中生先从浅层次了解编程,逐渐转变为深度学习,拓展高中生信息技术思维。[4]由此可见,在微项目教学法应用下,不仅可着重开发高中生Python 学习动力,还可提升高中生信息技术操作能力。
高中信息技术课程教学中,规划学习过程需要从知识本质出发,才能真正解决实际问题,促进高中生提升Python 思维。在针对信息技术课程中Python 做微项目设计时,教学目标须按照学科引领深入剖析教材知识内容,以强化学科目标设定的方式,主动衔接课程核心知识内容。[5]之后,设定微项目任务时需要分层次推进,参考课程标准、教材设计及要求,创设多样化的教学情境,促进高中生进一步完善课堂合作探究模式。
例如,围绕“掷骰子”项目教学Python 时,教师可结合课程设计要求及学生学习需求,通过编程创建和使用过程配设,分析Python 继承关系类别等。协同开发期间,须模拟出“掷骰子”Python 设计程序流程,并指点学生绘制出支持程序流畅运行的相关结构图。在确认Python 微项目时,还须带领学生确定驱动性问题,分析学习资源及编程认知工具,让学生在认知工具及编程资源的支持下,主动找出“掷骰子”程序存在的漏洞并进行针对性修改。
此外,还可以通过“掷骰子”模拟情境,让学生了解Python 中常量、变量、运算符号、数据类型等语言基础知识的变化规律,以此在学科设定背景下,全力完善微项目任务驱动内容,提升Python 教学质量。
当高中生明确信息技术课程中Python 微项目教学内容后,教师须带领学生针对编程中可能出现的问题进行事先预测,并基于宏观视角针对整个Python 项目的核心内容、关键能力进行覆盖式分析。结合多维度学习活动的体验及要求,教师在Python 教学时,可将“掷骰子”内容设定为微项目学习任务,结合编程教学要求,设计具体编程任务。
例如,教师在教授高中生围绕“单分支、双分支、嵌套分支结构进行相关条件判断”任务设计Python 时,想要完成程序的循环控制效果,就需要结合for、while 语句在程序循环中甄别breakthrough,借以确保微项目程序的执行方案满足总体发展框架。
另外,在针对高中生学习信息技术课程中优化Python 高阶思维时,教师须为学生布置“编写Python 程序模拟知识”任务。
例如:设定程序目标为“让两个骰子连续抛掷50 次,全程自动记录骰子出现的点数及频次”。
此时高中生在设定Python 程序时,可先模拟并抛掷一枚骰子的抛掷状况,输出结果,引进random 模块让骰子生成随机数字,以此类推,将骰子的输出数字制作成2D 图表,便于统计。同时,为了能够科学顺利绘制出直方图,教师还应让学生使用Matplotlib.pyplot.hist,目的是进一步优化数据可视化效果。本次设计的微项目总体程序,主要是以模拟“掷骰子”这一随机游戏的项目教学过程,指引高中生激发个人思维,思考项目程序流程的设计过程,主动且积极地绘制Python 结构图,提升Python 效果及编程能力。
为了进一步促进高中生提高Python 微项目学习质量,教师在信息技术课程教学课堂上,可将学生划分为不同的小组,教师担任引导角色,围绕任务群布置不同的微项目内容,培育高中生在学习Python 时,逐渐养成自主学习的习惯。分组学习期间,每个小组中,都可选出一名小组长,由组长为每位组员分配不同的微项目任务,组员捋顺各自的任务内容及要求,对照评价量规表,围绕微项目中承担的任务进行深度分解。一方面,需要解读并挖掘微项目课标内容,了解微项目教学新理念,将项目选择作为教学基础,制订具体的解决方案。另一方面,指导教学内容有序化,利用正向激励,完善Python设计效果。
例如,在设定模拟“掷骰子”Python 微项目进程时,须结合整体编程目标让高中生了解随机数的产生原理,并根据任务科学设定用户接收键入符,借助random 模块自动生成随机1~6 中的数字,了解不同流程的编程设定。
例如,教师为学生创设Python 情境时,可将“田忌赛马”作为微项目的情境主题,利用二维元组存储田忌之马对齐王之马的胜率,随后在枚举算法的支持下,统计出不同赛马综合的胜率。教师在创设Python 情境时,可向学生提出如下问题:
·田忌之马出场顺序有哪些?
·田忌采用何种赛马组合才能获得胜利?
随后使用交互式电子白板,为学生展示如表1 所示的赛马对战表:
表1 田忌之马与齐王之马对战统计表
在结合上述田忌赛马Python 情境后,教师可设计如下两类难度不同的程序问题,分别是初级问题和高级问题。具体如下:
1.界定问题
使用多媒体为学生展示如下问题:
“计算机Python 是否可以解决田忌赛马的概率问题,如果可以,那么程序的输入、输出、终止条件分别是什么?”
学生讨论之后,由教师在交互式电子白板上整理出学生利用学习机提交的答案:
输入方:田忌之马、齐王之马的等级;
输出方:所有赛马的出场顺序、获胜方。
2.分解问题
教师利用多媒体课件围绕下列问题为学生分解问题:
主问题:使用Python 最少经过多少个步骤才能得出田忌之马的出场方式?
分解问题:一是利用Python 自动统计出所有赛马的出场方式;二是判断每一次出场方式的获胜方是谁。
3.解决问题
该Python 环节会涉及数据抽象与表达、模式匹配以及算法设计,以此组建更完整的Python 教学流程。在计算田忌赛马的总胜率时,可按照如下编程公式计算:
田忌之马出场顺序:A-B-C;
齐王之马出场顺序:X-Y-Z。
利用Python 计算出田忌之马的总体胜出率。
利用编程可得出如下胜率计算公式:
胜率的计算结果为:
教师还可指导高中生使用2D 表格表示田忌之马对战齐王之马的胜率,如表2 所示:
表2 田忌之马对战齐王之马胜率统计表
此外,在利用Python 解决微项目“田忌赛马”问题时,教学的重点在于解决与问题相关对象及对象之间的关系,并将问题进行转化,形成计算机Python 可处理的形式,具体如表3、表4、表5 所示:
表3
表4
表5
学习成果的展评,需要师生严格把控微项目学习过程,唯有学生自主且积极地参与到Python 项目学习中,才能基于知识探索的视角,实现Python 程序设计的协同创新。在Python 支持下拓展编程知识内容时,要想提升学生的编程能力及操作水平,教师应注重培养学生在计算机思维模式下,不断强化个人编程意识,如此才能利用数据抽象表达与算法设计等过程,梳理出相关对象与对象间的关系,建立合理的数据结构,完成数据表达与知识构建。对于高中生信息技术课程学习成果的评价,需要教师以此激励高中生积极主动学习,以探索知识为起点,开辟Python 学习的创新空间,依托于延伸和拓展知识内容,让成果的展示更具价值。
例如,教师在引导高中生参与Python“掷骰子”模拟微项目活动时,可在小组合作得出初步编程成果后,在课堂上展示本组作品,小组间可以相互评价、相互学习,锻炼组员口语表述能力及语言组织能力,并基于个性特征视角,让高中生从内心深处意识到参与微项目学习活动的价值与意义。例如,在学习基础知识时教师可为不同层次的学生,设计差异化的实践任务,使其结合不同的Python 编程主题,完成各自的学习任务。例如,在解决“掷骰子”概率问题时,教师可引导学生使用Python 程序,打印并输出九九乘法表,以此将数字与数字间的关联性以图形方式直观展现出来,最终提升高中生掌握各项Python 知识的深度及广度。
传统的高中信息技术课程教学中,教学的重点主要集中在语法及算法理论层面,教学起点是基于适合利用编程解决的问题,基本不会涉及解决现实问题的环节,致使高中生不具备自主编程解决问题的能力。对此,教师可在课堂上引进微课教学手段,提前为学生发放时长短小、内容凝练的Python 微课视频,由学生课前利用碎片化时间初步了解和学习,在课前导入阶段形成一定的计算思维意识,最终为培养高中生的Python 能力提供支持。基于微项目教学法,信息技术教师在应用微课开展Python 授课前,可设计如图1 所示的计算机思维培养流程,帮助高中生梳理Python 知识学习框架,清晰把控学习进度,提升学习质量。
图1 依托于微课培养高中生计算思维的Python 教学流程
综上所述,要想进一步提升高中信息技术教学质量,提高高中生的Python 课程教学效果,须将微项目学习法充分应用于教学中,借助现代化的教学工具,帮助高中生全面提升信息技术课程学习效率及质量。一方面,信息技术教师需要整合学生当前的学习内容,确定微项目主题及发展方向,随即定义出学习目标,才能使Python 课程教学流程更加完善。另一方面,还应主动在课堂上融合计算机思维模式,让高中生参与到微课背景下创建微项目中,提高其编程能力,最终有效提升高中生的Python 能力,促进其全面发展。