32 亮LED燈的運算思維

(2018/07/11)

今天上營隊第三天的課,教學生利用迴圈讓LED燈從左到右亮燈,並且要學生改程式的一部份讓燈從右往左亮燈,學生居然不會,而採用土法煉鋼法來完成,這時我才發現我是用會寫程式的角度在教他們,怪不得學生不知如何改,所以讓我領悟到對於入門學生應該一步一步教起~~

題目:讓第一列的LED燈從左到右亮起

零、我一開始是用這程式來教學生的

  • 怪不得學生聽不懂

  • 打散重練

題目:讓第一列的LED燈從左到右亮起

一、解析:第一列代表y=0;從左到右 代表x=0到x=4

  • 一顆燈一顆燈亮起來,這是學生最容易理解的方法

    • 這時要讓學生修改如何讓燈從右邊往左邊亮起來,他們一定會!

二、請學生觀察如何拆解及找【相似】的東西(運算思維的第一步及第二步)

  • 如何拆解:如下圖的拆解,共拆成【相似】的部份有五個

  • 折解後有何發現:拆解後,發現除了x的值依序增加外,其他都一樣

三、利用【重複5次】的抽象積木來簡化複雜工作(運算思維的第三步)

  • 加入【重複5次】的積木

四、利用變數來取代X的值

  • 由於X的值不是固定,而是有規律的從0,依序增加到4,所以就用一個變數來替代

  • 先取一個變數的名稱,這邊取變數的名稱為X

  • 取完名稱後,要設定【變數X】的初始值,這邊設【變數X】的初始值為0

  • 將亮燈x後方的數值,用【變數X】來取代

  • 當燈亮一顆後,要將【變數X】的值增加1

五、變數【設為】與【改變】容易混淆

  • 學生常搞混

    • 所以又可將程式改為

六、利用【新的抽象積木】取代前面【重複5次】的積木來更簡化複雜工作(運算思維的第三步)

  • 這個【新的抽象積木】是結合了【變數】與【重複】兩種功能的迴圈積木

    • 利用新積木取代上面的程式

結論:感覺精簡了很多,但沒有經過上面的推演過程,直接要學生寫出這樣的程式,怪不得學生會聽不懂!!