999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

改革程序設計課程 探索計算思維能力培養

2017-09-03 06:08:33文欣秀顧春華王家輝楊澤平王占全
實驗室研究與探索 2017年8期
關鍵詞:建構主義思維能力思維

文欣秀, 顧春華, 王家輝, 楊澤平, 王占全

(1. 華東理工大學 a. 信息科學與工程學院; b. 理學院, 上海 200237;2. 上海理工大學 光電信息與計算機工程學院, 上海 200093)

改革程序設計課程 探索計算思維能力培養

文欣秀1a, 顧春華2, 王家輝1b, 楊澤平1a, 王占全1a

(1. 華東理工大學 a. 信息科學與工程學院; b. 理學院, 上海 200237;2. 上海理工大學 光電信息與計算機工程學院, 上海 200093)

以計算思維能力培養為切入點的程序設計課程教學改革需要轉變教學觀念和教學方式,在建構主義指導下幫助學生構建學習情境,鼓勵學生明確學習目標,激發學生進行協作學習。我校的程序設計課程教學改革從以下四個方面展開:將計算思維特征滲入教學實踐環節中培養學生思維能力,開發經典實驗案例提高學生學習興趣,設計分層實驗作業滿足各類學生需求,研發教學輔助平臺提升實驗教學質量。實踐表明,該方法能夠幫助學生根據個性化需求主動完成學習意義構建,增強學生解決專業問題的能力,培養學生的團隊合作能力。

計算思維; 程序設計; 建構主義; 教學改革; 教學輔助平臺; 實驗教學

0 引 言

自2006年美國卡內基·梅隆大學的Jeannette M. Wing教授提出了計算思維Computational Thinking(CT)[1]的概念后,以提高學生解決問題能力、培養學生計算思維能力為目標的非計算機專業的程序設計課程教學改革引起了國內外教育者的廣泛關注[2-9]。Stephen Cooper等[2]認為程序設計課程是培養計算思維能力的重要組件,而提高解決問題能力是學習程序設計課程的核心。他們通過開展數百種專業開發培訓項目(目標群體是教師和學生)并進行結果分析,推斷出學習程序設計課程、利用計算機解決問題能夠提高學生的自信心、創造性和獨立性。Henry M. Walker[3]認為計算思維能力的培養需要包含編程模塊,編程語言能夠精確解決問題的優點可以幫助學生理解程序正確性、效率、分析等關鍵詞的內涵,非計算機專業程序設計課程應該淡化語法細節,關注解決問題過程。韓建平等[4]構建一種“課內外貫穿、競賽教學融合”程序設計教學模式,從課內基本實驗、課外自主實驗、訓練與競賽等引導學生提高程序設計能力,實踐表明該模式能夠激發學生的學習興趣和熱情。劉在英等[5]分析了程序設計課程實踐教學中制約學生創新實踐能力培養的多種因素,并從教學內容、教學方法、考核形式及平臺建設等方面進行了相應的改革,逐步提高了程序設計課程的教學質量和學生的編程能力。

Java、C、C++、Python、C#等程序設計語言不僅是世界流行的編程語言(2017年5月TIOBE編程語言排行榜前5名)[10],也是國內外大部分高校為非計算機專業學生開設的程序設計課程。然而,由于學生基礎差異大、理論和實驗課時有限、實驗案例與具體應用缺少關聯等多種因素,程序設計課程的教學質量一直不容樂觀。建構主義提倡在教師指導下的、以學習者為中心的活動,教師的主要任務是輔助學生實現有意義的學習目標[11-13]。本項目組以建構主義為指導,嘗試從思維訓練、案例引導、作業分層及過程監控等四個方面展開程序設計課程教學改革。

1 傳統程序設計課程存在的問題

計算思維是一種科學思維,與理論思維、實驗思維一起構成了人類的三大思維[14-16]。國內外傳統的程序設計理論課程大多以教師講解知識點為中心,實驗作業單調統一,產生了一系列的教學問題,具體表現在以下兩個方面:

