2017年11月30日 星期四

網頁設計 v.s. 程式設計

學習網頁設計究竟是不是等同於學習程式設計?


網頁設計和程式設計有沒有關係,答案是肯定的,但學習網頁設計是不是等同於學習程式設計呢?我想,答案是值得商榷的!

要回答這個問題,首先必須要回過頭來思考,學習網頁設計的目的是什麼?
是要學習做出一個讓人願意看下去的網頁?
還是要學習如何寫 HTML  code, CSS rule, JavaScript Code?

當我們把學習網頁設計變成學習寫  code,會扼殺了多少人學習網頁設計的念頭?

我並不反對程式設計普及化,但我不贊成為了教程式而教程式 ...

當我們把同樣的課程套用到全部的學生身上時,只會讓更多學生不願意學程式
因為他們不知道為什麼要學程式,不知道那些看不懂的 code 對他們有什麼用 ...

當我們一窩蜂的說大家都要學程式設計的同時,有沒有想過為什麼?

因為我教程設,大家都學程式設計我才有飯吃?(大誤)

學程式設計要學的是背後的邏輯思考跟運算思維而非拘泥於程式語法
不同的學生有不同的問題要面對,有不同的邏輯思考跟運算思維能力要培養
但如果我們把程式教育簡化成程式語言的學習,反而無法培養學生邏輯思考的能力 ...
因為他們忙著學語法看語法但不知為何而學 ...
也因此失去了學習程式設計的本意 ...

再回到網頁設計 ...

網頁設計的目標是什麼?當然是做出一個好的網頁 ...
當你有了一個主題,找到足夠的素材之後 ...
下一步就是要思考怎麼樣去規劃與設計一個好的網站

一個好的網站要有足夠豐富的內涵表現,清楚的網站結構!
究竟要如何安排網站結構,如何安排版面的規劃 ...
這就是網頁設計要解決的問題 ...
如何利用工具來幫助學生解決問題完成網頁才是我們需要訓練與培養學生的能力

至於用什麼工具,直接寫 HTML code、用 Dreamweaver、Bootstrap、JavaScript、jQuery 還是用現成的工具跟模板 ... 其實都不是最重要的
重點是學生能不能藉由學會的東西來解決問題完成一個結構清晰易於瀏覽的網站才是最重要的!
我們該做的是給予學生足夠的知識與能力去解決問題而不是限制所使用的工具!

就讓網頁設計回歸於其本質,不要再硬扣上程式設計的大帽子了 ...



2017年9月22日 星期五

為什麼要學程式?


"資訊科學有三個重要的觀念要建立,也就是computational thinking、algorithmic thinking與architecture thinking。這些是思維,沒有針對哪一個領域,哪一個應用,或是哪一門學科。資訊的東西往往只是個工具,希望能用來解決諸多事物,本身不是主角"
最近常常聽到的就是,每個學生都要會寫程式 ...
但我們有沒有想過 ... 為什麼?
我們的教育習慣簡化,聽到別人這麼做,我們也得跟著跑 ...
而 "會寫程式" 這句話最簡單的解讀就是學會一種程式語言 ...
但有沒有想過這背後的原因是什麼?
我很喜歡說 ... 寫程式是一門藝術 ... (大概想說這樣自己也算半個藝術家了 ...)
可是我們往往當成技術來教來學 ...
我曾經K過一本 swift 的書,典型的程式書 ...
寫得很清楚,可是就是從語法開始一路講下去 ...
因為有其他語言的基礎了 ... 所以讀得很快很開心 ...
但我相信沒有初學者看完後能知道怎麼寫一支手機程式 ...
因為不知道這些語法能怎麼用 ...
因為他只交代了技術面,卻忘了藝術的本質 ...
非資工系的學生為什麼要學程式?
重點不在程式而在學習思考如何解決問題 ...
程式語言只是工具,讓你用來解決問題 ...
當我們糾結於語言跟語法的同時,是不是也模糊掉了真正的目的?
甚或,扼殺了學生對於程式設計的熱情?

國高中生必修程式?

家長注意!國高中生107年起必修程式設計

看到這則新聞,在看看之前流傳的某高中資訊科技的考題(前20題如下所列) ... 在台灣教育制度不改的情況下,我實在不認為能夠有些什麼樣的改變 ... 程式設計是一門藝術,它背後的邏輯思考,解決問題的思維是要花時間去思索培養的,但對於大部分還在升學惡海中求生的高中生來說,有多少人願意花時間在一門跟升學無關的科目上?
我當學生時學過程式設計,當老師時也教過程式設計 ... 我知道對於學習動機不強的孩子來說,程式設計這門課對老師跟學生都是一種折磨 ... 對於老師來說,要如何引起學生的學習動機有時候比教程式設計本身還要具有挑戰性 ... 如果教育部沒有提供其他額外的配套措施,將來程式設計的考題可能也是這模樣 ... 你問這些孩子有沒有學過程式設計,答案是 "有" ... 再會不會自己寫程式?答案只有天知道了 ...

(C )1.利用齒輪帶動原理,發明第一台能自動進位的機械式加法器,指誰? (A)何樂禮 (B)巴貝奇 (C)巴斯卡 (D)愛達·拜倫
(B )2.發明以蒸汽引擎為動力的差分機,並設計了成為現代電腦先驅的分析機,是指誰? (A)巴斯卡 (B)巴貝奇 (C)愛達·拜倫 (D)高德納
(C )3.一般所認為的世界上第一個程式設計師是誰?(A)葛麗絲霍普 (B)巴貝奇 (C)愛達·拜倫 (D) 杜林
(A )4.設計了以打孔卡片來處理資料的機器,用以幫助當時美國戶政局進行人口普查,這機器也成為是資料處理電腦的前身。是指誰?(A)何樂禮 (B)巴貝奇 (C)巴斯卡 (D)葛麗絲霍普
(D )5.目前的電腦架構都是依據「內儲程式」的概念發展而成,請問此概念是由下列何人所提出? (A)巴貝奇 (B)巴斯卡 (C)何樂禮 (D)馮鈕曼
(D )6.誰制訂了世界上第一個商用語言COBOL,廣泛用於銀行、金融和會計行業等商業數據處理領域? (A)高斯林 (B)里奇 (C)高德納 (D)葛麗絲霍普
(B )7.誰研發出C程式語言,廣泛用於系統與應用軟體的開發,是近25年來使用最為廣泛的程式語言? (A)高斯林 (B)里奇 (C)柯德 (D)高德納
(A )8.誰研發出Java程式語言,廣泛用於跨平台軟體開發?(A)高斯林 (B)里奇 (C)高德納 (D)葛麗絲霍普
(D )9.誰是”電腦程式設計藝術”( The Art Of Computer Programming)的作者,此書是計算機科學界最受高度敬重的參考書籍之一?(A)杜林 (B)里奇 (C)高斯林 (D)高德納
(C )10.全世界第一套編譯器A-0是誰發明的?(A)里奇與湯普遜 (B)杜林 (C)葛麗絲霍普 (D)愛達·拜倫