郑苏 马昊学 韩金博
国务院发布的《关于新时代推进普通高中育人方式改革的指导意见》[1]中明确指出,2022年前全面实施新课程、使用新教材,德智体美劳全面培养体系进一步完善,立德树人落实机制进一步健全,适应学生全面而有个性发展的教育教学改革深入推进。《普通高中信息技术课程标准(2017年版)》[2]是在新课程改革指导下出台的指导高中信息技术课程实施的课程准则,课标中指出新课程倡导基于项目的学习方式,将知识建构、技能培养与思维发展融入运用数字化工具解决问题和完成任务的过程中。项目化学习有利于学生对知识的深度掌握,基于项目化的高中信息技术教学设计,可以为学生创设真实、复杂的问题情境,驱动学生构建知识,促进学生问题解决能力的发展,可以让信息技术科核心素養在课堂真实生长[3]。
1 项目化学习的概述
项目化学习又称项目式学习,是一种建构主义理念下以学生为中心的教学方式,与基于问题的学习、探究性学习一样,都是一种以问题为驱动,注重持续性的深入探究的学习方式。项目化学习主张学生通过小组协作的方式,以真实情境中的驱动性问题为导向[4],项目化教学开展目前没有固定的流程,但整体上大致分为项目设计、项目实施、和作品展示三大环节,经历项目规划、实施、复盘、反思、成果产出、多元评价等一系列学生自主学习的过程,设计指向具体概念性质的核心知识,促进学生对知识的迁移和深度理解[5]。项目化学习的内涵是学科常态化的教学模式,是育人标准、教学内容,学习方式、评价方式四位一体的系统变革。项目学习是从学习方式切入,切入上层的是育人标准、教学内容,下推的是评价方式,四位一体必须同时推进才能实现真正的项目化学习。
2 信息技术项目化学习设计的思考
核心素养导向的高中信息技术教学设计强调以学生为主体,注重学生的前认知,倡导创设真实的探究环境,教学设计应基于学生的高度参与、深度思维、情感内化进行开发[6]。项目化学习应凸显探究性与高阶思维的特征,对基础知识和基本技能的包容、整合程度高,能更好地提升教学价值[7]。在新课改实施过程中,项目化学习应用于信息技术教学能够建立起知识的连贯,将碎片化的知识内容融入项目设计中,让学生在探究项目的过程中实现对知识内容的理解与掌握。以必修一《数据与计算》中的第二单元算法与程序实现为例,人教版书中给出的案例为“编程控灯利出行”,通过与一线教师进行访谈交流发现,教师在课程实施过程中希望能以一个融贯三大结构的项目案例用于课堂的教学,为此设计基于高铁售票系统的项目化教学案例,将顺序结构、分支结构和循环结构融入项目。
3 基于项目化学习的信息技术教学设计流程
项目化教学设计的核心流程一般包括选定主题,制定计划、探究实施、展评分享四个大的流程。为便于项目化教学的开展,细化了项目化教学设计流程,具体分为项目概述、对应的课程标准、项目目标、框架问题、项目时间线、评价时间线、教学过程。教学过程又细化为项目实施前、项目启动、项目实施中、成果展示、项目实施后和评价计划。
4 项目式学习设计——以“高铁售票系统”为例
4.1 项目概述
“高铁售票系统”项目设计以新教材必修一《数据与计算》模块“算法与程序实现”主题的内容,通过学习Python程序设计基础的相关知识,了解程序设计的三种基本结构——顺序结构、分支结构和循环结构。学生在项目的学习中,通过绘制流程图、设计算法、编程实现等活动,体验程序设计的一般过程,熟悉程序基本控制结构的种类和流程[8],以自主探究和小组合作等方式实现高铁售票系统的账户登录与验证功能、输入健康码判断能否通行以及自动售票等功能。
4.2 对应的课程标准
新课标在必修课程模块——《数据与计算》的内容要求中提及掌握一种程序设计语言的基本知识,并能使用程序设计语言实现简单算法。能够通过解决实际问题,体验程序设计的基本流程,感受算法的效率,掌握程序调试与运行的方法。在学业要求中提出依据解决问题的需要,设计和表示简单算法,通过“高铁售票系统”的学习,学生能够达到课标中相关内容要求及学业要求的标准。
4.3 项目目标
本项目目标从信息技术核心素养出发,具体的项目目标如下:
计算思维:针对给定的任务进行需求分析,明确需要解决的关键问题;运用基本算法设计解决问题的方案,并能使用编程语言实现。
数字化学习与创新:针对特定的学习任务,运用一定的数字化学习策略管理学习过程与资源,完成学习任务,创作作品。
从项目具体的知识内容出发,具体的项目目标如下:
1) 熟悉程序三种基本结构的执行流程;
2) 掌握程序三种基本结构的程序设计方法;
3) 理解程序设计的一般过程并能描述算法;
4) 能够使用Python语言进行程序设计。
4.4 问题设计
项目化教学中合理的问题设计是教学实践的良好开端,问题在项目化教学设计过程中起着引导项目开展的重要作用,通过问题的设计,不仅能启发学习者探索项目的兴趣,还能提升学生对核心知识的应用创新能力并在问题求解过程中发展各方面的综合能力[9]。项目化教学处于不断发展中,关于项目化教学中问题设计的讨论也在不断深入。项目化学习中的问题应是具备探究性、复杂性的劣构问题,基于真实生活情境提出的问题往往没有固定的问题解决方案,需要学习者在项目实施前对问题进行系统分析,理清解决问题所需的知识储备,通过协作交流在完成项目活动的过程中逐步解决问题。
项目的开展以活动为中心,活动是对整个项目的分解,通过活动的开展来完成整个项目。因此在问题设计的过程中,不仅要有针对项目引导问题的设计,也有对活动引导问题的设计。下表1为高铁售票系统问题的设计。
4.5 项目时间线
4.6 教学过程
项目的活动设计通过整合项目时间线中活动时间线的内容,将项目分为四个活动开展。项目实施前和项目启动阶段设计活动一依据选定项目,进行学情调查,过小组分工,明确小组成员任务,进行探究与交流程序设计语言相关内容,熟悉软件界面,并清楚Py⁃thon语言相对于其他语言的优点。
活动二探究顺序结构与分支结构,活动目标为掌握顺序结构、分支结构和多分支结构的一般格式及程序设计的方法,能够编写比较复杂的分支结构程序,活動二通过三个子任务开展。
任务一:实现登录功能,利用顺序结构和分支结构实现登录功能。购票系统会根据用户输入的账号和密码,与原有的账号和密码进行匹配,若匹配成功,则输出成功登录。否则,输出登录失败,其算法设计流程图如下图2所示。
任务二:疫情防控,人人有责,在任务一的基础之上添加核验健康码的功能。如果用户输入绿码,则输出请通行,否则,输出不能通行。
任务三:优化登录验证,利用多分支结构优化登录验证程序功能。根据用户输入的账号和密码,与原有账号和密码进行匹配。若匹配成功,则输出成功登录;若账号名不匹配,则输出用户名不存在;若密码有误,则输出密码错误。
活动三探究循环结构,活动目标掌握while循环和for循环的语句格式、执行流程和程序设计的方法,理解循环控制语句break和continue,能够编写比较复杂的循环程序,活动三通过三个子任务开展。
任务一:完成账号锁定程序,在现实生活中,当进行登录密码验证时,如果连续输入错误超过一定次数后,账户会被锁定。其间只有输入的账号和密码匹配,才能进入系统。在购票系统的登录程序的基础上,运用while语句,实现每次登录有3次试错机会,如果密码连续3次输入错误,程序将结束运行,其算法设计流程图及程序代码如图3所示。
任务二:实现自动售票程序,以从银川到西安为例,要经过吴忠、庆阳、永寿西、礼泉南四个站。假设每个站点的票价都为10 元。运用for 语句、列表和range()函数等知识,尝试编程自动售票程序,实现以下功能需求:循环输出地铁站点,根据用户输入的起始站以及终点站,计算输出票价。如果票价低于20元,按照20元计算。票价高于40元,按照40元计算。
任务三:优化自动售票程序在现实生活中,售票系统的价格是根据站点与站点之间的距离来定价的,因此站点与站点之间的票价是不一样的。银川站到吴忠站的票价为29元, 吴忠站到庆阳站的票价为123元,庆阳站到永寿西站的票价为55元,永寿西站到礼泉南站的票价为18元,礼泉南站到西安北站的价格为21元。用用for语句、字典等知识内容,优化自动售票系统。
活动四成果展示与总结反思,属于项目实施后环节。小组展示设计项目、程序和算法思路等内容,对作品进行小组自评、组间互评,教师评价。学生完成“高铁售票系统”项目结项反思日志,总结开展项目期间的收获和体会。教师收集项目过程中的资料和项目成果,从项目的设计和实施的各个环节进行反思总结,为今后继续开展项目化学习积累经验,项目整体的活动设计表如表2所示。
项目化教学设计的评价涉及多种形式,高铁售票系统项目包含形成性评价和总结性评价。关于“高铁售票系统”的评价设计如表3所示。
5 总结反思
本文以“高铁售票系统”为例,将必修一数据与计算中算法与程序实现内容以项目式呈现,设计符合学生认知的项目,并将知识点贯穿其中。项目化学习在高中信息技术课程中能够从身边真实情景出发,与生活的实际应用紧密联系,使学生真正感受到学以致用,通过项目产品的制作,使学生体验做中学。但由于项目化学习所涉及的项目一般需要几个课时完成,高中信息技术课程存在课时少、课与课之间连贯性差,在项目实施过程中会与预期效果有所差距,解决这个问题需要学校、教师与学生共同努力,将项目学习融入课堂教学,真正做到全面提高学生的核心素养。