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

?

基于開源硬件的初中S4A程序設計教學的探索和思考

2018-05-26 11:11李李
教育界·中旬 2018年2期
關鍵詞:程序設計算法

李李

【摘要】本文通過S4A編程平臺結合開源硬件制作智能紅外溫控風扇的實例來探索初中階段程序設計教學的一種思路:重算法和結構,輕代碼和語法,結合開源硬件將程序結構和算法融入學生的日常生活實例中,培養(yǎng)學生的算法思維,讓學生真正體驗程序設計的實用性和樂趣。

【關鍵詞】程序設計;S4A 開源硬件;程序結構;算法

【背景】

程序設計是蘇科版初中信息技術8年級第4章的教學內容。教材選取的是Visual Basic語言。主要教學內容目標是了解控制結構(選擇結構、順序結構、循環(huán)結構)和算法。VB作為一門面向對象的高級語言,雖然繼承了Basic的簡單易學特點,然而對于大部分初中學生來講,學習VB依然有較大的難度。同時,教材中選取的教學實例和編程練習基本是數(shù)學問題,這就讓學生(尤其是害怕數(shù)學的學生)學習時感嘆程序設計就像在做數(shù)學題——抽象、枯燥。教師很難達到預期的教學效果。

義務教育初中階段的程序設計教學并不是要將學生都培養(yǎng)成編程高手,《初中信息技術課程標準》指出:要讓學生認識使用信息技術解決問題的意義,掌握運用信息技術解決問題的基本過程,能根據(jù)任務的需要提出解決問題的方案,并能逐步實現(xiàn)。由此可見,初中階段的程序設計是要培養(yǎng)學生學習程序設計的興趣,不以代碼編寫訓練為要義,而以程序設計方法和算法思想的體驗為旨歸。強調從生活實際問題出發(fā),讓學生既能體驗并熟悉信息技術環(huán)境的優(yōu)勢,又能通過設計算法和程序結構的實現(xiàn),要在程序學習中培養(yǎng)學生利用編程解決問題的能力。

如何才能讓學生對程序設計有興趣,不畏懼?如何才能落實程序設計教學主旨?

由此,我想到了選修教材里的機器人和物聯(lián)網模塊??刹豢梢蕴蕴璙B,選擇基于可視化編程語言Scratch的S4A結合機器人和物聯(lián)網傳感器內容進行程序設計教學呢?

【實驗設計】

基于開源硬件的智能紅外溫控風扇的程序設計教學。預備完成風扇模型組裝,傳感器與編程板鏈接的學件。課程的設計淡化傳感器原理性知識和數(shù)字模擬接口的參數(shù)設置的講解。從程序結構和算法出發(fā),注重通過程序設計的理解解決實際問題。

教學情境:隨著氣溫的升高,風扇又重新回歸我們的生活。生活中的風扇總是需要人操作開關來設定它的工作狀態(tài)。有沒有方法,實現(xiàn)一個智能的風扇,當氣溫達到一定數(shù)值,有人在的時候才啟動工作狀態(tài),并能隨著氣溫的變化自動調整風速;當人離開時,自動進入關機狀態(tài),節(jié)約能源呢?

教學目標:通過實現(xiàn)智能紅外溫控風扇程序的編寫和調試,理解程序的三種基本結構,即順序結構、分支結構、循環(huán)結構,并能利用三種結構結合算法編寫程序解決實際生活中的問題。

準備:硬件(風扇模型、溫度傳感器、紅外傳感器、開源Arduino編程板);軟件(Scratch for Arduino)

教學設計基于開源硬件組合使用,從程序基本結構出發(fā),采取任務驅動形式。

任務一:實現(xiàn)智能風扇溫度控制功能

即風扇通過溫度傳感器判定外界氣溫是否滿足風扇工作的條件。

學生拼接溫度感應傳感器、直流減速電機和開源Arduino編程板,使用傳感器采集環(huán)境信息,在S4A(Scratch for Arduino)中編程,用分支(選擇)結構語句設計完成智能風扇的溫度感應功能;用循環(huán)結構實現(xiàn)風扇持續(xù)工作。

任務二:實現(xiàn)智能風扇溫度紅外控制功能

在任務一基礎上調整硬件組合,添加紅外傳感器,用分支嵌套修改程序,完成智能風扇的紅外控制功能。

任務三:實現(xiàn)智能風扇擋位自動調節(jié)。

用順序結構實現(xiàn)檔位,用分支嵌套結構在程序中完成隨溫度變化調節(jié)風速擋位功能。

每個任務環(huán)節(jié),請小組展示作品,并交流程序設計心得。學生通過風扇的工作狀態(tài)調試程序,直觀體驗實驗現(xiàn)象,很好地理解了程序設計的三種基本結構。這在過去用VB教學是很不容易達到的。

【思考】

基于開源硬件的程序設計教學,主旨是讓學生參與程序設計的學習。以程序設計為基礎,以算法為核心。不強調代碼編寫訓練,而以學生的程序設計方法和算法思想的體驗為旨歸。強調從生活實際問題出發(fā),讓學生既能體驗并熟悉信息技術環(huán)境的優(yōu)勢,又能通過設計算法和程序結構的實現(xiàn),以感悟理解算法和程序設計在解決生活問題中的地位和作用。

因此,初中階段普及性的程序設計的教學,筆者認為可以從這幾方面入手。

一、選擇合適的程序設計平臺

選擇一款適合義務教育階段一般學生心智的程序語言對于提高學生學習興趣,順利實施常態(tài)化程序設計教學尤為重要。選擇S4A(Scratch for Arduino)作為編程平臺,是因為S4A是使Arduino開源硬件平臺能夠簡單編程的Scratch修改版??梢岳斫鉃槟軌蜻B接硬件的Scratch。它的編程界面高度近似于Scratch。S4A(Scratch for Arduino)類似積木的指令操作簡單、直觀,讓我們找到了程序設計教學的突破口。

