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

?

小學(xué)階段C++編程教學(xué)實(shí)踐與反思

2022-05-30 10:48:04劉寶龍王煒達(dá)
關(guān)鍵詞:編程教學(xué)計(jì)算思維語言

劉寶龍 王煒達(dá)

摘? ?要:編程教學(xué)能有效培養(yǎng)學(xué)生的邏輯思維、編程思維和計(jì)算思維。學(xué)校在開展相關(guān)教學(xué)實(shí)踐活動(dòng)時(shí),需通過分析C++編程課程的優(yōu)勢(shì),制定合理的課程內(nèi)容及教學(xué)策略,培養(yǎng)學(xué)生的計(jì)算思維。與此同時(shí),學(xué)校與教師要做好編程教學(xué)內(nèi)容儲(chǔ)備、采取靈活得當(dāng)?shù)慕虒W(xué)方法,幫助學(xué)生在輕松愉悅的學(xué)習(xí)過程中理解和掌握知識(shí)。

關(guān)鍵詞:編程教學(xué);C++語言;計(jì)算思維

中圖分類號(hào):G622.3? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? 文章編號(hào):1009-010X(2022)18-0042-04

一、引言

隨著人工智能理念的滲透和運(yùn)用,人類的生產(chǎn)、生活和學(xué)習(xí)都逐漸智能和便捷。編程是實(shí)現(xiàn)人工智能的核心和基礎(chǔ),人類一切構(gòu)思設(shè)想都依賴于程序代碼來實(shí)現(xiàn),同時(shí),編程語言學(xué)習(xí)是人工智能發(fā)展過程中不可或缺的基本要素。2017年國務(wù)院印發(fā)的《新一代人工智能發(fā)展規(guī)劃》對(duì)人工智能教育的發(fā)展作出了工作要求和計(jì)劃,明確提出要讓中小學(xué)生學(xué)習(xí)人工智能課程,讓編程教育逐漸在中小學(xué)普及開來。由此可見,推廣編程教育已經(jīng)得到了國家層面的高度重視。

基于以上背景,筆者參與的相關(guān)課題項(xiàng)目在校內(nèi)以社團(tuán)課的形式開展了為期一年的C++編程教學(xué)實(shí)踐。通過課堂實(shí)踐,探索適合小學(xué)生的C++編程學(xué)習(xí)內(nèi)容和教學(xué)方法,并嘗試從圖形化編程到使用代碼編寫程序的升級(jí)和轉(zhuǎn)變,培養(yǎng)學(xué)生的邏輯思維和計(jì)算能力。

二、學(xué)習(xí)C++編程的優(yōu)勢(shì)

目前,面向小學(xué)生的編程課程主要有兩類,一類是以培養(yǎng)興趣、鍛煉思維為主的圖形化編程,一類是針對(duì)開源硬件或機(jī)器人競(jìng)賽項(xiàng)目的實(shí)體設(shè)備編程。此外,還有基于Python、C++等高級(jí)編程語言的計(jì)算機(jī)編程教學(xué),但該類實(shí)踐相對(duì)較少。筆者認(rèn)為,小學(xué)階段C++編程實(shí)踐教學(xué)較少的重要原因在于C++語言學(xué)習(xí)周期略長(zhǎng),小學(xué)生可能無法在短期內(nèi)獲得顯見的成就,而語法結(jié)構(gòu)和認(rèn)知難度等因素并不是主要的阻礙因素。

(一)C++語言更適合初學(xué)者

C++語言涵蓋了幾乎所有編程語言的基礎(chǔ)概念,從數(shù)據(jù)類型到語法,從循環(huán)邏輯到面向?qū)ο?,所有概念都表達(dá)得非常清晰,這對(duì)初學(xué)者而言是非常重要的。同時(shí),C++語言的標(biāo)準(zhǔn)庫相對(duì)較少,初學(xué)者不僅可以學(xué)習(xí)如何使用工具庫,而且可以學(xué)習(xí)編程語言的本質(zhì)內(nèi)容,雖然小學(xué)生學(xué)習(xí)起來有一定的難度,但堅(jiān)持學(xué)習(xí)則有利于編程思維的快速提升。

(二) C++語言更適合競(jìng)賽

