张洋
〔摘 要〕 目前,小学信息科技课程的重心偏向编程教学,如何提高小学编程课程的教学效果成了普遍被关注的问题。本研究尝试将SCQA架构渗入小学编程教学设计,将其包含的情境、冲突、问题和答案四个阶段融入教学环节的四个流程,即情境导入、新知讲授、小组讨论和总结归纳,并设计出具体的师生活动内容,以实现提高小学生编程学习积极性和解决问题能力的目标。
〔关键词〕 信息科技;SCQA;编程教学;教学设计
〔中图分类号〕 G424 〔文献标识码〕 A 〔文章编号〕 1674-6317 (2024) 14 043-045
随着信息科技的高速发展,人工智能时代已经到来。编程也逐渐成为一项关键技能,且越来越受到广泛重视,国家正逐步将编程课程纳入中小学信息科技课程。小学生正处于培养编程思维的关键阶段,但是他们的认知能力和逻辑思维能力比较薄弱,传统的讲授方式教学难以提高小学生的学习效果。因此,本研究尝试将SCQA架构融入信息科技课程的编程教学中,首先设置情境吸引学生兴趣,其次在编程学习中发现冲突,进而在分析冲突中提出问题,最后得出编程问题的解决方案。这种方式有利于小学生分析编程中存在的问题,从而促进其编程能力的提升。
一、SCQA架构的概念界定
SCQA 架构是一个“结构化表达”工具,是麦肯锡咨询顾问芭芭拉·明托在《金字塔原理》中提出的,它由四个阶段组成,分别是情境(Situation)、冲突(Complication)、问题(Question)、答案(Answer)。情境是指从熟悉的场景或故事切入主题,减少切入的突兀性,增加情境的代入感。冲突是指情境中的具体内容与实际情况不符而产生的矛盾。问题是指站在对方的角度思考,上述的冲突会产生什么问题。答案是对问题的解决方式。
SCQA架构能够加快交流的效率,它是从熟悉的情境中发现冲突,进而在冲突中提出问题,最终寻找出答案的过程。编程教学过程与SCQA架构有较多相似的环节,传统的编程教学也是在发现问题的过程中,寻找问题的解决方法,但教师一般不会耐心地指出问题的来源是哪些冲突,也不会精心设置具有代入感和吸引力的情境。而融入了SCQA架构的编程教学可以从学生熟悉的生活场景入手,吸引其兴趣。教师在情境中设置错误的案例示范,其内容涵盖学生在编程过程中经常会出现的错误。教师组织学生以旁观者视角发现冲突,进而在冲突中寻找问题的来源,最终实现利用编程解决问题,并完成教学任务。将SCQA架构融入编程教学后,学生能运用所学知识“发现冲突”,在教师的引导下,以所学知识为基础“解答问题”。因此,本研究尝试将SCQA架构融入编程教学的过程,以提高学生的编程学习效果。
二、小学编程课程教学目标与学情分析
(一)教学目标分析
《义务教育信息科技课程标准(2022年版)》对小学高学段学生的计算思维做出要求:该学段学生需能够通过生活中的实例,用自然语言、流程图等方式描述算法,并通过编程验证该过程。在传统的编程教学中,教师一般将编程的逻辑直接以讲授的形式灌输给学生。对于情境导入,传统教学即使引入了情境案例,也多为与生活脱节且偏向应试的内容。若在编程教学中采用SCQA架构,将应试的案例内容转化为具有代入感和吸引力的生活情境,进而在后续的冲突、问题和答案等环节中不断引导学生写出能够解决问题的算法,并且在引导的过程中融入编程知识的教学,则最终可以帮助学生通过编程验证过程,以实现教学的目标。
(二)学情分析
注意力难以集中是小学生的一个特点,小学生的注意力易受外界因素干扰,较容易分散,其注意力持久性和抗干扰能力都较差。SCQA架构通过具有代入感和吸引力的情境,可将学生的注意力集中在教学活动中。
小学生正处于认知发展的具体运算阶段,其思维尚未完全成熟,因此在学习编程过程中可能会遇到许多与实际情况不符的冲突。然而,若学生在课堂上逐一提出这些冲突,则可能会导致课堂效率下降。若将SCQA架构融入编程教学,教师可以将学生常见的冲突情况设置在情境案例中,引导学生从旁观者的角度发现情境案例中的冲突。这样的方式,可以将学生可能遇到的冲突集中呈现,让学生在发现案例冲突的同时,也避免自己再遇到类似的冲突,提高课堂的教学效率。
小学生的问题解决能力尚处于发展阶段,通常难以独自解决一个完整的编程任务。这个阶段的学生缺乏系统性思考和全面性解决问题的能力,对于复杂的编程任务可能感到挑战性较大。他们需要分步骤地引导以解决问题,并帮助其逐渐培养起更为独立和全面的问题解决能力。SCQA架构有助于教师引导学生的思维过程,帮助他们提出问题并解决问题,使得学生在教师的引导下完成编程内容的学习。
三、基于SCQA架构的小学编程教学设计
(一)情境(S):設置具有代入感和趣味性的生活情境
编程的目的往往是为了解决生活中的问题。在引入编程新知识前,教师应将学生引入真实的生活情境中,熟悉的生活场景能使学生产生代入感。同时,SCQA架构中的情境对应着教学环节中的情境导入,其目的一般是吸引学生的兴趣,使其注意力集中于课堂教学活动。因此,教师应该同时注重情境的代入感和趣味性,以充分发挥SCQA架构中的情境效果。
教师在设置情境内容时,应包含一些具体的实际案例,案例是用于解决情境中的困境。例如情境中呈现了一种生活困境,而案例中应包含对于这种困境的编程解决方法。此处的重点是对案例的选取。教师应在案例中设置一些错误的编程方法,使得该案例无法直接解决情境中的困境,这样设置的目的是引导学生从旁观者的角度发现错误和冲突,锻炼其发现错误的能力。同时,学生可以自我反思编程过程中是否出现过类似的错误。
教师对情境的选择需遵循以下原则:设置的情境应与本节课编程知识相关性较强,这样能够更好地引导学生从情境过渡到本节课的编程知识内容,学生分析情境的方向也能较大程度地与本节课的讲授方向一致。这样可以提高课堂效率,教师后续就可以把时间放在讲授具体的编程实现方法上。
(二)冲突(C):在情境案例中发现冲突
教师在此阶段的任务是引导学生对情境案例进行分析,以发现其中存在的错误和冲突。然而,学生分析的过程往往是基于直觉思维,直觉思考往往看似合理,但结果一般存在错误的逻辑。特别是对于思维尚未成熟的小学生来说,这是编程中常出现的情况。另外,学生对教师提供的案例一般不会产生怀疑,通常会认为案例本身不存在错误。基于以上两点原因,学生可能难以发现情境案例中的冲突。
对于此类问题,笔者提供一种教学方式以供参考:教师可以组织学生利用图形化编程工具,复现情境案例。学生通过自己动手编程,验证编程是否存在冲突。在此过程中,教师对案例中的新知识点进行讲授,帮助学生解决复现过程中的困难。这种方式能够将抽象的逻辑具体化,有利于学生快速发现冲突。
(三)问题(Q):在冲突中提出具体问题
在上一阶段,情境案例和实际情况产生了冲突,教师下一步的任务是梳理学生的思路,引导学生在沖突中提出具体问题,帮助其对问题进行具体分析。至于引导的方式,笔者认为可以从冲突入手,进行逆向分析,找到问题存在的位置。例如,一个唯一解的编程问题产生了多个结果。这些结果必然是在某些代码语句下输出的,而这些代码的位置暂时未知。因此,教师可以引导学生从结果开始逆向推理,找到该代码的具体位置。学生分析该处的条件判断逻辑是否出现错误,进而对条件判断语句提出具体问题,以便于下一阶段找到答案。同时,教师在此阶段可以开展小组讨论,让学生将自己提出的问题与周围同学进行讨论交流,在讨论中明确具体的问题。
(四)答案(A):在具体问题中寻求答案
在上述教学环节中,学生在情境中发现冲突,对产生冲突的原因进行分析,并在冲突中提出了具体的问题。接下来教学进入SCQA架构的“答案”阶段,教师需引导学生寻找解决具体问题的答案。这一阶段也是教学环节的“总结归纳”阶段,教师应将上述“情境”“冲突”“问题”阶段的内容重新梳理和回顾,便于学生寻找问题的答案。例如,学生对案例代码中某处的逻辑提出问题,接下来就应该寻找问题的答案。至于寻找答案的方式,笔者认为教师可以引导学生代入特殊值去试错,在试错过程中找出正确代码语句的特点,进而推理出抽象的条件判断语句,即找出编程问题的答案。小学生更擅长于理解具体的数值,如果学生首先思考的是抽象的条件判断语句,则很容易出现逻辑错误,甚至后续会出现新的冲突。而笔者提供的这种方式的优点在于:从具体的值入手,逐渐推理出抽象的条件判断语句,这有助于学生理解代码并找出答案。
编程教育是目前信息科技教育的重点内容,特别是对于小学生来说,应使其体验编程设计的奥妙与乐趣。笔者发现SCQA架构与编程教学的相似之处较多,设计出将两者融合的框架,并阐述了具体的实施过程。本研究在小学编程教学模式上进行创新,通过SCQA架构的情境提高了学生的学习积极性,进而使学生发现冲突、提出问题并找出答案,以培养其问题解决能力。笔者期望该模式能为信息科技教师开展编程教学工作提供参考,同时为小学编程教学指明方向。
参考文献
[1]徐中收,朱业标.基于SCQA架构的中小学心育活动课教学设计[J].中小学心理健康教育,2019(24):29-30.
[2]中华人民共和国教育部.义务教育信息科技课程标准[M].北京:北京师范大学出版社,2022.
[3]王璐阳.“血中探秘:探究血型及其遗传的奥秘”复习课教学设计[J].生物学教学,2023(6):44-46.