以培养计算思维为导向的中学 Python 程序教学实践研究
以培养计算思维为导向的初中《Python程序》的教学实践研究
一、摘要
本文以初中python课中程序设计课程中的《顺序结构》《选择结构》《循环结构》进行设计、进行实施最后进行分析对比,验证计算思维前后学生的问题解决能力、抽象、程序与算法能力、自动化能力是否有提升,最后验证以计算思维为导向的教学设计是否有利于学生计算思维的提升。------------------------分别证明、最后得出结论。
二、研究思路
首先用文献分析法对计算思维以及计算思维教学现状进行了分析。
其次通过问卷调查法了解教学对象对于计算思维以及程序教学的认识,并且根据的带的数据进行分析设计程序教学的教学设计思路。
再次,根据上述的教学设计思路选择具体的案例进行设计,并且实施,在实施的过程中以课堂检验、观察记录表、个别访谈的形式分析学生计算思维前后的变化。
最后,对所得到的数据进行具体的分析,从而验证所提出的假设。如图所施是研究思路的图
研究思路图
三、研究现状
3.1国内研究现状
3.11计算思维研究现状
1992年在国内由北京师范大学的一名博士后首次在论文中提到计算思维,但并未引起关注。
3.12计算思维教学研究现状
本文通过检索知网以计算思维教学为主题的文献,共检索到1719篇文献,下图是计算思维教学文献数量图
计算思维教学文献数量图
通过上图可以发现在2012年以前,国内对于计算思维教学的文献数量一直呈现一个非常缓慢的增长,到2012出现了大幅度的增长,这是因为2012年国家举办的各种研讨会,以及各界人士对于计算思维教学的探索增加从而导致了计算思维教学文献数量的增加。
计算思维教学领域分布图
通过上图可以看待计算思维教学大部分在高等教育、计算机硬件技术、计算机软件及其应用三大领域,在初等教育领域研究很少。
3.2国外研究现状
3.21计算思维研究现状
2006年以后,周以真提出的计算思维引起了关注,她将计算思维定义为:计算思维是运用计算机科学的基础概念进行问题求解、系统设计以及人类行为理解的思维活动。此后,美国的k-12教育实践的过程中,将计算思维定义为:计算思维被定义为解决问题的过程,主要包括数据整理、数据分析、问题分解,程序化思维、算法思维、问题解决、社会领域的问题解决这七大特色。通俗的认为计算思维是一个问题解决的过程,通过运用计算机科学相关的知识和概念来解决问题的过程。
3.22计算思维教学研究现状
帕克特首先在学校推广计算思维,并指出学生通过程序编程发展程序思维。周以真教授在2006年提出计算思维的概念之后,并在2008年提出计算思维能力是所有学生在所有学科领域学习的根本。英国有学者制定了计算思维的框架分为三步:为什么、如何做、做了什么。韩国重视课堂中计算思维的培养的同时也重视中小学教师职前计算思维的培养。新加坡学者赖思谊在解决如何有效培养学生计算思维的问题中,提出将程序设计课程与计算思维教学相结合,并通过27个案例的实践研宄,明确了计算思维在程序设计课程中培养的两个有效途径:一是基于建构主义理论,创造问题解决的学习环境,二是为学生提供支架和反馈等活动。
综上所述,可见国外比较重视中小学的计算思维的培养,并且设计了一系列的教学实践活动来培养学生计算思维,但评价机制,目前没有一个比较完善的评价体系,需要进一步探索。
3.3计算思维的相关特征点
美国最先给出计算思维的三个维度,分别是计算概念、计算实践、计算观念,如下表是计算思维维度表
计算思维维度 |
含义 |
计算概念 |
并发性(宏观上同时运行,微观上每一个时刻只能运行一个程序)、事件(通俗的理解为点击某个按钮产生什么事件)、条件语句(if else)、运算符(算术运算符、赋值运算符等)等 |
计算实践 |
尝试与重复、测试与排除故障、抽象与模块化(抽象指的是省略中间不必要的环节,详细显示重要的环节,模块化指的是将产品的某些要素组合在一起,构成一个具有特定功能的子系统,就构成的子系统作为通用模块与其他要素进行组合)等 |
计算观念 |
表述、联合等 |
2011年国际教育技术协会(ISTE)和计算机科学教师协会(CSTA)给出了一个操作性定义:计算思维就是一个问题解决过程。包括(但不限于)以下步骤:
1)制定问题
2)分析数据
3)再现数据------可视化数据,用其他方式呈现数据
4)抽象------将问题进行分解,去除不必要的步骤,留下核心步骤
5)算法与程序------形成解决该问题的一系列操作步骤
6)自动化------让计算机重复执行形成的操作步骤
7)识别和分析解决方案-----识别、分析、实施可能的解决方案,找到最有效的解决方案
8)推广到更广泛的问题中-----将形成的思维过程或者操作步骤运用到未来类似的问题中。
本文将计算思维的特征点分为四个方面:问题分析、抽象、算法与程序、自动化。下表是计算思维相关特征点的应用
相关特征点 |
概念 |
应用 |
问题分析 |
将一个复杂的问题分解成一个个可以解决的小问题 |
设计教学、课堂测验以及课堂测验评分的依据。 |
抽象 |
找到问题的核心部分,去掉冗余部分 |
|
算法与程序 |
形成一系列的操作步骤,可以用流程图、思维导图等进行表示 |
|
自动化 |
用计算机实现重复的操作 |
3.4理论基础
3.41 建构主义理论
建构主义
3.42杜威的教学理论
四、以培养计算思维为导向的python程序教学设计思路
4.1计算思维在在初中信息技术课程中的分析
初中阶段的计算思维要求学生能用计算思维界定问题(学生可以把需要解决的问题进行分析定性,形成解决方案);掌握用自然语言或流程图描述算法的方法;能掌握程序的三种基本结构(顺序、选择、循环);能使用编程语言,解决生活问题。
4.2教学对象分析
4.2.1 问卷调查
在进行实施计算思维教学实践时对学生进行前侧,采用了问卷调查法,调查学生对与计算思维的认识,是否有兴趣学习算法和程序这一章节、能否对生活中的简单的问题进行分析。其中经过调查数据分析百分之九十以上的学生已经了解过或者听说过计算思维,百分之三十的学生对算法和程序比较感兴趣,百分之三十二想要继续学习算法与程序,这与他们小学阶段接受的scratch编程有很大的关系,另外调查到学生在面临简单的问题时大多数会使用计算思维,比如面临超市排队问题或者是投递员投递问题,但是对于a和b数值交换时,部分学生不知道怎样有效的对和b数值进行交换。
4.2.2 教师交谈
在与教师交流的过程中发现学生存在一下几个方面的问题:一是对于编程的恐惧;二是课堂中学生的参与性不高;三是对于复杂问题无从下手,找不到问题的核心。
4.3 以培养计算思维为导向的python课程教学设计思路
4.31教学方法的选择
以培养计算思维为导向的python课主要采用了任务驱动法和合作探究的方法。
4.3.2 以培养计算思维为导向的教学设计思路
以培养计算思维为导向的程序设计解决问题的一般过程,包括问题分析一找到问题关键一用自然语言写出算法一编写程序一调试与运行程序一问题解决,该过程如图所示
程序设计解决问题的一般过程图
上述图是程序设计解决问题的一般过程,在此基础之上,将程序设计渗透到教学当中,以培养学生计算思维为目标,进行教学设计,包含了教学环节和学生活动,如图示是以培养计算思维为导向的教学设计思路图
以培养计算思维为导向的教学设计思路图
在整个教学环节和学生活动过程中,每一个教学环节都包含学生解决问题的活动,始终围绕着程序设计解决问题的一般过程,渗透着计算思维的相关特征点,尝试通过这样的教学环节和学生活动增强学生学习程序设计课程的信心,内化维,培养学生的计算思维能力。
五、以培养计算思维为导向python程序教学设计实例
5.1教学内容的选择
教学内容是八年级的python程序设计中的三大基本结构:《顺序结构》、《选择结构》和《循环结构》,这三大基本结构,能够帮助学生在面临复杂问题时,找到问题的关键所在,写出程序进行运行,从而解决问题。
5.2python程序设计之顺序结构
顺序结构是三大结构中基础的结构,按照自上而下的顺序依次解决问题,主要分四步:一是将大问题分解成小问题;二是对问题进行分析,找到核心;三是编写程序;四是运行程序,解决问题。如下所示的是顺序结构解决问题的过程。
相关特征点 |
学生解决问题的过程 |
问题分析 |
根据己知的情境发现问题,将问题分解成若干个小问题:如何用算法描述己知三角形三边长,求出三角形的半周长;如何将算法语言转换成python程序语言。
|
抽象 |
找到解决问题的关键步骤:根据所学的知识,掌握编写程序的三大模块:数据的输入;数据的运算:数据的输出。
|
算法与程序 |
输入 定义变量 进行输入 运算 求周长的公式进行运算 输出 将运算的结果输出
|
自动化 |
运行程序,找到代码的优点 |
五、教案
六、教学实施与效果分析
6.1实施对象
初二某班的学生,其中该班级所有人均未接受过python学习,但是有两名同学学过c语言。
6.2实施过程
(1)准备阶段
(2)教学实施阶段
在教学实施阶段,根据以培养计算思维为导向的python程序教学设计方案进行实施,并通过课堂观察记录表,课堂作业测验和个别访谈三个方面进行具体的评价。
(1)课堂观察记录表
课堂观察记录表
时间 : 讲课人: 评课人: 教学内容:
观察 视觉 |
观察点 |
观察记录 |
教 学 环 节 |
情境导入是否吸引学生注意力 |
|
任务驱动对学生求知欲的影响如何 |
|
|
探宄新知环节课堂效果怎么样 课堂作业环节学生是否独立完成 |
|
|
交流评价环节时间是否控制得当 |
|
|
总结提升环节引导学生情况如何 |
|
|
学 生 解 决 问 题 活 动 |
是否能够将问题分解成若干个可以解决的小问题(问题分析)
|
|
学习中,能否运用以往的知识解决新问题(抽象)
|
|
|
是否积极参与课堂,说出解决问题的步骤(算法与程序) |
|
|
是否能够顺利的写出python程序语言(算法与程序)
|
|
|
是否能有效借助计算机实现代码的调试与运行(自动化)
|
|
(3)课堂作业检验
课堂作业检验表是以计算思维四个相关特征点为依据来设计的。
课堂作业检验模板
题目项 |
||
问题分析 |
已知什么? |
|
求得什么? |
|
|
抽象 |
涉及的相关知识点? |
|
涉及的关键问题所在 |
|
|
算法与程序 |
解决问题的一系列步骤 |
|
将步骤以python的语言写出来 |
|
|
自动化 |
将代码编入程序,得出的答案? |
|
代码还有什么优化之处? |
|
(4)课堂作业评分表
课堂作业评分表
评分类目(总分值) |
评分子类目(分值) |
评分 |
问题分析(20)
|
能够把问题分解成若干个可以解决的小问题(10)
|
|
能够利用己学的知识制定解决问题的计划(10)
|
|
|
抽象(30)
|
能够将解决问题的步骤简单化(10) |
|
能够将问题分层,并找出核心问题所在(10)
|
|
|
能够判断其问题是否属于此类题目(10)
|
|
|
算法与程序设计(30) |
能够写出解决问题的一系列步骤(15) |
|
能够将步骤转化成python能够理解的语言(15) |
|
|
自动化(20) |
运行结果正确,格式规范(10) |
|
在原有基础上有所创新(10) |
|
5.3教学设计的实践分析
5.3.1 顺序结构教学实践分析
(1)课堂观察记录表
课堂观察记录表
时间 : 2018.10.9 讲课人: 叶老师 评课人: 廖老师 教学内容: 顺序结构
观察 视觉 |
观察点 |
观察记录 |
教 学 环 节 |
情境导入是否吸引学生注意力 |
学生注意力较集中,课堂开小差人数较少
|
任务驱动对学生求知欲的影响如何 |
学生的求知欲表现不明显,大多数和之前表现一样 |
|
探宄新知环节课堂效果怎么样
|
学生能够说出解决步骤;写代码的过程中备注输入、运算、输出 |
|
课堂作业环节学生是否独立完成 |
大部分学生独写出步骤:编写程序时后面学生交头接耳
|
|
交流评价环节时间是否控制得当 |
时间较短,可能没有发挥学生合作的效果 |
|
总结提升环节引导学生情况如何 |
时间短,学生可能没有吸收课堂总结内容
|
|
学 生 解 决 问 题 活 动 |
是否能够将问题分解成若干个可以解决的小问题(问题分析)
|
有较强的问题分析能力
|
学习中,能否运用以往的知识解决新问题(抽象)
|
根据数据输入、运算和输出的步骤进行
|
|
是否积极参与课堂,说出解决问题的步骤(算法与程序) |
能够顺利的说出三角形问题求解的主要步骤
|
|
是否能够顺利的写出python程序语言(算法与程序)
|
在教师的指导下,能够将input默认的字符串类型转换成需要的float类型;代码的实现稍有困难
|
|
是否能有效借助计算机实现代码的调试与运行(自动化)
|
不太熟悉IDLE的运用 |
(2)课堂作业分析----根据课堂作业上交情况进行分析
如图是顺序结构课堂作业统计分析
顺序结构课堂作业统计分析图
同时又根据计算思维的四个相关特征点进行了具体的分析
- 问题类目
- 抽象类目
- 算法与程序类目
- 自动化类目
5.4教学实践效果分析
5.4.1课堂测验成绩总体分析-----采用了配对样本t检验
配对样本统计 |
|||||
|
平均值 |
个案数 |
标准差 |
标准误差平均值 |
|
配对 1 |
顺序结构总分 |
80.9200 |
30 |
32.29855 |
5.89688 |
选择结构总分 |
69.3900 |
30 |
31.83473 |
5.81220 |
|
配对 2 |
顺序结构总分 |
80.9200 |
30 |
32.29855 |
5.89688 |
循环结构总分 |
72.8800 |
30 |
33.31984 |
6.08334 |
|
配对 3 |
选择结构总分 |
69.3900 |
30 |
31.83473 |
5.81220 |
循环结构总分 |
72.8800 |
30 |
33.31984 |
6.08334 |
配对样本相关性 |
||||
|
个案数 |
相关性 |
显著性 |
|
配对 1 |
顺序结构总分 & 选择结构总分 |
30 |
.465 |
.010 |
配对 2 |
顺序结构总分 & 循环结构总分 |
30 |
.593 |
.001 |
配对 3 |
选择结构总分 & 循环结构总分 |
30 |
.460 |
.010 |
显著性大于零说明使用配对样本t检验优于独立样本检验
配对样本检验 |
|||||||||
|
配对差值 |
t |
*度 |
显著性(双尾) |
|||||
平均值 |
标准差 |
标准误差平均值 |
差值 95% 置信区间 |
||||||
下限 |
上限 |
||||||||
配对 1 |
顺序结构总分 - 选择结构总分 |
11.53000 |
33.17337 |
6.05660 |
-.85714 |
23.91714 |
1.904 |
29 |
.067 |
配对 2 |
顺序结构总分 - 循环结构总分 |
8.04000 |
29.60814 |
5.40568 |
-3.01586 |
19.09586 |
1.487 |
29 |
.148 |
配对 3 |
选择结构总分 - 循环结构总分 |
-3.49000 |
33.86993 |
6.18377 |
-16.13724 |
9.15724 |
.564 |
29 |
.577 |
由上述表格可以看出,顺序结构、选择结构和循环结构的均值分别为和80.92,69.39和72.88每组数据的双侧相关概率分别为0.067,0.148,0.577均大于0.0.5,说明顺序结构的总分与选择结构的总分不存在显著性差异、选择结构的总分与循环结构的总分没有显著性差异、顺序结构的总分与循环结构的总分没有显著性差异。
The SVVR system structure
The research structure of the study
上一篇: 计算思维的要点