(1) 思維模式的拓展培養不夠深入。 程序設計課程的核心思想是打破學生固有的思維模式,引導學生理解計算思維的特征,幫助學生運用計算機高效地解決實際問題,編程語言本身只是一種載體。然而,傳統的程序設計課程以教師活動為中心,以知識點講解為主線,過于強調編程語言本身的完整性和系統性,忽略了抽象、分解、自動化等計算思維特征在教學過程中的滲透,缺少算法分析與設計過程的積極引導。經過調查發現,學生總體感覺以知識點講解為主線的程序設計課程理論與實踐脫節、語法細節過于繁瑣,導致學習興趣日益缺失。

(2) 統一設置的實驗案例不夠合理。長期以來,程序設計課程的實驗作業大多是統一布置,較少考慮學生基礎、個性化需求以及實驗案例與具體應用的關系。大部分學生缺少明確的實驗目標,只是被動地接受教師指令,機械地完成上機作業,學生的主體地位沒有得到充分體現,動手實踐能力和自主探索能力也難得到真正提高。調查結果表明,各專業學院教師對程序設計課程的教學滿意度不高,主要問題在于程序設計與專業后續課程銜接比較困難,課程結束后學生不能融會貫通地使用計算機分析、解決專業問題。

2 面向計算思維能力培養的程序設計教學改革

計算思維是運用計算機科學的基礎概念去求解問題、設計系統和理解人類的行為[1]。面向計算思維能力培養的程序設計課程必須合理規劃教學模塊和實驗內容,引導學生自主學習,提高學生協作能力。建構主義認為,理想的學習環境應該包括:情境、協作、交流和意義構建[11-12]。

2.1 構建新型的課程體系

建構主義認為,在教學設計中,創建有利于學習者構建學習意義的情境是非常重要的環節[13]。計算思維的本質是抽象和自動化[1],程序設計課程是培養計算思維能力的有效載體。程序設計課程主要知識模塊(面向過程和面向對象共有)包括簡單數據類型、三種基本結構,復雜數據結構、函數、繪圖、文件等,其中涵蓋了抽象、類型、遞歸、轉化、折衷等一系列計算思維特征。因此,重新梳理了程序設計課程的知識體系,闡明了每個知識模塊需要滲入的具體特征,構建了新型的課程體系框架(見圖1)。課程大綱設計著重強調知識的基礎性、原理性、系統性,簡化繁瑣的語法細節,淡化與公共基礎、專業知識案例無關的知識點,將節省出來的課時用于專業案例分析和實際問題解決。

2.2 精心設計經典實驗案例、增強學生計算機應用能力

教師應當充分認識和尊重學生在課程中的思維活動和思維規律,鼓勵學生進行有意義的學習而不是機械的學習[13]。為了提高學生解決實際問題的能力,在調研學生公共必修課程(如:高等數學、大學物理等)的基礎上,鼓勵優秀學生開發了一系列公共課經典實驗案例(面向過程、面向對象兩種版本),幫助學生解決平時學習過程中的實際問題,潛移默化中培養學生的計算思維能力。在此基礎上,進一步激發學生解決專業問題的動力,不斷提高學生抽象、分析各種問題的能力。

圖1 程序設計課程思維特征

根據課程分類,已經設計完成的經典實驗案例主要有:① 高等數學。包括求極限、微分、泰勒展開、不定積分以及定積分;② 線性代數。包括矩陣運算、行列式、特征值、范數、條件數;③ 數理統計。包括基本統計量計算、回歸分析、聚類分析、主成分分析、數據可視化; ④ 大物實驗。包括楊氏拉伸,動態楊氏,光柵衍射,密立根油滴;⑤ 實驗化學。包括分光光度法測反應平衡常數、PH法測醋酸電離平衡常數;⑥ 基礎化學。包括式量&配平、氣體狀態參數計算、溶液依數計算。

(1) 解題思路。該問題無法給出解析解,可以利用二分法進行求解

(3) 操作步驟。

步驟1:計算f(x) 在有根區間[a,b]端點處的值f(a),f(b)

步驟2:計算f(x) 在區間中點(a+b)/2的值f((a+b)/2)

步驟3:如果f((a+b)/2) 與f(a)異號,則根位于區間(a,(a+b)/2)內,此時以(a+b)/2代替b

如果f((a+b)/2) 與f(a)同號,則根位于區間((a+b)/2,b)內,此時以(a+b)/2代替a

如果f((a+b)/2) =0,輸出結果

