和县第一中学 238200
课题项目:和县教育科学研究2022支教课题“基于创新性编程思维的编程教学实践研究”(编号:HZJ202216)
摘要:基于项目式的编程教学已经成为目前的主流教学模式,但是由于信息课时限制和老师指导的不及时,无法提高学生创新性,本文从俩个数的加法项目不断进行改进形成新的案例,让学生在数字化环境下进行知识构建,技能培养和思维发现和创新能力的培养提供了思路。
关键词: 创新性 编程思维 教学实践
根据中华人民共和国教育部在2020年颁发的《安徽省普通高中信息技术学课程》中,注重培养学生信息素养,其中信息素养由信息意识、计算思维、数字化环境下学习和创新、信息社会化责任。课程中认为计算思维是指个体运用计算机科学领域的思想和方法,在形成问题解决的方案的过程中产生一系列思维活动,通过学习高中Python编程让学生具备计算思维能力,在信息活动中能够采用计算机处理方式界定问题,抽象特征、建立结构模型,合理组织数字;通过判断、分析与综合各种信息资源,运用合理的算法形成结晶问题的方案;总结利用计算机解决问题的过程和方法,并迁移与之相关的其他问题解决中。近几年通过项目式教学推广,高中信息技术课堂建立了以项目为基础,让学生在数字化环境下自主学习,完成任务,并创造新作品,把知识构建、技能培养、思维发展融入在项目编程的教学活动中,从而提高学生思维培养和信息素养的提升。
一、目前高中Python编程教学形式和难点
根据和县第一中学教科室在线调查问卷数据表明,对于问题“你认为高中Python编程教学有什么困难编”, 90%的教师认为是“项目教学单位化,学生缺乏解析能力和创新能力”。当前,很多信息技术教师开设了以培养学生的计算思维能力为目的项目式课堂教学模式。这些模式基本上可以总结为项目研究——解决问题——自主选题。以项目中重要的操作点为核心,在数字化环境下让学生构建知识,再进行自主选题合作。
高中学生在模仿项目编程作品过程中学习利用编程解决问题的独特思路与方法,是培养高中学生计算思维的有效策略。但在实际教学中, 编程项目比较大,一般需要好几节课程才能上完,但是高中学校一般一周只开设一节课,无法让学生在有限的时间内进行独立的思考和创新,同时由于高中编程比较困难,学生基础残次不齐,教师不能再课堂上进行有效的指导,很难达到培养学生创造能量。
二、基于简单项目的课堂教学
那么,有有限的45分钟的Python编程课程应该怎样进行呢?Python编程教育课堂至少需要2个阶段:基于简单项目的课堂和基于改进型的项目设计课堂。
创立简单的项目情境,让学生进入项目情境,让学生通过分析项目,构建新知、实施项目、展示作品、交流评价、形成可视化报告是目前主流的项目式教学方法。其中的优点是以项目为基础,建设合理的情境,让学生通过项目解决符合自身认知的问题,从而让学生在问题中学习新知,在学习新知中解决问题。同时通过案例分析后,教师提出改进型项目问题,让学生进行对知识进行分析、学习新的知识,解决新的问,从而让学生的思维能力得到不同程度的发展。
通过案例项目分析,主要是教师带领学生对项目进行分析,分析过程主要包含:组建团队、工具和方法(思维导图、头脑风暴)、项目实施(需求分析、设计算法、编写程序、运行和调试)、展示成果、交流评价、形成可视化报告。在教学的过程中,教师提供数字化学习环境和学习资料和视频,学生通过自由、自主协助分组形成学习小组,从而解决问题。其中提供数字化环境特别重要。教师要为学生创作提供相对宽松的环境,小组合作或个人独立创作均可。教师根据学生的水平实时提供脚手架引导与直接沟通。实例完成,巩固理解实例制作完成(有时考虑到课堂时限,教师会提供半成品给学生) ,教师选择合适的作品进行实时评价与奖励,同时根据作品创作流程讲解知识点,让学生巩固课堂学习。
三、以项目为基础的二次创作课堂,提高创新性
头脑风暴,创意引导,促进学生合理想象和延展思路在前一阶段学生的实例模拟完成以后,教师的适时引导会加速学生创意运转。可以借鉴头脑风暴和小组研讨等形式,还可以利用思维导图,让学生的思维可视化。思路的拓展要关注学生的能力层次,比如:能力稍弱的学生适合发散性思维的引导,可以利用角色替代或者场景拓展的思路进行创新;能力较强的学生适合对程序进行更深入的研究和二次开发。
二次脚手架作创意支持,助力学生撑杆跳学生通过头脑风暴确定创作方向进行创作。这个过程涉及到了编程教育中的计算实践与编程,对于学生来说是一个综合性学习与知识深度加工的阶段。教师设置的脚手架支持应包括相关的技能操作视频、类别小游戏实例和小程序涉及到的音效及图片等。
从作品分享到创意作品建档跟踪,实现真正的“项目参与”学生把再加工的程序上传至小组和局域网,实现分享的同时进行社会性思路链接。接受其他项目小组提供的建议并主动进行作品的再
加工创作。同时鼓励学生对其他同学的作品进行具有个人思路的再加工创作。借助项目小组,通过作品的动态发展记录个人的编程学习历程和能力提升情况。
四、基于“a+b=c”项目的Python课堂实例说明
一般普通高中的学生具备一定的编程能力,特别是在比较优秀的学生在初中学习过不同的编程语音,特别是图形化编程语言,这样在学习编程中,我们可以解释Python编程和图像化编程的相同点和不同点,并且让他们作为项目小组组长,对项目进行整体迁移,此外,课堂上,信息技术教师对学生创作情况进行实时跟踪,提升编程教学效果。
在开始的项目案例分析中,我们可以一开始给变量A和变量B进行赋值,然后设计算法,C=A+B,最后进行输出变量C。在这个过程中,我们可以引导学生想一想,在实际生活和学习中,我们从哪里输入变量A和变量B的值,我们不断的对项目案例进行修改就可以启发学生,从而引导学生进行创新。
首先,我们引导学生在实际生活中我们是如何输入数字的,这样就可以激发学生思考,我们一般是从键盘输入,这样学生就可以学习新的的知识input()函数,加深了学生对输入函数的理解。
当学生输入input()函数,从键盘输入数字的,分别给变量A和变量B赋值为1和2的时候,结果输出变量C为12,从运行和修改程序BUG中,我们引导学生进行思维为什么会出现这样的情况,学生通过查找资料指导文本类型和数字类型,学生学习了int()函数,把文本类型转成数字类型,在这个过程中提升了学生的计算思维能力。
最后,我们引导学生,为了更好进行人工交流,最好在运行程序的时候,程序能给出提示,这样就有好的人机体验。这样我们就学习在函数中添加提示文本,通过不断的修改和提示,最终形成一个复杂而完美的程序。
以上思路引导学生完成简单的项目,然后在简单项目找那个进行不断提出问题,不断的修改,从而最终的解决问题。在这个过程中学生不断的学习新知识,不断的对已学习的知识进行强化和更行,从而对知识不断的更新和构建,从而提高学生创新能力和解决问题的能力,提高学生信息素养。
参考文献:
【1】姜浪.项目式教学设计【j】中国现代教育装备,2020(3):30-32
【2】教育部.普通高中信息技术学课程标准(2020版)【M】.北京:人民教研出版社,2020