C++在兼容C語言的基礎(chǔ)上增加了標(biāo)準(zhǔn)模板庫和面向?qū)ο髢纱筇匦?,?biāo)準(zhǔn)模板庫為程序開發(fā)提供了非常好用的工具,在競(jìng)賽中使用C++語言,并不需要選手完全掌握C++語言的全部知識(shí),同時(shí)也不涉及一些較難的內(nèi)容。全國青少年信息學(xué)奧林匹克競(jìng)賽(簡(jiǎn)稱信息學(xué)奧賽)作為高中階段五大學(xué)科競(jìng)賽之一,其獎(jiǎng)項(xiàng)含金量和在各高校中的認(rèn)可度都很高。該項(xiàng)競(jìng)賽由中國計(jì)算機(jī)學(xué)會(huì)(CCF)主辦,并規(guī)定自2022年起將C++程序語言作為全國青少年信息學(xué)奧林匹克競(jìng)賽唯一編程語言。為此,小學(xué)階段開始學(xué)習(xí)C++編程也可以幫助有意愿參加信息學(xué)奧賽的學(xué)生打牢基礎(chǔ),做好鋪墊。

三、課程內(nèi)容及教學(xué)策略

(一)C++編程課程內(nèi)容

筆者開展的C++編程教學(xué)內(nèi)容主要參考了潘洪波編著的《小學(xué)生C++趣味編程》、林從厚編著的《課課通(C++)》兩本書。其中,《小學(xué)生C++趣味編程》一書,其課程內(nèi)容設(shè)計(jì)以程序?yàn)橹行?、以概念理解和常見算法掌握為重點(diǎn),每節(jié)課都由一個(gè)實(shí)際任務(wù)需求引出,通過該實(shí)例程序展示所教授的新的語法或算法知識(shí)點(diǎn)。

課程設(shè)計(jì)以“程序”為主干,語法內(nèi)容按照“用到講到”編排,即由示例程序帶出必要的概念和知識(shí)點(diǎn),主動(dòng)舍棄和回避超越小學(xué)生能力范圍的繁枝細(xì)葉,注重基礎(chǔ),力爭(zhēng)讓普通小學(xué)生都能聽懂、掌握,體驗(yàn)到成功的喜悅。

(二)C++編程教學(xué)策略

1.注重提升課內(nèi)教學(xué)效果。C++編程教學(xué)不同于語數(shù)外等學(xué)科教學(xué),是由于大部分家長(zhǎng)不能進(jìn)行課后輔導(dǎo),因此,課堂學(xué)習(xí)是學(xué)生掌握知識(shí)的主要途徑。在 “雙減”政策背景下,為不加重學(xué)生學(xué)習(xí)負(fù)擔(dān),筆者在開展C++編程教學(xué)時(shí)堅(jiān)持課前充分組織教學(xué)內(nèi)容、課上精講精練、課后不布置作業(yè)及安排自學(xué),即教學(xué)的重點(diǎn)在于教師的課前準(zhǔn)備和課上的高效教學(xué)(見下圖)。

上圖中,學(xué)習(xí)任務(wù)單的作用在于幫助學(xué)生課上快速梳理概念知識(shí)和鞏固練習(xí)語法、算法,同時(shí)節(jié)省大量學(xué)生做課上筆記的時(shí)間,提高課堂教學(xué)效率。此外,每節(jié)課的學(xué)習(xí)任務(wù)單主要包括基礎(chǔ)概念填空、閱讀程序?qū)懡Y(jié)果、程序完善和自主編寫程序四項(xiàng)內(nèi)容,其難度適中,是最適宜的學(xué)習(xí)支架。例如,在講解選擇結(jié)構(gòu)if語句一節(jié)課時(shí),首先教師通過“輸入一個(gè)200以內(nèi)的整數(shù)作為IQ值,判斷是不是天才”的案例程序?qū)胄抡n,引出并講解關(guān)系表達(dá)式和關(guān)系運(yùn)算符的概念;其次學(xué)生填寫學(xué)習(xí)任務(wù)單,完成“像60(n>=60)、n%2==0這樣的表達(dá)式;最后教師講解if語句的基本格式和用法,進(jìn)行閱讀程序?qū)懡Y(jié)果、完善程序、上機(jī)實(shí)地測(cè)試程序等練習(xí)。