該實際問題的人工計算過程如表1所示。在解題過程中,學生發現手工計算的過程非常繁瑣,精確度也不夠高,通過對該問題進行抽象分析,學生發現簡單數據類型可以解決數據存儲問題,選擇結構可以解決區間定位問題、循環結構可以解決重復計算問題。因此,學生運用計算機解決問題的主動性被大大調動起來。

表1 人工計算過程

(4) 程序方法。

#include

#include

int main()

{

float a = 1.0 , b= 1.5;

float root = 0 , tmp = 0;

float fa = 0 , f = 0;

int i = 0;

for(i = 0; i < 20; i++)

{

tmp = (a + b) / 2;

f = tmp * tmp * tmp - tmp - 1; //計算f((a+b)/2)

fa = a * a * a - a - 1; //計算f(a)

if (f == 0) break; //如果f((a+b)/2) =0,輸出結果

else if (fa * f < 0) b = tmp; //如果f((a+b)/2) 與f(a)異號,此時以(a+b)/2代替b

else a = tmp; //如果f((a+b)/2) 與f(a)同號,此時以(a+b)/2代替a

}

printf("the root is %f", tmp);

return 0;

}

在該問題的分析過程中,學生既理解了計算思維的特征(抽象、轉化、類型等),思維方式得到了拓展,又利用所學知識解決了實際學習問題,學生的興趣度和成就感倍增,也愿意積極嘗試解決各種專業問題。

2.3 面向對象設計遞進式作業、有效實施分層分類指導

建構主義學習理論強調以學生為中心,滿足學生的個性化需求[13]。國內程序設計課程一般是大學一年級下學期的必修課程,由于學生來自不同的地區,編程基礎差異非常大,主要分為以下三個層次:① 零基礎的學生:從未接受過編程方面的任何知識和訓練。② 少量基礎學生:初高中部分或系統學習過一門編程語言。③ 基礎扎實學生:參加過計算機大賽或具有一定項目經驗。

在學習過程中,我們鼓勵2~3名學生進行合作,綜合多道作業完成一套系統的研發,例如3名同學將高等數學、線性代數、數學繪圖、科學計算等作業進行結合,開發出了一套數學輔助計算系統。此外,為了提高學生學習的主動性,在輔助教學平臺上設置了刷題排行榜(題目由包含重要知識點的客觀題以及和實際生活相關的主觀題組成,系統自動評測并公布一、二、三等獎),督促學生主動掌握重要知識點和提高分析問題的能力。

2.4 充分利用教學輔助平臺、提升實驗過程自動監控

建構主義認為,學習者與周圍環境的交互對學習內容的理解起著非常關鍵的作用[13]。為了方便實驗教學管理和推動學生協作學習,基于Python開發了一套電腦、手機同步的“π課堂”教學輔助平臺,該系統主要包括以下功能:① 碎片時間學習。學生可以根據自己的基礎隨時在平臺上選擇實驗題目,通過手機或電腦完成不同層次的作業,對自己的學習情況進行有效評估,并獲得相應的分數;② 成績隨時查詢。學生可以通過系統隨時查看自己的平時分數(各項作業分數、主客觀題練習分數),督促學生及時調整學習節奏和努力方向;③ 圖表自動分析。通過對學生實驗答題情況、集中錯誤的圖表自動分析,幫助老師對整個班級和特定學生的情況進行充分了解,從而及時調整課程進度;④ 消息及時推送。通過手機、網頁、郵箱實現消息同步推送,及時實現教師和整個班級、個別學生之間關于實驗問題的良好互動,同時幫助學生實現大作業設計的互相協作。

3 教改效果分析

建構主義強調學習的目的是通過學習者的主動追求完成意義構建[13],學生計算思維能力的提高和解決各種問題能力的增強是程序設計課程改革的目標所在。在3年的程序設計課程改革中,除了精化教學內容強調思維能力培養、開發經典實驗案例提高解決問題能力提高外,還積極鼓勵同專業學生自由組隊、自主選題,通過溝通和協作解決專業學習中的各種問題,設計并完成與專業結合的課程設計大作業,不斷提高綜合分析能力。如化工學院的學生用C語言進行臥式儲罐計量計算、材料學院的學生用C語言解決物體物理性質的計算、生工學院的學生用Python語言進行DNA序列查詢、信息學院的學生用Python語言解決電路輸入輸出問題、化學學院學生用C#語言實現實驗數據擬合等等,大幅提高了教學質量。在此基礎上,將課程大作業與計算機創新實踐基地緊密結合起來,選拔有潛力的大作業進入創新基地繼續研發,指導學生參加各級大學生創新活動,并積極推薦參加上海市、全國各級計算機大賽(近3年我校學生在國家級、上海市級比賽中獲得了30多個獎項)。值得一提的是,在推進公共課案例整合和專業系統開發方面也取得了優異的成績:理學院同學開發的“基于 Python 的輔助計算系統”獲得了2015年中國大學生計算機設計大賽全國一等獎,化學學院同學開發的“Chembook化學助手”獲得了2016年中國大學生計算機設計大賽全國一等獎。

