網路城邦
上一篇 回創作列表 下一篇  字體:
好玩、實用之後再談理論吧!
2014/05/12 11:40:18瀏覽1298|回應1|推薦13

昨天到高雄參加一個研習,因為講師是一位程式設計方面相當知名的作者,他的書常常在網路書店排行榜上與我的書競飆,我之前也買過(或向書商索取)很多他的書來參考,所以對他特別好奇,還沒上課就過去打招呼遞名片。他是沒注意到我也是電腦書作者,但是很熱心的與我討論他對於程度欠佳的程式語言初學者的一套程式教學創新作法。

他說:初學者學程式時,腦袋空空就開始寫程式碼一定很糊塗,也很挫折,所以他改寫了一套國外的流程圖設計軟體,可以用圖形介面拖拉建構一個流程圖,寫入關鍵參數之後,就可以自動產生程式碼還可以執行出結果。學生不必寫程式碼之前就可以用軟體產生程式與執行程式,等到他們充分理解程式邏輯之後再讓他們看對應的程式碼,教學效果一定大增!學生也會更樂於上程式課,不會一開始就被「程式碼」嚇走!他的書以後都要免費附上這個軟體,言下之意好像會讓他的書今後優勢大增!

我之前曾經談過我寫的書與以往的程式設計書籍,在架構上有很大的不同,就是不先強調學習理論與語法架構,先從實際範例實作之後才開始講解。好像教英文時直接告訴學生「How are you!」就是問好的意思!學生實作時可能根本還不認識其中的單字,但是已經可以看到電腦的正確反應,知道這句話(程式)是有用的,而且有些趣味性,然後再試著解釋細節。

相對的,這位作者就是屬於我說的對照組(傳統派),他依舊認定學好程式邏輯是第一件必須做好的事!所以他在寫程式碼之前加了一個圖形化流程圖的學習程序,他認為學生怕的是程式碼,而不是可以圖形化說明的程式邏輯。我和旁邊的幾位高職資訊科老師稍稍溝通後都認為其實應該不是這樣的!學生絕對更怕抽象的程式邏輯,甚於由簡易英文單字組成的程式碼!

學生多半不會一開始就在乎程式邏輯,就像教他們一句越南語問好的話,他們不會立即想知道其中的單字或文法,只會在意我照唸之後越南人會不會真的聽懂?等真的證實可以聽懂時,趣味性與實用性就出來了!這才是讓初學者覺得有趣、可以排除陌生的恐懼感,願意繼續上程式課的真正動力!會假設學生很在乎邏輯,應該只是出身於資工或資管系的老師們學院派自以為是的思維

所以我預期他的偉大創新只會讓學生更失去耐心,碰到不會教的老師還會讓學生壓力更大,將這個輔助理解程式邏輯的軟體變成多出來的功課作業!這種「巧思」也是我們的僵化教育體制下的一個副產品,就是很少從學生的觀點或習慣出發去設計教材,而是假設老師,尤其是大學教授「甚麼都知道」!只要老師認為對的東西一定就很好。

事實上我認為必須真正教過很多年書,而且教得很成功的老師,才是真正可以充分掌握有效教材設計的人!從昨天這位講師上課的互動情況就可以知道,他實際教學經驗應該不多,對於聽講者是不是都跟上了,他的感覺是不靈敏的,電腦操作的課程一旦斷線就接不下去了!如果聽講者不好意思提問,就等於自動離開課程,聽不下去了!所以昨天有一半的人下午就走了,或者繼續在電腦前面開始上網做其他的事情,留下來只是等下課時可以拿到一張研習證明而已,很多高中職老師與需要接受評鑑的大學老師都是為此而來的。

我的結論是:教程式設計真的不必太學院派,拘泥於凡事按部就班,好像不照程序學生就一定學不會,或者不懂理論就「亂」寫程式最後一定會「中毒」之類的荒謬思維。

沒這麼嚴重啦!請問誰是學會中文文法之後才開始學講話的?越是讓學生敢於嘗試,不要去擔心細節,反而更能讓多數人輕鬆的進入程式設計的領域。不嚴謹的學習過程會寫錯程式其實沒關係的,反正程式當掉時找出錯誤改正後就繼續走了!即使你用最嚴謹的程序學程式,寫出來的程式也會常常出錯的。這就像你能遵守餐桌禮儀吃飯很好,但不表示你不遵守禮儀就吃不到飯,或不守規矩時餐點會直接變成毒藥!這真的是想太多了!程式邏輯當然重要,但是等學生腦袋裡面已經有很多實作小範例的經驗時再教也一點都不遲!而且那時候多數同學才會覺得程式邏輯有意義,也才會願意聽講。

( 心情隨筆校園筆記 )
回應 推薦文章 列印 加入我的文摘
上一篇 回創作列表 下一篇

引用
引用網址:https://classic-blog.udn.com/article/trackback.jsp?uid=yccsonar&aid=13270105

 回應文章

阿龍(davis)
等級:2
留言加入好友
2014/05/14 13:08

您好,我也是出社會後才開始學程式設計的,剛學一個月,用網路上可汗學院和coursera的python程式設計課程(還沒上完),很喜歡看你的文章,對於你這篇文章的內容也挺認同,有個問題想請教您。

我己經稍微領略到程式設計的有趣之處,想為自己打個好基礎,google了一下,很多人說如果要作程式設計好手,就一定要學好資料結構,請問您認同這點嗎?這會不會是很難很麻煩的一門學問?

請問有關於資料結構的好書(原文亦可以)可推薦嗎?最好是用python作範例的,謝謝!

鄉下老師(yccsonar) 於 2014-05-14 16:49 回覆:

資料結構的理論我完全沒有正式學過,但是對於我做專業複雜的資料處理完全沒差,有基本的數學理解力似乎就夠用了!

你說在學Python語言,我也是完全沒學過,我比較建議你學通俗一點的VB、C#或Java,原因是如果你最終想用程式語言做一些實際的程式開發,譬如寫個APP,你會發現像Python或Perl之類業界較少用的程式語言,作起來會很困難。

學任何一種程式語言,都要耗費不少時間,學會之後當然希望甚麼事都可以做,或者做甚麼都可以找到充分的範例程式來參考最重要。你只要看書店有幾本Python的書和有幾本VB的書就知道這中間的差距了!