国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

高中階段面向計算思維的編程教學(xué)模式的實踐與思考

2020-09-06 13:34賈金元武小龍
中國教育技術(shù)裝備 2020年3期
關(guān)鍵詞:計算思維任務(wù)驅(qū)動校本課程

賈金元 武小龍

摘? 要 闡述計算思維的內(nèi)涵,對面向計算思維的高中編程培養(yǎng)教學(xué)模式及教學(xué)案例進行分析,給出面向計算思維的高中編程培養(yǎng)路徑;通過讓學(xué)生了解和掌握編程知識和基本的C++語言算法,提高學(xué)生的信息素養(yǎng),有效培養(yǎng)學(xué)生的計算思維。

關(guān)鍵詞 計算思維;C++;編程教學(xué);信息技術(shù);校本課程;任務(wù)驅(qū)動

中圖分類號:G632? ? 文獻標識碼:B

文章編號:1671-489X(2020)03-0106-03

1 前言

隨著大數(shù)據(jù)時代的到來,計算思維作為一種解決問題、設(shè)計系統(tǒng)、理解人類行為的綜合思維模式,受到社會各界的關(guān)注,對計算思維的培養(yǎng)和探索也成為當前基礎(chǔ)教育關(guān)注的熱點。教育部發(fā)布的《關(guān)于全面深化課程改革 落實立德樹人根本任務(wù)的意見》指出,信息網(wǎng)絡(luò)技術(shù)突飛猛進,時代和社會發(fā)展需要進一步提高國民的綜合素質(zhì),培養(yǎng)創(chuàng)新人才[1]。從教育部在2018年頒布的信息技術(shù)新課程標準中可以看到,信息技術(shù)課程從內(nèi)容上已大幅減少基本軟件的教授,而是緊跟信息技術(shù)的發(fā)展,提出要培養(yǎng)學(xué)生的信息意識、計算思維、數(shù)字化學(xué)習(xí)與創(chuàng)新及信息社會責(zé)任,同時開設(shè)人工智能、開源硬件、3D打印等選修課程。

在高中階段開展編程教育,培養(yǎng)計算思維,在各大重點高中相對比較受重視,這從每年參加NOIP的人數(shù)和進入國家集訓(xùn)隊的數(shù)量上就可以看出來。高中階段學(xué)習(xí)C++語言,基本是以校本課程的形式存在,學(xué)生大部分是準備去參加信息學(xué)競賽。目前市面上的教材可大體分為兩類:一類是專門供程序員學(xué)習(xí)的語法參考書,教授程序設(shè)計思想;另一類是側(cè)重于信息學(xué)競賽的教材。大部分所選編程實例用于語法規(guī)則的驗證和偏重于數(shù)學(xué)知識方面,兩者之間沒有很好地銜接。高中生由于數(shù)學(xué)基礎(chǔ)較薄弱,往往吃不透、用不活,知道語法規(guī)則但是無法解決問題,究其原因是教學(xué)過程中不關(guān)注計算思維的培養(yǎng)。

基于此,筆者提出在高中開設(shè)編程課程,一方面可以教給學(xué)生基礎(chǔ)程序設(shè)計語言的語法知識,另一方面可幫助學(xué)生提高算法設(shè)計能力。

2 相關(guān)概念

計算思維? 2006年,美國卡內(nèi)基·梅隆大學(xué)的周以真教授在Communications of the ACM雜志上首次提出計算思維的概念。他認為計算思維是運用計算機科學(xué)的基礎(chǔ)概念,求解問題、設(shè)計系統(tǒng)和理解人類行為的一系列思維活動,其本質(zhì)是抽象和自動化[2]。2012年,美國麻省理工學(xué)院媒體實驗室提出計算思維的三維框架,包括計算概念、計算實踐和計算觀念三個維度,引發(fā)了計算思維實踐層面的研究和評價[3]。因此,高中階段對學(xué)有余力的學(xué)生進行C++編程教學(xué),具體要從培養(yǎng)學(xué)生問題求解思路、創(chuàng)新思維和對問題的形式化描述上入手。