4 結 語

以計算思維能力培養為目標,團隊在建構主義指導下圍繞優化課程設計、開發經典案例、設計分層作業、監督實驗過程等方面展開了程序設計課程改革,幫助非計算機專業學生創建學習情景,鼓勵學生主動學習,滿足學生個性化需求,增強學生溝通與協作,取得了良好的改革效果,不僅引導學生運用計算機解決了實際問題,還通過各類競賽拓展了學生的團隊協作能力和創新實踐能力。下一步的工作是繼續引導學生在程序設計課程中主動追求有意義的學習,努力解決各類專業問題,通過程序設計課程建立通識教育與專業教育的橋梁。

[1] Jeannette M. Wing. Computational Thinking [J]. Communication of the ACM,2006,49(3):33-35.

[2] Stephen Cooper,Wanda Dann. Programming:A Key Component of Computational Thinking in CS Courses for Non-Majors[J]. ACM Inroads,2015,6(1):50-54.

[3] Henry M. Walker. Computational Thinking in a Non-Majors CS Course Requires a Programming Component[J]. ACM Inroads,2015,6(1):58-61.

[4] 韓建平,劉春英,胡維華.“課內外貫穿, 競賽教學融合” 的程序設計教學模式[J]. 實驗室研究與探索,2014,33(6):169-171,176.

[5] 劉在英,楊 平,張麗曉.程序設計課程實踐教學模式的探討[J].實驗室研究與探索,2013, 32(10):156-159.

[6] 汪紅兵,姚 琳,武航星,等. C 語言程序設計課程中的計算思維探析[J].中國大學教學,2014(9):59-62.

[7] 劉光蓉. 融入計算思維的C語言實驗教學設計[J].實驗室研究與探索,2015,34(10):81-83,103.

[8] 何文廣,周 珂,熊剛強.程序設計課程實驗教學改革與實踐[J].實驗室研究與探索,2016, 35(6):163-165,169.

[9] 黃 云,洪佳明,覃遵躍,等. 基于云平臺的“程序設計基礎”課程實驗教學改革[J].實驗室研究與探索,2016,35(2):191-195,223.

[10] TIOBE Index for May 2017. https://www.tiobe.com/tiobe-index/,2017-5-28.

[11] Thomas M. Duffy,David H. Jonassen. Constructivism and the Technology of Instruction: A Conversation [M]. Hillsdale NJ: Lawrence Erlbaum Associates,1992.

[12] Kathryn Alesandrini,Linda Larson. Teachers Bridge to Constructivism [J]. The Clearing House, 2002,75(3):118-121.

[13] 衷克定.論大學計算機課程計算思維能力培養的人本位回歸[J].中國大學教學,2015(7):51-55, 84.

[14] 陳國良,董榮勝.計算思維與大學計算機基礎教育[J].中國大學教學,2011(1):9-13,34.

[15] 李 廉.計算思維——概念與挑戰[J] .中國大學教學,2012(1):7-12.

[16] 姚天昉. 在程序設計課程中引入“計算思維”的實踐[J] .中國大學教學,2012(2):61-62,76.

Exploration on Ability Cultivation of Computational Thinking Based on Programming Course Reform

WEN Xinxiu1a, GU Chunhua2, WANG Jiahui1b, YANG Zeping1a, WANG Zhanquan1a

(1a. School of Information Science and Engineering; 1b. School of Science, East China University of Science and Technology, Shanghai 200237, China; 2. School of Optical-Electrical and Computer Engineering, University of Shanghai for Science and Technology, Shanghai 200093, China)

