周颖:聚焦核心素养的python项目式教学

时间:2021-09-02      来源:

聚焦核心素养的python项目式教学


成都七中实验学校  


教育部颁发的《普通高中信息技术课程标准(2017年版)》明确提出了培养和发展学生学科核心素养。所谓学科核心素养,是学科育人价值的集中体现,是学生通过学科学习逐步形成的正确价值观念、必备品格和关键能力”。信息学科核心素养具体内涵包括:信息意识、计算思维、数字化学习与创新、信息社会责任等四个方面。

美国教育家凯兹和加拿大教育家查德合著的《项目教学法》一书中首次提出了项目教学法,其具体含义为知识可以在一定的条件下自主建构获得;学习是知识、技能与行为、态度与价值观等方面的长进;教育是满足长进需要的有意识、有系统、有组织的持续交流活动根据这一理论,教师通过分析整合教学内容,并根据应培养学生相应的学科核心素养的基础上,设计一个比较大的教学项目,然后再进行分解,学生通过制定计划、分工合作来开展学习活动,并通过对项目完成情况的评估来评价学生学习情况。

使用项目教学法的优点在于学生的参与意识比以往大大增加,学生真正成为了课堂的主体。目前中小学校有很多学校和教师在编程教学中,如python 教学中实施项目教学法。但目前编程课程大家比较集中关注的是学生制作作品的过程和完成作品的情况,忽略了学生核心素养的培养和发展,特别是计算思维的培养。

什么是计算思维呢?按照最先提出这个概念的学者周以真教授的定义:计算思维是运用计算机科学的基础概念进行问题求解、系统设计、以及人类行为理解等涵盖计算机科学之广度的一系列思维活动。故国际上通常认为计算思维实际上是教会学生分析问题、解决问题的思维过程。

随着《课程标准》的颁布,指向核心素养的信息技术学科教学已走向必然。在中小学阶段,特别是义务教育阶段开设如python语言的编程课程,其意义不在于教授学生编程的语言和编写代码,更重要的是以人工智能时代计算思维和创新思维的培养和发展为目标,通过让学生接受体系化的、符合其认知发展规律的编程教育,以激发学生学习的兴趣,并使其在建立兴趣的基础上,学习编程基本知识,掌握编程基本技能,培养和提升学生分析问题、解决问题的能力,动手实践能力及创新创造能力等,这对培养学生的创新能力、问题求解能力和批判性思维能力起着至关重要的作用。以后我们的学生也许不会从事计算机相关工作,但是这种分析问题、解决问题的思维方式对他们来说将会终身受益。所以,良好的计算思维成为现代多学科人才所必备的素质之一。

怎样才能更好地培养和发展学生核心素养?我们在教学过程中,通过思考和实践,构建聚焦学科核心素养的项目学习模型,见图1


QQ截图20210902172945

1 聚焦学科核心素养的项目学习模型


下面以一个案例——“《三国演义中出现最多的十个词》”,来详细说明如何在python编程教学中,构建聚焦学科核心素养的项目式学习。

第一步:创设情境,提出问题

介绍一个在网络上的热门事件——“当小学生遇见苏轼”,展示小学六年级学生的成果。

2

  小学生利用大数据分析高频词,统计旅游价值,调查其朋友圈,用多样的活动和角度帮助大家走近并了解苏轼。

激发学生学习兴趣后,提出本课课题:同学们开展经典诵读活动,在读《三国演义》时,为了阅读、分析中国名著《三国演义,语文老师让同学们把小说中出现次数最多的10个词找出来。

第二步:描述解决问题的关键步骤,先用自然语言进行描述。

①阅读三国演义小说;②找到里面每一个词;③计算各个词出现的次数;④找到出现次数最多的词;⑤报告结果。

将问题分解成更小的、易于管理或解决的部分,这就是分解

第三步:将自然语言表述的解决问题步骤变为计算机可以处理的步骤,即抽象。抽象是将现实生活中的对象和问题转换为计算机中可以处理的对象和问题具体见图2


3

2将自然语言表述的解决问题步骤变为计算机可以处理的步骤(抽象)


2中,我们自然语言说到的阅读,对应计算机可以处理的动作——打开文件,

读文件;找到小说里每个词,对应计算机可以处理的动作——分词;计算每个词出现的次数,对应计算机可以处理的动作——统计;找到出现次数最多的词,对应计算机可以处理的动作——排序;报告结果,对应计算机可以处理的动作——打印结果。    

完成第三步后,我们使用可视化方式,如流程图,思维导图等表示。如图3


微信截图_20210903134605

3 使用可视化方式,如流程图来表示


第四步:根据流程图编写程序

import jieba

txt = open("三国演义.txt", "r", encoding='utf-8').read()

words  = jieba.lcut(txt)

counts = {}

for word in words:

          if len(word) == 1:

              continue

          else:

             counts[word] = counts.get(word,0) + 1

items = list(counts.items())

items.sort(key=lambda x:x[1], reverse=True)

for i in range(10):

           word, count = items[i]

           print ("{0:<10}{1:>5}".format(word, count))

第五步:调试修改。

第四步和第五步即是算法,也就是为解决某一类问题撰写一系列详细的指令。

第六步:知识迁移。

学生经过聚焦学科核心素养的项目式学习,让学生进行总结归纳,以能找到解决这一问题共性的方法,这便是模式

本文在相关研究的基础上,构建了聚焦核心素养的python项目学习模型,并使用一个案例详细阐述了在教学中如何使用该模型。通过教学实践,对问题的分解、抽象、迁移、模式等流程,能有效培养和发展学生的计算思维,提升学生用人工智能时代的科学思维去分析问题、解决问题的能力,让学生未来能更好地适应人工智能社会的学习、工作和生活。


(作者系成都七中实验学校教师)