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

?

基于圖形塊語言Blockly的創(chuàng)意趣味編程的教改初探
——以科教專業(yè)的算法與程序設(shè)計(jì)課程為例

2020-03-15 15:16:02李國勇駱建林
關(guān)鍵詞:編程語言C語言程序設(shè)計(jì)

白 禹,李國勇,王 慧,駱建林

(貴陽學(xué)院 大學(xué)科技園管理中心,貴州 貴陽 550005)

2017年2月,教育部印發(fā)了《義務(wù)教育小學(xué)科學(xué)課程標(biāo)準(zhǔn)》,明確提出小學(xué)科學(xué)課程起始年級(jí)調(diào)整為一年級(jí)且原則上要按照小學(xué)一、二年級(jí)每周不少于1課時(shí)安排課程。2017年7月,國務(wù)院印發(fā)《新一代人工智能發(fā)展規(guī)劃》,要求在中小學(xué)階段設(shè)置人工智能相關(guān)課程,逐步推廣編程教育,鼓勵(lì)社會(huì)力量參與寓教于樂的編程教學(xué)軟件、游戲的開發(fā)和推廣。信息時(shí)代給科學(xué)教育專業(yè)提出了新任務(wù),也給算法與程序設(shè)計(jì)課程提出了新要求。

1 科教專業(yè)算法與程序設(shè)計(jì)教學(xué)現(xiàn)狀與困境

科教專業(yè)不同于信息類的專業(yè),科教專業(yè)培養(yǎng)學(xué)生的目的不是成為一名信息技術(shù)從業(yè)者,而是能承擔(dān)中小學(xué)編程教學(xué)的教師。因此,就需要確定三個(gè)教學(xué)任務(wù):(1)熟悉一門易懂易學(xué)的編程語言;(2)通過編程訓(xùn)練了解和掌握計(jì)算思維,計(jì)算思維包括從現(xiàn)實(shí)中抽象概括的思維、將復(fù)雜問題分解的思維以及算法建模的邏輯思維;(3)學(xué)會(huì)如何將編程能力和計(jì)算思維整合以后向中小學(xué)生傳輸。

算法與程序設(shè)計(jì)以C語言教學(xué)為主,優(yōu)點(diǎn)在于:(1)C語言是一門在教學(xué)、科研與生產(chǎn)中使用非常頻繁的語言,市面上具有大量優(yōu)秀的教材與教輔資料,而且網(wǎng)上也有非常多優(yōu)秀的C語言開發(fā)課程,能方便學(xué)生進(jìn)行資料查找與拓展學(xué)習(xí);(2)對(duì)于科教專業(yè)的學(xué)生來說,C語言的學(xué)習(xí)有利于親近硬件,理解硬件。為進(jìn)行后續(xù)的Arduino課程的學(xué)習(xí),可以很快地理解和上手;(3)可以為學(xué)生自學(xué)別的編程語言,諸如Python、R語言、Java等,打下堅(jiān)實(shí)的基礎(chǔ)。

但是,通過長期調(diào)查發(fā)現(xiàn),學(xué)生對(duì)于這門課的滿意度與獲得度都不高,因此,這門課的通過難度大。其中一個(gè)最主要原因就是C語言教學(xué)。嘗試了很多種教學(xué)方法的引入進(jìn)行教學(xué)改革,效果仍然不理想。對(duì)原因深層剖析如下:

其一,專業(yè)中貧困生多,農(nóng)村學(xué)生多,在高中階段,基本沒有接觸過編程語言,民族地區(qū)信息技術(shù)發(fā)展仍然滯后,少數(shù)民族中小學(xué)生信息技術(shù)素養(yǎng)偏低。[1]很多同學(xué)坦言這是第一次接觸編程語言。C語言、C++以及Pascal是全國青少年信息學(xué)奧林匹克競賽(NOIP)指定用語。CCF NOI2019正式選手獲獎(jiǎng)中,貴州尚無獲得金牌和銀牌,只有三塊銅牌。多年來,難有金牌和銀牌。因此在初高中編程語言的掌握程度不高。