編程教學(xué)? 為什么要選擇C++作為編程教學(xué)的語言?因為C++語言更接近于底層,語法雖然比較復(fù)雜,但對于已初步具備高階思維的高中生而言,C++學(xué)習(xí)可以為將來以后的語言(Python、Java等)學(xué)習(xí)打下良好的基礎(chǔ);通過編程教學(xué),逐步領(lǐng)會算法在程序設(shè)計中的重要作用。培養(yǎng)學(xué)生計算思維的目的是讓學(xué)生養(yǎng)成以計算思維的角度來思考并解決問題,可以采用多種方式培養(yǎng)學(xué)生的計算思維能力。

在傳統(tǒng)的教學(xué)模式中,教師會先講授基本語法,然后讓學(xué)生通過上機進行相關(guān)知識點的練習(xí);學(xué)生往往感到學(xué)習(xí)難度較大,難以入門,甚至導(dǎo)致喪失學(xué)習(xí)的積極性,不利于培養(yǎng)自主學(xué)習(xí)和自主思維能力。用計算思維的理念重新審視編程教學(xué),利用現(xiàn)有的課程,讓學(xué)生掌握程序設(shè)計背后蘊含的計算思維。編程教學(xué)的最終目的是讓學(xué)生掌握解決現(xiàn)實生活中真實問題的方法,編程能力則是計算思維和能力運用的綜合體現(xiàn)。

3 面向計算思維的高中編程教學(xué)模式及教學(xué)案例分析

計算思維教學(xué)模式流程圖如圖1所示。面向計算思維的高中編程教學(xué)模式的教學(xué)流程及任務(wù)設(shè)計主要包括課堂教學(xué)環(huán)節(jié)及各環(huán)節(jié)教學(xué)任務(wù)設(shè)計兩部分。高中階段開設(shè)C++校本課程,對訓(xùn)練學(xué)生計算思維很有幫助。在教學(xué)過程中,通過設(shè)計案例,采用任務(wù)驅(qū)動式教學(xué)方法,讓學(xué)生發(fā)現(xiàn)問

題;在講授的時候把算法與計算思維緊密結(jié)合起來,給學(xué)生講清楚實際問題中蘊含的計算思維及算法。比如利用棧的數(shù)據(jù)結(jié)構(gòu)來處理車廂調(diào)度問題,利用弗洛伊德算法解決最短路徑問題等,把計算思維融入解決實際生活問題的過程中,讓學(xué)生不再是從理論上學(xué)習(xí),而是更多地將注意力集中在分解問題和解決問題的過程中,并結(jié)合數(shù)學(xué)學(xué)科知識如數(shù)論、圖論等進行學(xué)習(xí)。

教學(xué)內(nèi)容? C++程序中的for語句和while語句。

教學(xué)目標? 了解循環(huán)的概念,理解為什么循環(huán)是編程中的一種重要控制結(jié)構(gòu);學(xué)習(xí)如何使用C++中的for和while語句來編寫循環(huán),以及每一個語句類型的使用時機,掌握常用的循環(huán)模式;找出循環(huán)規(guī)律并設(shè)計算法,利用循環(huán)語句解決實際程序問題,進一步訓(xùn)練邏輯思維、計算思維能力。

教學(xué)設(shè)計

1)課程導(dǎo)入。帶領(lǐng)學(xué)生回顧上一節(jié)課學(xué)習(xí)的選擇結(jié)構(gòu)程序設(shè)計,在猜商品價格的游戲案例中,利用if語句實現(xiàn)判斷猜測數(shù)字是大了、小了還是對了,和學(xué)生一起,邊講邊寫出利用if語句的猜數(shù)字程序。但是程序只能猜一次就結(jié)束,如果想重復(fù)猜測該數(shù)字,直到猜對價格為止,用程序如何實現(xiàn)呢?

2)介紹循環(huán)的概念,循環(huán)其實就是需要有限次重復(fù)執(zhí)行的程序段,如日夜更迭、四季交替等大自然中的循環(huán)。以操場上一圈一圈跑步為例,引導(dǎo)學(xué)生寫出程序(略)。

