项目化学习的编程教学实践——以“用选择结构做出判断”为例
项目化学习(Project-Based Learning)是一种指向高阶思维能力的学习模式,它以项目为主线,以教师为引导,强调学生的主体性,在项目中渗透学科的核心知识和概念,通过真实的情境设定,教师引导学生对与情境有关的驱动性问题进行持续深入的探索,创造性地解决问题,并将习得的知识和能力应用到现实生活中,实现知识的再建构,促进核心素养的形成。
一、项目化学习的意义
《基础教育课程改革纲要(试行)》中将初中信息技术归为综合实践活动课程,强调学生通过实践等多种方式,增强探究和创新意识,提高综合素质和能力,这对信息技术课堂教学提出了更高的要求。初中信息技术的编程学习是学生发展编程思维和能力的重要阶段,经过小学对Scratch 图形化编程的学习,学生已具有了一定的编程思维,但在初中阶段,学生需要学习Python 语言来编写代码并设计程序,学习难度大幅度提升,加上编程本身比较枯燥,学生的学习兴趣低下。传统的教学模式很难提高学生对编程的兴趣,而项目化学习法则为编程教学注入了新的活力。
在初中编程教学中采用项目化学习法,把课堂教学内容分成一个个项目,学生在教师的引导下,在项目活动中自主探究、协作交流,在实际问题的解决中学习编程知识,全面提高综合能力。基于真实情境的项目,主题设置贴近学生的生活实际,能够吸引学生的注意力;自主探索结合小组协作的项目活动激发了学生的主动性,提高了学生在课堂上的参与度;公开的成果展示增强了学生的学习体验,进一步提高了学生对编程的兴趣。项目化学习具有的真实情境、学生主体、小组合作、多角度思维等方面的特点充分地调动了学生的主动性、积极性和创造性,并在丰富的项目活动中增强了学生将编程理论和实际操作相结合的能力,进一步提高了核心素养。基于此,本文就以“用选择结构做出判断”一课为例(以下简称“课例”),谈一谈项目化学习在初中编程教学中的具体实践。
二、初中编程教学的项目化学习实践
“用选择结构做出判断”是泰山出版社《信息技术》第1 册第二单元的内容,主要让学生掌握选择结构的基本语句和使用方法。这一单元通过学习Python 编程,重点探究如何用计算机解决问题,培养学生的计算思维和能力,需要理论和实践相结合。在本课知识性内容的基础上,结合时下的热点话题垃圾分类,设定了“用Python 设计垃圾分类程序”的项目主题,让学生能学以致用,运用选择结构解决生活中的实际问题。
1.巧设情境,确定项目。
创建真实的情境是项目化学习的重要特征。设置贴近学生生活的情境,让学生围绕情境问题,开展多学科、跨领域的实践探究活动,既符合中学生的年龄特点和兴趣,激发学生的认知热情,又能让学生更好地理解知识与情境之间的关系,有利于学生知识技能的建构和在实践中的迁移。情境的设置要遵循以下原则:①要包含能引发学生思考的驱动性问题;②情境需要结合学生的生活实际,结合学生已有的认知水平。
例如,在本项目中,课前教师先录制了一段“垃圾分类知多少”的校园采访,随机调查学生关于垃圾分类知识的积累,调查显示大部分同学有一定的垃圾分类知识,但很难做到全部正确分类。在课堂上教师首先播放了这一段视频,然后提出问题:生活中我们常会出现不清楚垃圾类别的问题,怎样可以准确地对垃圾分类?学生的回答很多,如加强宣传教育、在包装上标明垃圾种类等,只要是合理的答案都应给予肯定,并请学生进一步思考:是否可以运用所学,设计出一个指导垃圾分类的程序?这样,就引出了本节课的项目主题——用Python 设计垃圾分类程序。
2.启发思考,分析项目。
由于每个学生在学习能力、认知水平、兴趣性格等方面存在差异,他们对项目主题的理解也不尽相同,且编程对于初中学生来说仍有较大的难度,仅依靠学生的独立思考很难解决问题。因此教师需要为学生的探索指引方向,引导学生思考问题,分析项目,将一个完整的大项目分解成若干个层层递进的小项目、小问题,让学生由易到难,逐步分析解决问题。教师还应在课前根据学生的学力划分小组,将学有余力和学习困难的学生分为一组,让学生在交流合作中发挥各自的长处。
如在本课中,抛出项目主题后,学生还十分茫然,此时教师先引导学生思考:生活中我们是怎么对垃圾进行分类的?垃圾分类有什么标准?由于大多数学生已具备一定的垃圾分类知识,他们能归纳出“根据垃圾的特点进行判断”的本质,并类推出程序的分类过程,抽象出分类模型。接着展示以可回收垃圾分类为例的流程图,让学生能够从用自然语言描述分类过程,转化为用流程图描述解决该问题的算法,顺势引出选择结构的概念。
接着教师设计了一个“大家来茬”的游戏,组织学生观察可回收垃圾和有害垃圾的两个单分支分类程序,其中一个程序是正确的,另一个程序中故意设置了几处错误。借助导学小助手,协同小组合作,学生通过对比发现并修改错误,在观察探究中学习运算符和缩进格式,
掌握基本的if 语句的使用。随后教师进行小结,强调程序编写中代码的拼写和格式的重要性,并为学生讲解if 语句的基本使用方法,使学生能进一步将流程图和代码相对应,为之后的实践活动提供学习支架。
3.自主协作,实施项目。
项目的实施是项目化学习的中心环节,是解决重点、突破难点的关键环节。项目化学习以学生为主体,在实施环节,教师要改变以往全盘传授的教学模式,要为学生留有充分的自主探索的空间,让他们自己去探讨、摸索、交流,在自主探究和小组合作中习得知识和技能,进而解决问题。同时,教师也要为学生适时地提供指导以及提供资源、工具的支持,帮助学生完成实践活动。
在本课例中,项目实施阶段设计了两个实践探究活动,层层递进地实现了垃圾分类程序的设计。教师先提出问题:在可回收垃圾的分类程序中,符合判断条件的执行输出,那不符合条件的如何实现输出?提出改进分类程序的需要,自然过渡到第一个实践活动,引导学生自主探究双分支结构,使用if…else 语句完成垃圾二分类程序。接着活动探究二在活动一的基础上,要求进一步补充、完善程序,设计出符合本地需要的垃圾四分类程序(即将垃
怎样写代码 自己做编程圾分成可回收垃圾、有害垃圾、厨余垃圾、其他垃圾这四类)。这个程序需要用到较复杂的多分支选择结构,为了支持学生更好地完成项目,教师为学生提供了微课视频、学历案和电子导学助手等多种学习资源,学生自主学习多分支结构中if...lse 语句的基本结构和使用方法,完成最终的垃圾分类程序。学习能力稍弱的学生可在教师指导、同伴互助下完成项目。每个探究活动都为学生提供了程序的半成品,学生可以通过填空的方式分析、补全核心代码,既降低了编写程序的难度,又能使学生掌握关键知识点,体会程序设计的乐趣和意义。在代码补充完成后,学生还需要根据运行情况,及时调试程序。学生在补充代码、调试程序、解决问题的过程中,逐步发展计算思维,提高利用计算机解决实际问题的能力。
4.交流评价,展示项目。
项目化学习最终会产生公开的项目成果,并在体中进行交流。在公开的成果展示中,各小组交流在实践过程中遇到的问题、解决方案及收获。项目作品的展示不仅让学生的学习更有动力,获得成就感,还能促使学生回顾自己的项目历程,进行反思。对照他人的成果,学生可能会再次发现问题,对自己的作品进行补充完善。对项目化学习的评价除了总
结性的成果评价,还应有过程性评价。评价内容可以包含学生的学习态度、项目的参与度、知识掌握度、小组合作情况、项目作品等等,通过学生自评互评,教师点评相结合的方式多方面进行综合评价。项目化学习中的评价是多元且丰富的,多元主体的参与以及总结性和过程性相结合的评价策略能更客观地评价学生的表现,促使学生反思自己的学习过程,鼓励学生真正地投入学习中。
本节课例中,学生在完成项目后,先在自己的项目小组内演示交流程序,接着组内试开展情境模拟,组员分工配合模拟程序的实际应用。组内交流过后,小组可以在班级内演示程序并配合解说,在公开的成果展示中获得积极的情感体验。其他小组可以提出意见和交流评价,然后学生登录智慧教育平台上传本课项目作品,并填写《项目学习评价表》,对本节课上自己和组员的表现进行实时在线评价。学生对自己和同伴的实践过程和项目成果的评价,也能提高学生的反思能力。
5.迁移拓展,总结项目。
在项目的总结阶段,学生通过总结、归纳,借助思维导图等工具梳理本课知识框架,将本课所学建构到自己的知识体系中,为后续的项目化学习积累有效的经验,从总结反思中获
得进步。项目化学习的真实性要求解决问题的思路和方法在现实生活中是可以迁移的,因此,本阶段应启发学生充分思考,全面地反思整个项目的过程,如本项目的问题、内容、成果与收获、不足之处与优化的措施,并将本项目的知识延伸到生活的其他问题中去,发展学生的计算思维,提升利用计算机解决实际问题的能力。
在课例的总结阶段,教师帮助学生利用思维导图构建本课的知识框架,然后引导学生思考:生活中我们面临着哪些选择的情境?哪些问题可以用选择结构程序去解决?有学生提出道路上常见的“红灯停,绿灯行”就是选择的例子,还有学生提出根据目的地不同而乘坐不同路线的公交车也是选择,学生们讨论过后,教师提出一个生活实例——登录网站需要输入用户名密码,用户名和密码正确才能成功登录,并留给学生“网站登录.py”的程序,激励学有余力的学生在课后继续探讨完成。

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。