1.基于Scratch的S4A是可視化編程

與VB等編程語言相比,S4A以“所見即所得”的編程思想為原則,力圖實現(xiàn)程序與結果的同步顯示。編寫的程序執(zhí)行的時候,直接反應在鏈接的硬件上,化抽象為具體,大大提高了學習者的學習興趣。

2.基于Scratch的S4A指令模塊化,容易上手

基于Scratch的S4A和Scratch一樣有八大指令模塊,并且具有不同的外形和顏色。初學者無須花費大量的時間去記憶枯燥的語法,只需將左側所需指令塊拖入右側的腳本區(qū),如果兩個指令塊可以合為一體,就說明語法正確,否則就代表兩個指令塊不能直接相連,學生只需將右側多余的指令塊拖到左側指令塊區(qū)即代表刪除。這樣的設計,可以讓學生省去大量的程序調試時間,集中精力進行結構和算法的優(yōu)化和完善。

3. S4A與外部傳感器無縫連接,可以有效結合物聯(lián)生活

Scratch for Arduino (S4A)是Scratch的修改版本,它提供了一系列新的傳感器模塊與輸出模塊,并通過它們連接Ardunio開發(fā)板,而且它可以連接多塊開發(fā)板并顯示出多個獨立的開發(fā)窗口,讓使用者可以輕松搭建與生活實際緊密聯(lián)系的作品。

S4A作為一款提供傳感器模塊接口的圖形化編程軟件,以此為基礎的程序設計教學既有利于降低學生的思維難度,又有利于學生的思維從具體形象逐步發(fā)展過渡到抽象階段。從無形中消弭了學生學習的畏難情緒,為程序設計教學奠定了良好的軟件環(huán)境。

學生結合硬件和圖形化編程調試,有效地理解了程序的結構以及算法對于執(zhí)行結果的效率。

二、重算法和結構,輕代碼和語法

程序設計課程作為信息技術教學的一部分,不僅能提高學生的動手能力,也有助于學生思維能力的培養(yǎng)。過去教學一到程序設計部分,學生都倒吸一口冷氣,覺得好高深,好困難,一堂課下來,興趣完全缺失。在實際的教學中,學生對于VB的接受和認可度很低。教材中選取的教學實例和編程練習基本是數(shù)學問題,這就讓學生(尤其是害怕數(shù)學的學生)學習時感嘆程序設計就像在做數(shù)學題——抽象、枯燥。的確,VB這款成人化編程軟件由于命令冗長、結構復雜、邏輯思維抽象等特點,并不太適合義務教育階段一般的中小學生學習。

義務教育初中階段信息技術課程的 “程序設計”章節(jié)的基本定位:以程序設計為基礎,以算法為核心。不以代碼編寫訓練為要義,而以程序設計方法和算法思想的體驗為旨歸。

因為計算機語言和開發(fā)平臺日新月異,很可能現(xiàn)在學的編程語言等到學生將來深造或者工作時早已淘汰。但萬變不離其宗的是算法和結構。義務教育階段就是一個基礎教學階段,是打根基,修內功。

算法是程序設計的靈魂,程序設計教學首重算法。

算法(Algorithm)是指解題方案的準確而完整的描述,是一系列解決問題的清晰指令,算法代表著用系統(tǒng)的方法描述解決問題的策略機制。程序設計教學中算法的教學有助于學生計算思維的培養(yǎng)。

在程序設計教學中,讓學生理解順序結構、循環(huán)結構、選擇結構三種基本結構。這三種結構將伴隨程序設計,學生能在基于開源硬件的程序設計中靈活應用,深化理解。

三、程序設計實例趣味化、生活化

新課程倡導學生要自主、合作、探究學習。學習的動力來源于興趣驅動,適當?shù)慕虒W內容能最大限度地吸引學生。

隨著物聯(lián)網技術的發(fā)展,生活中的智能化產品越來越多。學生們在接納的同時,內心深處其實隱藏著對于智能設備功能實現(xiàn)的好奇。心理學研究表明,當學習內容和學生熟悉的生活情境越貼近,學生自覺接納的程度越高。

例如,本課選擇的智能風扇,原型是生活中常見的物品,每個學生都使用過。然而,加上溫控、紅外傳感器,配合程序就能實現(xiàn)無須人工干預的智能化行為。這種直觀顯現(xiàn)能極大地激發(fā)學生學習的興趣。

生活中還有很多這樣的例子,比如倒車雷達、自動感應門、火焰報警器、聲控樓道燈……

基于開源硬件的程序設計,教學可以將程序結構和算法思維融入學生的日常生活實例中,讓學生自己動手解惑、釋疑,體驗程序設計在現(xiàn)實應用中的作用,培養(yǎng)學生的算法思維,讓學生真實體驗程序設計的樂趣。

【參考文獻】

[1]伍冬莉. 創(chuàng)客教育下中學scratch程序設計教學模式探究[J]. 課程教育研究,2017(6).

[2]王同聚. Scratch與機器人共融在教學中的應用與實踐——以中小學機器人教學為例[J].中小學信息技術教育,2015(8):76-79.

猜你喜歡
程序設計算法
基于Visual Studio Code的C語言程序設計實踐教學探索
基于MapReduce的改進Eclat算法
Travellng thg World Full—time for Rree
從細節(jié)入手,談PLC程序設計技巧
進位加法的兩種算法
基于增強隨機搜索的OECI-ELM算法
高職高專院校C語言程序設計教學改革探索
一種改進的整周模糊度去相關算法
OBE理念下基于Greenfoot的Java程序設計課程教學改革
PLC梯形圖程序設計技巧及應用