2.注重結(jié)合數(shù)學(xué)學(xué)科知識(shí)。計(jì)算機(jī)編程是數(shù)學(xué)邏輯在機(jī)器上的最終實(shí)現(xiàn),人工智能是數(shù)學(xué)知識(shí)的高階運(yùn)用。小學(xué)生高年級(jí)學(xué)生已經(jīng)掌握了一定的數(shù)學(xué)基礎(chǔ)知識(shí),學(xué)習(xí)C++編程應(yīng)該盡量與這些數(shù)學(xué)問題相結(jié)合,讓學(xué)生感受到計(jì)算機(jī)程序能夠解決很多數(shù)學(xué)實(shí)際問題。例如,“閏年的判斷”是人教版小學(xué)數(shù)學(xué)三年級(jí)下冊(cè)第六單元“年月日”一課的拓展內(nèi)容。在小學(xué)三年級(jí)數(shù)學(xué)教學(xué)中,教師一般對(duì)閏年的計(jì)算方法總結(jié)為:“普通的年份要能被4整除,如果是整百的年份要能被400整除”。我們將此內(nèi)容作為if嵌套語句中的練習(xí)題,讓學(xué)生快速將數(shù)學(xué)中的判斷方法與if嵌套相結(jié)合編寫程序,理解掌握語句的使用。在講解“邏輯變量和邏輯運(yùn)算符”一節(jié)課時(shí),教師會(huì)再次將此數(shù)學(xué)問題提出,讓學(xué)生使用邏輯運(yùn)算符對(duì)程序進(jìn)行改寫,即x%400==0||x%4==0&&x%100!=0。對(duì)比兩個(gè)程序,學(xué)生會(huì)很容易發(fā)現(xiàn)使用邏輯運(yùn)算符同時(shí)對(duì)多個(gè)條件進(jìn)行判斷能夠大大簡(jiǎn)化程序。可見,程序編寫的方法具有很強(qiáng)的多樣性和開放性。

3.注重激發(fā)學(xué)生學(xué)習(xí)興趣。20世紀(jì)偉大的物理學(xué)家愛因斯坦曾經(jīng)說過:“興趣是最好的老師”。在小學(xué)階段開展C++編程教學(xué)能否取得實(shí)效,興趣則起著決定性作用。在教學(xué)實(shí)踐中我們發(fā)現(xiàn),大部分C++編程社團(tuán)中的活躍分子不僅癡迷于電腦游戲,而且還有很強(qiáng)的模仿和自主學(xué)習(xí)能力。為進(jìn)一步激發(fā)學(xué)生的學(xué)習(xí)興趣和探究欲望,我們?cè)诘诙卧樞蚪Y(jié)構(gòu)中多次以實(shí)現(xiàn)用戶登錄判斷為實(shí)例進(jìn)行教學(xué),從能夠判斷輸入純數(shù)字密碼到能夠判斷輸入符合網(wǎng)絡(luò)安全要求的“字母+數(shù)字+特殊符號(hào)”字符串密碼,使同學(xué)們對(duì)C++中“常變量”的概念理解更深刻、使用更熟練。

四、教學(xué)反思和啟示

通過近一年的C++編程教學(xué)實(shí)踐,我們切身感受到社團(tuán)內(nèi)的大部分學(xué)生能夠在輕松愉悅的學(xué)習(xí)過程中理解和掌握C++語言的簡(jiǎn)單語法和常用基礎(chǔ)算法,以程序?yàn)橹行?、以高效課內(nèi)教學(xué)為保障的教學(xué)實(shí)踐取得了很大成功。同時(shí),課堂實(shí)踐也反饋出一些問題,比如:課程內(nèi)容還需要進(jìn)一步精煉和完善,需要提供更多的課程資源;部分學(xué)生在遇到相對(duì)抽象的概念以及略為復(fù)雜的語法算法時(shí),情緒急躁,缺少探究問題、解決問題的內(nèi)驅(qū)力和自信心;由于教師缺少小學(xué)C++編程教學(xué)經(jīng)驗(yàn),對(duì)部分知識(shí)的處理過于簡(jiǎn)單,沒有真正落實(shí)到培養(yǎng)小學(xué)生編程思維、計(jì)算思維的目標(biāo)上。因此,任何教學(xué)活動(dòng)都需要在不斷實(shí)踐和反思中得到提升,小學(xué)C++編程教學(xué)實(shí)踐也給我們帶來很多啟示和思考空間。

