程式語言基本概念、功能及應用2


為何要學程式設計?

牛刀小試1-名人談程式設計

解說:

1.資訊科技改變世界

軟體吃掉全世界(資料比油田更重要)

2.培養「運算思維」及「邏輯思維」解決問題的能力

培養解決問題的能力(四大核心能力):

Critical Thinking批判思考

Creative Thinking創意思考

Effective Communication有效溝通

Effective Interaction有效互動

資料來源:

https://learn.hnvs.cy.edu.tw/mod/url/view.php?id=7490&forceview=1

https://www.managertoday.com.tw/articles/view/55799

3.提高競爭力

(1)升學-高中(職)升大學(科大)


(2)薪資報酬

牛刀小試2-104人力銀行薪資情報

讀書的目的是就業賺錢(獨立自主.經濟獨立)

小結

學程式設計的目的不是一定要當資訊工程師或程式設計師,而是學習資訊科學的運算邏輯思維及培養解決問題的能力

圖形化(視覺化)程式語言2

實作1-Blockly Games

迷宮

 


第一關主要是讓學生熟悉環境,如果已經有學過 Scratch 的學生應該會很快就上手。把程式積木依說明指示拉進程式區後,可按執行程式。如果還沒過關,可以按「重設」讓主角回到出發點,修改程式後再執行一次。如要移除程式積木,可以把積木拉進指令區或是垃圾筒。


第二關開始加入了「向左轉」、「向右轉」的概念,可以訓練學生的方向感,要完成任務的程式碼也比較多。



第三關開始,加入了一個「重複執行」(迴圈) 的程式積木,老師可以示範原地旋轉。由於程式會限制可以使用的積木數量,所以一定會讓學生使用「重複執行」的積木,只需提醒把向前移動拉進重複的區域中即可。



第四關開始才是真正練習使用「重覆執行」,一共可以使用 5 塊程式積木。老師也許可以先引導不用使「重複執行」積木,只用向前、向左、向右寫程式,來讓學生觀察程式重複性,或用紙筆寫下程式執行步驟。後續再把結論用「重複執行」包起來。


第五關是讓學生可以判斷何時才運用重複執行,何時不需要。例如最前面一小段路,如果重複執行向前移動,主角會一直撞牆,可做為上課笑點,後面引導至長的直路時才使用迴圈的概念。



第六關加入了「偵測」的概念,並且需要「如果…,就執行…」的邏輯判斷,並且刻意設計成只有左轉的路徑。提醒老師,左方有路的偵測積木,裡面是有下拉選單可以偵測「前方有路」和「右方有路」的。還有左、右轉方塊也有下拉選單可用。



第七關的解法不只一種,但最基本的概念有兩種,一種是「摸著左邊的牆走」另一種是「摸著右邊的牆走」,也就是較短路徑的方式。可做為後續較難關卡的一個基礎教學,讓學生仔細觀察兩種走法的不同。



第八關由於沒有叉路,很適合學生自行練習偵測左方有沒有路,或是右方有沒有路。但往往容易遺忘偵測「前方」有沒有路,老師可適時提點一二。另外偵測的順序也很值得讓學生在這關學習測試。



第九關加入了「如果…,否則…」的程式積木,讓整個程式更加複雜困難。還有許多叉路、圓環在混洧視聽。此關,可以讓學生先畫好要走的路線,並加入程式碼後,讓學生練習從腦海模擬程式執行,之後再看程式是否如設想的一樣。是需要 Step by Step 測試的一關。過關後學生邏輯和抽象思考能力會大大提升。



第十關這可以說是 Blockly 中最難的一關。所謂最難,指的是如何在有限程式碼內,找出最短行走路徑的程式邏輯。以下提供一種解答,一開始有提示告訴你可以靠左邊走,所以我們沿著小人左方的路徑,只要左邊有路就先左轉後再移動,沒有左邊的路則往前走,如果左邊和直行都沒辦法,才選擇右轉,走進死路也沒關係只要再走出來即可。

資料引用中央輔導團長安國中呂添仁老師簡報

參考網站