3)分步點評學(xué)生寫出的程序,分析for語句循環(huán)示例,找出循環(huán)的規(guī)律和要素。

4)重點講解while語句的語法結(jié)構(gòu),讓學(xué)生明白,編寫循環(huán)語句,類似做填空題,要把循環(huán)要素填到相應(yīng)的位置。在程序演示環(huán)境下,逐步找出循環(huán)體,結(jié)合while語句語法,寫出下面程序,設(shè)置while的循環(huán)條件為空,讓學(xué)生來填:

#include

using namespace std;

int main()

{

int truePrice,caiPrice=0,i=0;

cout<<”請輸入一個數(shù),這個數(shù)字是商品的真實價格”<

cin>>truePrice;

cout<<”請輸入你猜的數(shù)”<

while(讓學(xué)生來填)

{

i++;

cout<<”參與者”;

cin>>caiPrice;

if(caiPrice>truePrice)

{

cout<<”大了”<

}

else if(caiPrice

{

cout<<”小了”<

}

else

{

cout<<”恭喜你,猜對了,共猜了”<

endl;

}

}

return 0;

}

通過猜商品價格,可以激發(fā)學(xué)生的學(xué)習(xí)興趣,讓他們有種躍躍欲試的感覺,最終得出答案,循環(huán)條件是:truePrice!=caiPrice。

5)引導(dǎo)反思:如果每人最多可以猜7次,超過就算輸,如何修改程序?

4 面向計算思維的高中編程培養(yǎng)路徑

創(chuàng)設(shè)情境,分層教學(xué)? 在教學(xué)過程中,針對有些比較難掌握的概念,教師可以創(chuàng)設(shè)情境、分層教學(xué)。比如有個關(guān)于循環(huán)語句的訓(xùn)練題:假設(shè)所有的燈都是關(guān)著的,編號為1的人走過來,把是1的倍數(shù)的燈全部打開;編號為2的人把是2的倍數(shù)的燈全部關(guān)上;編號為3的人又把是3的倍數(shù)的燈開的關(guān)上,關(guān)的開起來……直到第N個人為止?,F(xiàn)在問:如果給定一個數(shù)N,那么在N輪之后,還有哪些燈是開著的?

這樣的題目讓很多學(xué)生感到無從下手,因為如果N是個位數(shù),還可以手動算,教師可以讓10個學(xué)生手拉手排成一排,模擬這個算法的運行。編號為i的燈只會被它的約數(shù)所操作,而它最后是開著的,所以說一定被操作了奇數(shù)次。只有一個數(shù)是完全平方數(shù),其約數(shù)才是奇數(shù),所以只要輸出i到N中的完全平方數(shù)就可以。通過這樣的教學(xué),部分學(xué)習(xí)程度較好的學(xué)生已經(jīng)可以寫出來,然后讓這幾個學(xué)生講解一下算法,全班進行點評。

加大對實驗程序調(diào)試的指導(dǎo)力度? 編程教學(xué)最重要的是能夠上機并調(diào)試出正確的程序。因此,要指導(dǎo)學(xué)生切勿眼高手低,在剛開始學(xué)習(xí)的時候一定要多上機,只有通過上機,才能發(fā)現(xiàn)問題。比如對于小數(shù)點位數(shù)的輸出,C和C++輸出語句不同,都可能導(dǎo)致程序調(diào)試不通過。因此,對實驗內(nèi)容進行分組,設(shè)立基本組、提高組,利用一些在線OJ網(wǎng)站,讓學(xué)生多做題。一方面,教師可以實時觀察到學(xué)生的進度;另一方面,這些網(wǎng)站上有相應(yīng)的題解,學(xué)生可以實時進行對比和分析。