其二,二本學(xué)校的學(xué)生普遍英語和數(shù)學(xué)基礎(chǔ)差。由于英文基礎(chǔ)差,即使編程語言中只有少量的英文單詞,也會(huì)讓學(xué)生產(chǎn)生畏懼情緒。特別是計(jì)算機(jī)教材的例子中的變量名、函數(shù)名等,很多都是選取英文單詞進(jìn)行簡寫。進(jìn)一步加劇了這一種情況。學(xué)生變成了強(qiáng)行記憶字母組合,而不是根據(jù)變量需要存儲(chǔ)的值的意義的英文單詞的簡寫,這樣去記憶。無疑加大了工作量,而且在程序書寫時(shí),常常由于記憶錯(cuò)誤而造成程序出錯(cuò)。計(jì)算機(jī)算法需要數(shù)學(xué)功底和邏輯思維能力。由于學(xué)生數(shù)學(xué)基礎(chǔ)差,因此學(xué)生比較抵觸枯燥的算法邏輯的學(xué)習(xí),學(xué)習(xí)效率不高。

其三,二本學(xué)校的學(xué)生專注力與自制力較差。高校的專業(yè)課程門類多,而且難有如同高中大量的習(xí)題課與復(fù)習(xí)安排。高校的學(xué)習(xí)模式?jīng)Q定了學(xué)生需要自己花大量的精力在課前課后學(xué)習(xí)。二本學(xué)校的學(xué)生專注力與自制力在豐富多彩的高校生活面前更加脆弱。因此,基本上靠課堂老師講解與練習(xí)。一門課程得不到大量的練習(xí),就會(huì)造成越學(xué)越困難,甚至有不少學(xué)生從開始學(xué)習(xí)時(shí)的興趣滿滿到在中途放棄學(xué)習(xí)。

其四,C語言的編寫程序比較自由、語法格式不固定、語法細(xì)節(jié)多。[2]需要在一開始就要培養(yǎng)嚴(yán)格的代碼書寫規(guī)范。而且C語言難以做到編寫邊運(yùn)行。需要將整個(gè)程序基本寫完,才能運(yùn)行。每次運(yùn)行是從第一行代碼開始。這造成了學(xué)生難以很好地掌握編程。大量的精力用于去關(guān)注語法細(xì)節(jié),加大了學(xué)習(xí)C語言的難度。

2 圖形塊語言Blockly的概述

Blockly是一個(gè)開源的開發(fā)者庫,用于添加基于代碼塊的應(yīng)用程序,由Google開發(fā)并維護(hù)的,于2012年6月進(jìn)行了發(fā)布。[3,4]Blockly增加了一個(gè)可視化代碼編輯器的網(wǎng)頁和移動(dòng)應(yīng)用程序。Blockly編輯器使用互鎖的圖形塊來表示諸如變量、邏輯表達(dá)式、循環(huán)等代碼概念。它允許用戶應(yīng)用編程原則,而不必過多地關(guān)注語法或命令行上閃爍光標(biāo)。這樣可以將大量的時(shí)間投入到計(jì)算思維的培養(yǎng)上面。Blockly將代碼塊變成了類似于積木的圖形塊構(gòu)成,這使得用戶從枯燥的碼代碼變成了可以通過類似玩拼圖方式。將一個(gè)個(gè)代碼塊按照一定的順序拼接起來,實(shí)現(xiàn)簡單功能,然后再將每一個(gè)簡單功能進(jìn)行組合起來,最終構(gòu)成實(shí)現(xiàn)一個(gè)完整功能的程序。Blockly可以在多個(gè)操作系統(tǒng)平臺(tái)進(jìn)行編程與運(yùn)行,包括Windows、Linux、iOS以及Android。

