程式語言基本概念、功能及應用2
文章推薦指數: 80 %
程式設計能力是未來新的"讀寫算能力", 是一項重要而又基本的技能. 1.資訊科學改變世界一切事物 ... 2.增進培養「運算思維」及「邏輯思維」能力,做事更精確、有效率.
程式語言基本概念、功能及應用2
為何要學程式設計?
解說:
程式設計能力是未來新的"讀寫算能力",是一項重要而又基本的技能
1.資訊科學改變世界一切事物
軟體吃掉全世界(資料比油田更重要)
2.增進培養「運算思維」及「邏輯思維」能力,做事更精確、有效率
https://www.managertoday.com.tw/articles/view/55799
資料來源:https://learn.hnvs.cy.edu.tw/mod/url/view.php?id=7490&forceview=1
3.提高升學競爭力或社會競爭力
學程式設計的目的不是一定要當資訊工程師或程式設計師,而是學習資訊科學的運算邏輯思維解決問題。
程式設計觀念溝通
1.寫程式是一種技能(技術)需要實際動手操作才能累積一手經驗就像食譜書不是看完就會做菜要真的去做實際做菜
2.為何使用別人寫的程式很簡單.但自己設計卻很困難
吃菜容易炒菜難
買菜容易種菜難
用電容易發電難
看電影容易拍電影難
滑手機容易設計手機APP難
3. 程式設計是實踐運算思維的一種手段.而各種程式語言只是一個工具或媒介來達成其目標
4.有人說:
程式語言成必備技能,專家:不一定要會寫,但至少要懂.
(1)不實作,怎會懂?怎能解決問題?怎能培養解決問題的能力?
(2)不會寫程式,怎會懂程式設計?
(3)學習程式設計,至少必須了解:程式語言/工具環境,程式設計方法,演算法,資料結構,這些都必須讀書和實作.
(4)沒有實作配合的"運算思維",只是個笑話.
(5)自以為懂,其實只是假懂,缺了實作,真懂很難做到
(6)不實作,怎知錯?
(7)實作,才知不足!
(8)實作,才會有樂趣!
資料引用:臥龍小三FB
程式設計核心-運算思維(ComputationalThinking)
教導運算思維重要觀念:
要學好運算思維與程式設計,是需要大量且長時間的思維訓練方得以畢竟其功,不要把國、英、數、社、自等課程減少時數來上程式設計?喔!不!千萬不要這樣做!這有幾個非常重要的理由:
1.每個人的資質不同,不是每個小朋友都適合進行這種抽象的程式訓練,如果他沒有興趣或學起來痛苦,就不要強迫他學吧!教育的本質是啟發與引導,而不是用大人對未來的思維,然後強加到這些幼苗上。
2.這裡要再次強調強調再強調基礎知識的重要,就以數學為例,一位加減乘除都不會的小朋友,別期望他會用電腦來設計程式;不知道月形變化的學生是無法設計出依月形自動判斷日期的程式!基礎知識不管是運算思維或是程式設計或是其它更多更複雜的學習,就像是大地一樣,支撐著未來可能的所有一切!
3.讓學生能夠在一般的課程中,日復一日年復一年的反覆訓練(無形中無意中),才能讓學生能夠『直覺的反應』,這樣才能具備將問題程式化的能力。
學習系統化解決問題,並具備實踐創意的能力。
4.教學生寫程式,不代表他們就有運算思維,反過來說,懂運算思維不見得會寫好程式,那又如何?話說寫程式也只是初步,資訊世界還很寬廣,如果懂得資訊世界的運作,心中有運算思維之後,或許有人會想閱讀程式去更加理解資訊世界。
完整概念
1.計算(運算)概念
計算是指“資料”在“運算符號”的操作下,按“規則”進行的資料變換。
簡單的例子:從小時候開始學習和訓練的算術運算,如“1+2=3”到國中較複雜的例子:對ax2+bx+c=0方程式求解等.由
算盤----->>-----加法器-->>-----計算機-->>----電腦---->>-----雲端
2.科學與思維
一般而論,三種科學對應著三種思維:
a.理論科學←→理論思維:理論思維又叫推理思維,以推理和演繹為特徵,以數學學科為代表。
b.實驗科學←→實驗思維:實驗思維又叫實證思維,以觀察和總結自然規律為特徵,以物理學科為代表。
c.計算科學←→計算思維:計算思維又叫構造思維,以設計和構造為特徵,以電腦學科為代表
3.CT的概念
(1)提出計算思維的周教授觀點
CT的本質是抽象(Abstract)和自動化(Automation)。
它是如同所有人都具備“讀、寫、算”(簡稱3R)能力一樣,都必須具備的思維能力。
英文期刊https://www.cs.cmu.edu/~15110-s13/Wing06-ct.pdf
(2)生活和電腦中通用的思維模式
既然某個思維模式在電腦科學中可執行的,那麼如果能夠用它解決生活問題,說明該思維模式在生活中同樣是可以執行的。
因此運算思維就是電腦中和生活中都能執行的通用思維模式。
範例
1.模組化,也是運算思維的一部分。
食譜當中的模組有哪些?「勾芡」就是太白粉加水。
「切丁」把食材切成小方塊狀,這同樣是個模組。
2.平行化,在程式設計時,讓程式同時處理類似或互不干擾的流程。
而在實驗流程裡,也會這樣做,像是進行某些加熱實驗時,我們會安排在加熱過程中,順道進行別的工作。
或是同步測量兩種溶液的溫度,或是同時測量某個燈泡的電流、電壓值。
而不是測完一個,再測另一個,理解平行化的同步處理優點,就可以有效率地解決問題。
(3)各種觀點運算思維的定義
圖片來源http://a-chien.blogspot.com/2017/04/6.html
解說:
牛刀小試1
1.模式識別:找規律性
牛刀小試2
2.抽象化:把現實世界中的物件轉到電腦世界的物件,藉由移除不重要細節,降低理解現實世界複雜度
實作1-視覺化程式語言-Blockly
BlocklyGames
教學影片
機器人(貓熊)走迷宮
第一關主要是讓學生熟悉環境,如果已經有學過Scratch的學生應該會很快就上手。
把程式積木依說明指示拉進程式區後,可按執行程式。
如果還沒過關,可以按「重設」讓主角回到出發點,修改程式後再執行一次。
如要移除程式積木,可以把積木拉進指令區或是垃圾筒。
第二關開始加入了「向左轉」、「向右轉」的概念,可以訓練學生的方向感,要完成任務的程式碼也比較多。
第三關開始,加入了一個「重複執行」(迴圈)的程式積木,老師可以示範原地旋轉。
由於程式會限制可以使用的積木數量,所以一定會讓學生使用「重複執行」的積木,只需提醒把向前移動拉進重複的區域中即可。
第四關開始才是真正練習使用「重覆執行」,一共可以使用5塊程式積木。
老師也許可以先引導不用使「重複執行」積木,只用向前、向左、向右寫程式,來讓學生觀察程式重複性,或用紙筆寫下程式執行步驟。
後續再把結論用「重複執行」包起來。
第五關是讓學生可以判斷何時才運用重複執行,何時不需要。
例如最前面一小段路,如果重複執行向前移動,主角會一直撞牆,可做為上課笑點,後面引導至長的直路時才使用迴圈的概念。
第六關加入了「偵測」的概念,並且需要「如果…,就執行…」的邏輯判斷,並且刻意設計成只有左轉的路徑。
提醒老師,左方有路的偵測積木,裡面是有下拉選單可以偵測「前方有路」和「右方有路」的。
還有左、右轉方塊也有下拉選單可用。
第七關的解法不只一種,但最基本的概念有兩種,一種是「摸著左邊的牆走」另一種是「摸著右邊的牆走」,也就是較短路徑的方式。
可做為後續較難關卡的一個基礎教學,讓學生仔細觀察兩種走法的不同。
第八關由於沒有叉路,很適合學生自行練習偵測左方有沒有路,或是右方有沒有路。
但往往容易遺忘偵測「前方」有沒有路,老師可適時提點一二。
另外偵測的順序也很值得讓學生在這關學習測試。
第九關加入了「如果…,否則…」的程式積木,讓整個程式更加複雜困難。
還有許多叉路、圓環在混洧視聽。
此關,可以讓學生先畫好要走的路線,並加入程式碼後,讓學生練習從腦海模擬程式執行,之後再看程式是否如設想的一樣。
是需要StepbyStep測試的一關。
過關後學生邏輯和抽象思考能力會大大提升。
第十關這可以說是Blockly中最難的一關。
所謂最難,指的是如何在有限程式碼內,找出最短行走路徑的程式邏輯。
以下提供一種解答,一開始有提示告訴你可以靠左邊走,所以我們沿著小人左方的路徑,只要左邊有路就先左轉後再移動,沒有左邊的路則往前走,如果左邊和直行都沒辦法,才選擇右轉,走進死路也沒關係只要再走出來即可。
資料引用中央輔導團長安國中呂添仁老師簡報
參考網站
https://tutorials.webduino.io/zh-tw/docs/blockly/games/maze.html
中央輔導團長安國中呂添仁老師簡報
https://sites.google.com/site/ssblockly/ren-shiblockly/code-xie-cheng-shi-jiao-xue
https://sites.google.com/site/warkeyli/blockly
延伸文章資訊
- 1從小學Coding 目的不是要當工程師,是培養台灣人缺乏的邏輯 ...
為什麼你的孩子應該學程式? · 台灣要有更好未來,就不能再讓學生受制傳統教育框架 · 不是英語,未來5 到10 年「程式語言」將全面進入人們的生活 · 目的並 ...
- 2用「邏輯」寫程式 - iThome
想要訓練與體會程式邏輯,我們可以透過基於邏輯的程式語言Prolog來進行. ... 因為,程式語言中有許多語法與元素--語言之外,還有資料結構、演算法等的 ...
- 3認識演算法(Algorithm)與運算思維(Computational Thinking)
演算法和運算思維,除了是學習程式的重要基礎,也能幫助你邏輯思考、解決問題。 ... 有了這些知識,你就更能有效運用科技解決問題。
- 4月刊 - 臺灣教育評論學會
綱的課程,讓教師們可以回學校長期推動程式教育。再者,有效 ... 校的狀況,以幫助老師能更有效率的提點孩子,也可讓家長在日常生活中協助孩.
- 5程式語言基本概念、功能及應用2
程式設計能力是未來新的"讀寫算能力", 是一項重要而又基本的技能. 1.資訊科學改變世界一切事物 ... 2.增進培養「運算思維」及「邏輯思維」能力,做事更精確、有效率.