以培養計算思維為導向的初中《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