與其他圖形塊編程語言最大的不同在于,Blockly可以將代碼自動(dòng)轉(zhuǎn)化為JavaScript、Python、PHP、Lua、Dart以及XML這六種程序語言。這使得學(xué)生在掌握Blockly的基礎(chǔ)上,平穩(wěn)地過渡到其他更為常用的編程語言。這種特性,正好是Blockly能成為一門優(yōu)秀的教學(xué)語言所具備的特性,能起到承上啟下的作用,而不至于讓別的語言的學(xué)習(xí)有突兀感,需要重新學(xué)習(xí)很多知識(shí)??梢栽趯W(xué)習(xí)Blockly的同時(shí),進(jìn)行適當(dāng)?shù)臄U(kuò)展教學(xué),為學(xué)習(xí)其他語言打下基礎(chǔ)。Blockly的代碼編輯器提供中文界面,這使得英語基礎(chǔ)差的同學(xué)不產(chǎn)生一開始的畏懼心理。

3 圖形塊語言Blockly的教學(xué)目標(biāo)

算法與程序設(shè)計(jì)使用Blockly語言進(jìn)行程序設(shè)計(jì)與算法展示,通過以設(shè)計(jì)為中心的小游戲,實(shí)現(xiàn)基礎(chǔ)概念和高級(jí)應(yīng)用融合,將理論和實(shí)踐有機(jī)地結(jié)合在一起。學(xué)生通過設(shè)計(jì)游戲,掌握知識(shí)點(diǎn),鞏固教學(xué)內(nèi)容。教師透過游戲的設(shè)計(jì),反思學(xué)習(xí)效果。最終的目的是使學(xué)生在掌握Blockly的同時(shí),得到編程素養(yǎng)、邏輯思維能力以及實(shí)踐技能的鍛煉,為獨(dú)立的解決實(shí)際問題打下基礎(chǔ)。具體的教學(xué)目標(biāo)有以下幾個(gè)方面:

3.1 知識(shí)目標(biāo)

了解Blockly的概念和應(yīng)用范圍;掌握Blockly的編程方式;掌握Blockly的八大代碼塊類型:邏輯、循環(huán)、數(shù)學(xué)、文本、列表、顏色、變量以及函數(shù);了解算法的概念和表示方法,特別是搜索算法與排序算法;掌握字符串的處理;掌握鏈表的概念與運(yùn)用,包括動(dòng)態(tài)鏈表和數(shù)字鏈表;掌握項(xiàng)目的設(shè)計(jì)開發(fā)流程;了解中小學(xué)生編程學(xué)習(xí)的特點(diǎn)。

3.2 能力目標(biāo)

算法與程序設(shè)計(jì)以“培養(yǎng)計(jì)算思維”“提高創(chuàng)新能力”“提升中小學(xué)信息教育”為宗旨。作為科教專業(yè)的專業(yè)基礎(chǔ)核心課程,培養(yǎng)學(xué)生具備從現(xiàn)實(shí)中抽象歸納問題的能力,簡單趣味游戲程序開發(fā)能力以及中小學(xué)信息技術(shù)教育能力,為貴州中小學(xué)基礎(chǔ)教育輸送更多優(yōu)質(zhì)的能勝任信息技術(shù)教育的人才。

4 圖形塊語言Blockly的教學(xué)實(shí)施計(jì)劃

教學(xué)過程中,按照“基本語言塊和基礎(chǔ)概念的講解-應(yīng)用舉例-設(shè)計(jì)題目-程序設(shè)計(jì)-編寫與實(shí)現(xiàn)-總結(jié)”這樣的流程進(jìn)行。通過基本語言塊和基礎(chǔ)概念的講解,將基本應(yīng)該掌握的知識(shí)點(diǎn)講解透徹。通過應(yīng)用舉例,進(jìn)一步講解和演示知識(shí)點(diǎn)的具體用法。利用精心設(shè)計(jì)的題目,讓學(xué)生自行設(shè)計(jì)程序,鞏固所學(xué)的知識(shí)。經(jīng)過模型的建立、代碼的編寫以及功能的實(shí)現(xiàn),能讓學(xué)生熟悉程序設(shè)計(jì)的基本開發(fā)模式與算法流程。最后,通過總結(jié)歸納,整理收獲。