(一)做好教學(xué)內(nèi)容儲(chǔ)備

目前針對(duì)小學(xué)生的C++編程教材還很少,學(xué)校開設(shè)這方面的課程需要由教師自行編排授課內(nèi)容。我們發(fā)現(xiàn),通過各種途徑收集整理后的教學(xué)內(nèi)容并不系統(tǒng)和完整,容易出現(xiàn)重要知識(shí)點(diǎn)遺漏、教學(xué)隨意性強(qiáng)等情況。筆者認(rèn)為,小學(xué)C++編程教學(xué)一定要做好充分的教學(xué)內(nèi)容設(shè)計(jì)。首先應(yīng)設(shè)計(jì)單元教學(xué)實(shí)例,即通過整個(gè)單元教學(xué)初步完成一個(gè)比較完整的實(shí)例程序,體現(xiàn)程序設(shè)計(jì)的模塊化思想。其次要精選課上練習(xí)題目。雖然上機(jī)調(diào)試程序是必須要安排的環(huán)節(jié),但為了提高課上效率,可以適當(dāng)在學(xué)習(xí)任務(wù)單上再多設(shè)計(jì)一些“閱讀程序?qū)懡Y(jié)果”和“完善程序”習(xí)題,其中,容易出錯(cuò)的題目可以到Dev-C++軟件中進(jìn)行驗(yàn)證。

(二)重視學(xué)員遴選

報(bào)名參加C++編程社團(tuán)的學(xué)生很多,雖然大部分學(xué)生之前都學(xué)習(xí)過類似于scratch的圖形化編程,但C++和scratch的學(xué)習(xí)難度存在一定梯次,很多學(xué)生輕視了兩者的學(xué)習(xí)差異;部分學(xué)生的邏輯思維理解力還不能滿足學(xué)習(xí)的要求;有些學(xué)生并不是真正對(duì)計(jì)算機(jī)編程感興趣,而是僅僅前來感受社團(tuán)學(xué)習(xí)的氛圍。為此,若以社團(tuán)形式進(jìn)行C++編程教學(xué),就一定要重視學(xué)員遴選。在開班前可以通過多種形式的測(cè)試進(jìn)行選拔,除考察學(xué)員的邏輯思維能力和數(shù)學(xué)思維能力外,還要有一定的程序代碼錄入能力。

(三)以培養(yǎng)學(xué)生計(jì)算思維為最終目標(biāo)

由教育部基礎(chǔ)教育課程教材專家工作委員會(huì)普通高中課程標(biāo)準(zhǔn)修訂組制定的2017版《普通高中信息技術(shù)課程標(biāo)準(zhǔn)》,提出將“計(jì)算思維”作為信息技術(shù)學(xué)科四大核心素養(yǎng)之一。計(jì)算思維的實(shí)踐可以幫助學(xué)生養(yǎng)成持續(xù)學(xué)習(xí)、嘗試多角度解決復(fù)雜問題,甚至提出新問題的能力。計(jì)算思維是個(gè)體運(yùn)用計(jì)算機(jī)科學(xué)領(lǐng)域的思維方法和在形成問題解決方案的過程中產(chǎn)生的一系列思維活動(dòng)。自2006年周以真教授提出計(jì)算思維的概念后,人們?cè)诮逃I(lǐng)域?qū)λM(jìn)行了長(zhǎng)期探索,其中谷歌提煉出來的計(jì)算思維四個(gè)核心要素具有較強(qiáng)的代表性。