Taking ability cultivation of computational thinking as the breakthrough point, programming course has reformed by changing teaching ideas and methods. Constructivism can help students to construct contexts of study, encourage them to set up learning objectives and stimulate them to work on collaborative learning. The programming course reform is implemented from the following four aspects: enhancing students’ abilities of thinking by merging computational thinking characteristics into teaching process, attracting students’ interests by developing classical experimental examples, meeting multi-level students’ demands by designing layered lab assignments and improving qualities of experimental teaching by developing teaching-aided platform. The results show that, the method can help students finish construction of study meaning based on their individual requests, enhance their abilities of analyzing and solving professional problems and cultivate their abilities of team cooperation.

computational thinking; programming; constructivism; teaching reform; teaching-aided platform; experimental teaching

2016-12-18

2016年Google支持教育部產學合作育人項目專業綜合改革項目、全國高校計算機基礎教育研究會教學改革課題(2016061)

文欣秀(1975-),女,河南新鄉人,博士,講師,研究方向:軟件工程、形式化方法、計算機教育。

Tel.:13361876389; E-mail:wenxinxiu@ecust.edu.cn

TP 341; G 642.0

A

1006-7167(2017)08-0207-04

猜你喜歡
建構主義思維能力思維
思維跳跳糖
思維跳跳糖
思維跳跳糖
思維跳跳糖
培養思維能力
旁批:建構主義視域下的語文助讀抓手——以統編初中教材為例
培養思維能力
培養思維能力
兒童繪本(2018年19期)2018-10-31 21:02:34
借鑒建構主義思想培養財會專業人才
培養思維能力
兒童繪本(2018年9期)2018-06-04 16:40:12
主站蜘蛛池模板: 亚洲精品无码av中文字幕| 国产系列在线| 日韩中文无码av超清 | 欧美日本在线一区二区三区| 久久永久精品免费视频| 美美女高清毛片视频免费观看| 国产精品污视频| 四虎国产精品永久一区| 亚洲欧美另类中文字幕| 欧美精品在线免费| 国产91无码福利在线| av无码一区二区三区在线| 在线日韩一区二区| 午夜视频在线观看免费网站 | 国产美女一级毛片| 无码乱人伦一区二区亚洲一| 91精品综合| 久久久久人妻精品一区三寸蜜桃| 美女视频黄又黄又免费高清| 亚洲AV无码乱码在线观看裸奔| 91原创视频在线| 国产国语一级毛片在线视频| 欧美色视频网站| 丰满人妻久久中文字幕| 欧洲极品无码一区二区三区| 亚洲精品午夜天堂网页| 亚洲无码精品在线播放| 免费国产黄线在线观看| 色网站免费在线观看| 日本精品视频一区二区 | 蜜桃视频一区二区三区| 日本三级欧美三级| 欧美人人干| 亚洲日本www| 成人无码区免费视频网站蜜臀| 青草精品视频| 欧美va亚洲va香蕉在线| 无码粉嫩虎白一线天在线观看| 特级做a爰片毛片免费69| 免费毛片全部不收费的| 久久久久免费看成人影片| 色欲色欲久久综合网| 无码AV日韩一二三区| 国内精品免费| 日本不卡在线| 免费一级毛片完整版在线看| 99热国产这里只有精品无卡顿"| 在线观看精品自拍视频| 亚洲国产系列| 国产欧美日韩免费| AV不卡在线永久免费观看| 国产女人水多毛片18| 亚洲v日韩v欧美在线观看| 中文字幕第1页在线播| 天天爽免费视频| 国产激情无码一区二区APP| 欧美成人第一页| 国产激情无码一区二区APP| 国产精品手机在线观看你懂的| 国产午夜人做人免费视频中文| 538精品在线观看| 欧美人人干| 四虎永久在线| 巨熟乳波霸若妻中文观看免费| 国产乱肥老妇精品视频| 伊人久久大香线蕉综合影视| 国产9191精品免费观看| 亚洲欧美一区二区三区图片| 亚洲欧洲日韩国产综合在线二区| 亚洲美女视频一区| 成年人国产视频| 日韩精品无码一级毛片免费| 国产免费精彩视频| 亚洲色图另类| 免费99精品国产自在现线| 欧美精品亚洲精品日韩专| 播五月综合| 99激情网| 四虎永久在线精品影院| 国产精品自在线拍国产电影| 国产欧美在线视频免费| 97色伦色在线综合视频|