首页
Loading
您所在的位置:首页 > 教学研究 > 网络教研 > 正文

计算思维素养下程序设计项目式教学探索与实践

作者: 来源: 日期:2021/6/19 20:49:45 人气:79 加入收藏 评论:0 标签:

        计算思维素养下程序设计项目式教学探索与实践

武蓬蓬

【摘 要】本文通过分析计算思维的本质,利用项目式教学方法,对以问题解决方案为中心的信息编程进行设计,把项目分解后放在子方案内解决,让学习可持续、可操作,从而优化学习,提升学生计算机思维能力。本文以科学出版社八年级下册信息技术第二章“程序设计初体验”为例做具体阐述。

【关键词】计算思维;项目教学;程序设计

教育部颁布的高中信息技术课标明确将“信息意识”“计算思维”“数字化学习与创新”“信息社会责任”确定为信息技术学科的核心素养,其中,计算思维的提出更是将信息技术课程从工具学科转变为培养学生信息素养学科。如何将“计算思维”落实到具体的程序设计教学中,项目式教学不失为一种很好的方法。

项目式教学旨在以真实情境为背景,以学生为中心去解决真实问题。但在教学实践中,项目式学习的有些弊端也逐渐显现。课堂时间和学习内容的不协调,导致所谓项目分析、设计、交流容易流于形式,反而弱化了知识学习、思维训练和创新能力的培养[1]。而本篇将程序设计为实例,把项目分解成多个子方案进行解决,让学习可持续、可操作,从而达到优化学习,更好提升学生计算机思维能力。

笔者结合多年的教学经验,总结了一套完整的计算思维项目式提升训练流程:“思考分析→设计启发→实践论证”。在这流程中,项目方案是关键。以方案设计为解决突破点,通过分解设计子问题方案,培养学生解决问题的能力,最终达成计算思维的初步养成。

项目式教学设计的基本思想

计算思维培养的过程是分析和解决问题的过程,当学生面临问题时,引导学生分析思考,并提供一系列具有针对性的方案、流程,帮助其解决问题,整个过程的实施融入到项目教学中形成系统,则更有利于计算思维能力的提升。根据以上分析,可以从学前分析入手,到具体问题的分解,最后到针对性的方案设计来逐步实施。

1.学前分析

学前分析主要从两个方面进行:一是学生分析,对学生的知识水平、心理特征、兴趣爱好、学习情况等初步了解;二是教材分析,根据教材特点与学生兴趣设计学习项目,进行思考分析,设计项目方案,最后实施拓展项目方案达到学生计算思维的提升。

2.方案分解

项目方案的设定“基于项目的学习是学生在教师引导下发现问题,以解决问题为导向开展方案设计、心智学习、实践探索,具有创新特质的学习活动”[2]。项目方案设定要从两方面考虑:一是学习者原有知识经验,二是教学内容。方案的选择从学习者经验自身出发,将教学内容与原有知识经验建构整合。将大项目分解成若干个小项目,将复杂方案分解为层层递进的小方案,最后想办法逐一解决,最终完成整个项目。这个过程也是学生计算思维能力不断提升的过程。

项目式教学方案及流程以“出租车计费程序”为例

通过学情、学习内容、学习目标的分析,进行了具有问题情境的项目方案设计,再将问题分解成一个个子问题。最后,对所有子问题进行整合形成系统。

案例:基于计算思维能力提升的程序设计项目式教学法的是一个较为复杂的工程,本文以“出租车计费程序”为例进行具体阐述。

1.学前分析

基于项目的学习强调要让学生去解决真实的问题,本项目以一个真实的情境“出租车计费”引入主题,比较贴近学生生活,同时与项目式学习融合。

2.方案分解

利用程序解决问题一般先进行算法设计,算法是进行解决问题的方法步骤及策略,也是程序设计的核心。很多学生初次了解算法的概念,会有些迷茫,因此,首要解决这个问题,此问题描述见图1。设计算法时要用自然语言和流程图两种形式描述。

3.设计流程

将出租车计费问题用数轴分段表示,如图2所示;用自然语言描述,见图3;用算法流程图表示,见图4。平时的教学中,通过前面两种形式的算法分析,学生很容易就明白如何解决出租车计费问题了,然后再进行按钮代码的编写、调试,并运行查看结果。在本活动中,学生初次接触程序设计,通过对出租车计费程序两种形式的算法分析后,学生会了解了算法的概念及其特性,初步体验了用算法分析问题、解决问题的思路及方法。为了培养计算思维,同时教师应及时找机会传授各种经典的算法思想,如穷举法、递归法、分治法、贪心法等,并引导学生尝试把算法思想应用到平时的学习和生活实践中。

图1 问题表述