整個(gè)Blockly課堂教學(xué)的時(shí)間分配,首先前10分鐘的時(shí)間,進(jìn)行知識(shí)講解,接下來的15分鐘,進(jìn)行應(yīng)用舉例,向?qū)W生演示編程的技巧與用法。然后用45分鐘的時(shí)間,讓學(xué)生完成一個(gè)簡單的程序設(shè)計(jì),在學(xué)生編程的同時(shí),巡查發(fā)現(xiàn)學(xué)生的編程問題。在學(xué)生課堂練習(xí)結(jié)束后,利用10分鐘的時(shí)間,對(duì)學(xué)生的成果進(jìn)行展示,并進(jìn)行點(diǎn)評(píng),提出不足,如何進(jìn)行改進(jìn)完善的思路,最后10分鐘進(jìn)行課堂教學(xué)總結(jié),并且重點(diǎn)講解學(xué)生遇到的共性問題,以及如何處理這些問題的方法。

算法與程序設(shè)計(jì)是一門基礎(chǔ)知識(shí)與實(shí)踐能力培養(yǎng)為主的課程,側(cè)重考查學(xué)生在實(shí)踐中運(yùn)用知識(shí)的能力。因此,這門課采取考察的形式。最后的綜合成績=期末成績(50%)+平時(shí)課堂成績(50%)。期末考查以實(shí)現(xiàn)一個(gè)相對(duì)復(fù)雜的游戲?yàn)橐蟆某绦蛟O(shè)計(jì)邏輯,代碼的優(yōu)化等幾個(gè)方面來評(píng)分。而平時(shí)課堂成績,主要是學(xué)生每一次的課題實(shí)踐作品的評(píng)分。

5 結(jié)論

綜上所述,Blockly比C語言能更好地完成算法與程序設(shè)計(jì)的教學(xué)要求。而且,Blockly將會(huì)在非計(jì)算機(jī)的教育類專業(yè)應(yīng)用的越來越多。通過教改探索,為科教專業(yè)以及相關(guān)專業(yè)在計(jì)算機(jī)教學(xué)方面提供一條新的思路。

猜你喜歡
編程語言C語言程序設(shè)計(jì)
壓力-體積轉(zhuǎn)換在CFC編程語言中的實(shí)現(xiàn)解析
基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
Java編程語言的特點(diǎn)與應(yīng)用
從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
電子制作(2019年9期)2019-05-30 09:42:04
基于C語言的計(jì)算機(jī)軟件編程
電子制作(2018年16期)2018-09-26 03:27:08
淺談不同編程語言對(duì)計(jì)算機(jī)軟件開發(fā)的影響
電子制作(2018年1期)2018-04-04 01:48:36
高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
面向?qū)ο骔eb開發(fā)編程語言的的評(píng)估方法
PLC梯形圖程序設(shè)計(jì)技巧及應(yīng)用
論子函數(shù)在C語言數(shù)據(jù)格式輸出中的應(yīng)用
广平县| 昭平县| 乌拉特中旗| 波密县| 涞水县| 西乡县| 莆田市| 西乌珠穆沁旗| 青海省| 新邵县| 青龙| 洪泽县| 鹿邑县| 同德县| 苍山县| 来宾市| 富宁县| 罗江县| 昂仁县| 左云县| 迁西县| 旬阳县| 峨眉山市| 三原县| 砚山县| 乐昌市| 枣阳市| 洮南市| 辽阳市| 无极县| 水富县| 涡阳县| 泾源县| 上高县| 萨迦县| 临安市| 万宁市| 札达县| 会理县| 六枝特区| 潮安县|