思維風(fēng)暴,多種解題方法匯聚? 問題的解決方法有多種,筆者在教學(xué)中發(fā)現(xiàn),對于同一個題目,往往有很多種算法可以實現(xiàn)。比如“最大公約數(shù)”的問題,就有枚舉法、輾轉(zhuǎn)相除法、輾轉(zhuǎn)相減法等多種解法。通過一題多解,可以開拓學(xué)生思路,引導(dǎo)學(xué)生積極進行算法求解,使學(xué)生印象深刻,豁然開朗。

創(chuàng)新課堂教學(xué)? 每個學(xué)生都是學(xué)習(xí)的主人。筆者所在的班級每周都有一個學(xué)生課堂,就是學(xué)生選擇一個自己學(xué)習(xí)過的最拿手的算法進行講解。這樣既促進了學(xué)生對算法的理解,也加深了其他學(xué)生的認識,在講授的過程中還可以發(fā)現(xiàn)問題。比如遞歸算法的基本思想是什么?實際上就是把規(guī)模大的、難解決的問題變成規(guī)模小的、容易解決的同一問題,規(guī)模較小的問題又變成規(guī)模更小的問題,當問題小到一定程度時,可以直接得出它的解,從而得到原來問題的解。

5 結(jié)語

“人工智能+教育”時代背景下,計算思維的重要性日益凸顯。如何在信息技術(shù)教學(xué)中培養(yǎng)學(xué)生的計算思維,使學(xué)生具備數(shù)字化時代的創(chuàng)新素養(yǎng),是信息技術(shù)教師面臨的重大課題。本文就在高中開設(shè)C++編程教學(xué)的特點和目前普遍存在的問題展開論述,提出把計算思維融入整個教學(xué)環(huán)節(jié),通過實際教學(xué),效果良好。在高中開展面向計算思維的編程教學(xué),可以為高中生提供一個與大學(xué)課程銜接的機會,也可以進一步推動信息技術(shù)與課程教學(xué)的深度融合。因此,在高中階段推廣編程教學(xué)、研究編程教育意義重大。

參考文獻

[1]教育部關(guān)于全面深化課程改革 落實立德樹人根本任務(wù)的意見[EB/OL].http://old.moe.gov.cn/publicfiles/business/htmlfiles/moe/s7054/201404/167226.html.

[2]Wing J M. Computational Thinking[J].Communicationsof the ACM,2006(3):33-35.

[3]Brennan K, Resnick M. New frameworks for studying and assessing the development of computational thin-king[M]//Vancouver, Canada: Proceedings of the 2012 Annual Meeting of the American Educational Research Association.2012:1-25.

猜你喜歡
計算思維任務(wù)驅(qū)動校本課程
培養(yǎng)有民族文化根基的現(xiàn)代中國人
程序設(shè)計課程中計算思維和應(yīng)用能力培養(yǎng)問題研究
新疆高職院校少數(shù)民族漢語教學(xué)的課程設(shè)計及開發(fā)研究
民族高校C語言程序設(shè)計課程教學(xué)改革的研究
任務(wù)驅(qū)動式教學(xué)模式在電子技術(shù)課程中的應(yīng)用
算法的案例教學(xué)探析
任務(wù)驅(qū)動教學(xué)法在《網(wǎng)絡(luò)應(yīng)用服務(wù)管理》教學(xué)中的應(yīng)用
淺談藝術(shù)專業(yè)學(xué)生計算思維能力的培養(yǎng)
任務(wù)驅(qū)動教學(xué)法在中職信息技術(shù)教學(xué)中的運用
高中學(xué)?!叭乃仞B(yǎng)特色德育”實施策略研究
揭西县| 孝感市| 阿拉尔市| 叶城县| 开阳县| 拜泉县| 资中县| 景东| 怀集县| 海盐县| 南木林县| 射阳县| 新龙县| 彰化市| 航空| 沈阳市| 汝阳县| 吉安县| 洛阳市| 蚌埠市| 陈巴尔虎旗| 沈丘县| 安阳县| 荔浦县| 九台市| 历史| 车致| 安岳县| 福州市| 呼图壁县| 武宣县| 吐鲁番市| 泗阳县| 乃东县| 伽师县| 滨海县| 建阳市| 烟台市| 吉林省| 西盟| 印江|