图2 问题分析

图3 自然语言描述

图4 算法流程图

4.实践论证

本活动学习算法思想后,可以将项目方案设定为让学生以小组为单位(每组5~10人),以“学习‘出租车计费程序’活动带来的思考”为主题,进行项目式情景拓展训练。(教师可以抛砖引玉:你打算如何解决出租车计费问题?关于界面设计你满意吗,有没有更好的设计?学习生活中遇到需要选择的情况,你是如何选择的?除了VB,你还知道什么编程语言可以解决?除了出租车计费问题,用学到的知识还可以解决学习生活中的哪些问题?你能尝试进行编程解决吗?你学会利用算法思想去分析问题、解决问题了吗?你还想到了什么……)这种依据项目式情景训练要经常进行,可以每单元、每个月甚至每节课,经常开展这样思维训练,相信学生用计算思维思考问题、解决问题的能力会有一定的改变。

表1 “色彩变换万花筒”案例分析

项目式教学拓展延伸之一

计算思维的培养可分为识别问题与需求、研究问题与需求、开发可能的解决方案、选择最可能的解决方案、构建原型、测试和评估解决方案、沟通解决方案、重新设计等八个环节[3]。这为我们开展计算思维培养项目式学习的拓展延伸提供了参考。

以“色彩变换万花筒”为例具体分析如何将八个环节有机融入到在这一活动中,利用VB循环语句,在窗体上绘制彩色同心圆,模拟出万花筒效果,具体环节设计见表1。

图5 “波纹”按钮代码算法流程图、其他波纹效果图

表1中提到的“波纹”按钮算法流程图和其他波纹效果见图5。

上述方案流程会让学生感觉很新奇,教师给出的方案只是起到一个抛砖引玉的作用。其实,除了上文表格中列举的各种不同波纹效果外,还可以让学有余力的学生大胆尝试设计矩形、三角形等不同的效果。鼓励学生通过多种渠道获取相关的知识,这样无形中提升了学生获取信息、加工信息、处理信息的能力。不同枝叶源于共同的根系,学会举一反三,也是学生核心素养的一种体现。

项目式教学拓展延伸之二

计算思维素养的培养是希望学生像专家那样去思考利用信息技术解决问题的方法与过程。因而计算思维下的项目设计培养不能局限于程序设计本身,还应体现在各种内容的学习中,引导学生理解与掌握利用信息技术解决问题的学科方法,从而提高解决问题的能力,发展学科核心素养。

思维导图是表达发散性思维的有效图形思维工具,它简单却又很有效,是一种革命性的思维工具,非常有利于训练学生的计算思维。笔者借助思维导图对“程序设计初体验”这一节的知识进行了梳理,效果见图6。

经过思维导图的梳理,本章的知识一目了然,这对于学生进行知识的构建大有裨益。众所周知,思维导图不仅可以用在信息技术学科,更可以用在其他各个学科,并且非常灵活方便。如一个知识点、一节课、一单元、一册书、一个学科等的知识梳理,一天的学习安排,一周、一学期的学习复习计划等。

图6 本节内容思维导图

项目教学存在的问题

前面论述的方案很好地支持了计算思维素养下的项目式教学目标的实现。诚然,可能还有更好的教学模式,如包括基于可视化编程的项目式、主题式、范例式教学等。尽管这些教学方式设计意图很好,教师运用时也各有差异,但在很多情况下受制于教学内容的约束或教学目标的完成,效果也有待进一步提升。一方面是教师对计算思维的认知不够,对项目式教学理解不清;另一方面,教师本身也缺少计算思维扎根于课堂教学的理论与方法指导。

项目教学总结与展望

项目式教学以其独特的优势,将教学的设计紧紧围绕着学生自身情况并根据学生自身的问题开展教学,根据学情和问题分析设计解答,使教学更有效地激发与培养学生计算思维能力。当然,单一运用项目式教学引领的方式去解决问题,设计的程序方案并不能全面完整,这需要同行们以后的教学中还在不断进行摸索,在原有基础上补充,不断创新项目设计方案,提高程序设计的教学效果。

参考文献

[1]宁可为,杨晓霞:基于Applnventor的初中计算思维培养实证研究[J].课程·教材·教法,2018(2): 110-111.

[2]方其桂:基于项目学习的中小学APP编程教育[J]. 课程教学研究杂志,2020(4): 46.

[3]中华人民共和国教育部. 普通高中信息技术课程标准[M]. 北京:人民教育出版社,2017: 45.


    本文网址:http://www.wzdh123.cn/show.asp?id=2745
    读完这篇文章后,您心情如何?
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    • 0
    更多>>网友评论
    发表评论
    编辑推荐
    • 没有资料