通過實(shí)踐我們發(fā)現(xiàn),在C++編程教學(xué)中培養(yǎng)學(xué)生計(jì)算思維是一個(gè)非常理想的途徑。例如,在講解“編寫程序計(jì)算1+2+3+4+5……+n的和”的問題時(shí),可按照計(jì)算思維四個(gè)核心要素提供的方法引導(dǎo)學(xué)生進(jìn)行思考。首先將問題分解為用戶輸入n的值、計(jì)算數(shù)列的和及計(jì)算輸出結(jié)果三個(gè)部分,再引導(dǎo)學(xué)生觀察數(shù)據(jù),從中找出相同的模式、趨勢(shì)和規(guī)律。該數(shù)列為一個(gè)等差數(shù)列,假設(shè)n為10,我們會(huì)發(fā)現(xiàn)1+10=11,2+9=11等等,這樣就可以得到5個(gè)11, 那么結(jié)果為11×5=55。1+10=11,2+9=11等就是一種模式和規(guī)律。根據(jù)上面的模式識(shí)別,我們可以發(fā)現(xiàn)此問題即求一個(gè)等差數(shù)列n項(xiàng)之和的問題,求和公式為或。解決此問題的程序算法有兩個(gè),由于求和公式已知,可以使用C++中的算數(shù)表達(dá)式表示該公式進(jìn)行計(jì)算,輸出計(jì)算結(jié)果。但在計(jì)算機(jī)程序中我們更習(xí)慣于使用for循環(huán)結(jié)構(gòu)來解決這個(gè)問題,循環(huán)條件為i<=n,最后輸出計(jì)算結(jié)果。顯而易見,整個(gè)問題的解決都是在計(jì)算思維框架下完成的,計(jì)算思維有助于將復(fù)雜問題模塊化,以及發(fā)現(xiàn)或者洞察出隱藏在事物背后的聯(lián)系。

五、結(jié)束語

小學(xué)生學(xué)習(xí)編程并不完全是為了將來成為程序員,而是在學(xué)習(xí)中開發(fā)智力、培養(yǎng)創(chuàng)造力,學(xué)會(huì)運(yùn)用計(jì)算思維解決問題,因此,學(xué)會(huì)編程就等于擁有了一筆巨大的財(cái)富。雖然C++語言對(duì)于小學(xué)生來說其語法概念和算法邏輯有一定難度,但實(shí)踐證明只要課程內(nèi)容難度編排適度、教學(xué)方法靈活得當(dāng),學(xué)生就能夠在愉悅的氛圍中實(shí)現(xiàn)探究學(xué)習(xí)。在小學(xué)階段開設(shè)C++編程課程將是培養(yǎng)學(xué)生編程思維和計(jì)算思維的全新途徑。

參考文獻(xiàn):

[1]孫媛媛.移動(dòng)終端支持下的家校互動(dòng)平臺(tái)設(shè)計(jì)研究[D].煙臺(tái):魯東大學(xué),2019.

[2]潘洪波.學(xué)會(huì)編程 開始思考世界上的一切過程——小學(xué)生《C++趣味編程》校本教材開發(fā)研究[J].中小學(xué)信息技術(shù)教育,2017,(09).

猜你喜歡
編程教學(xué)計(jì)算思維語言
語言是刀
文苑(2020年4期)2020-05-30 12:35:30
核心素養(yǎng)下的循環(huán)結(jié)構(gòu)課堂教學(xué)實(shí)踐與思考
速讀·下旬(2018年6期)2018-06-01 11:40:04
讓語言描寫搖曳多姿
網(wǎng)絡(luò)資源輔助下的Python程序設(shè)計(jì)教學(xué)
基于奧蘇貝爾理論的編程教學(xué)前端分析
累積動(dòng)態(tài)分析下的同聲傳譯語言壓縮
程序設(shè)計(jì)課程中計(jì)算思維和應(yīng)用能力培養(yǎng)問題研究
民族高校C語言程序設(shè)計(jì)課程教學(xué)改革的研究
軟件工程(2016年8期)2016-10-25 16:03:32
算法的案例教學(xué)探析
淺談藝術(shù)專業(yè)學(xué)生計(jì)算思維能力的培養(yǎng)
绥滨县| 耿马| 龙里县| 南通市| 巴林左旗| 盘锦市| 天全县| 新民市| 双牌县| 克拉玛依市| 嘉黎县| 乌拉特中旗| 北碚区| 志丹县| 武威市| 兴海县| 沁源县| 讷河市| 滁州市| 宝山区| 嘉善县| 东辽县| 玛纳斯县| 和静县| 宜宾市| 横峰县| 金湖县| 汤原县| 达尔| 通海县| 阳城县| 江油市| 扶余县| 广南县| 唐海县| 龙口市| 内江市| 家居| 新竹市| 海晏县| 开原市|