台灣的程式大夢(四)沉重的疑慮

Martinet Lee
Education X Engineering
7 min readMar 13, 2017

這一篇會以第二篇”甚麼是好課”提到的幾個問題點來分析。同樣,各位可以對照依照年級整理的課綱版本。請注意到標紅的字,以及旁邊的編號「*1*2」。這些即對應下面提到的問題。

(一)碎片化的知識

高中:重要資料結構-樹、圖

前述高中程式設計中所提到的樹與圖,便是我稍有疑慮的地方。熟悉資訊的知道,其實真正要能了解樹、圖,通常要先教Class、Linkedlist、Queue、Stack等較基本的概念。因此這裡提的樹與圖不可能傳達完整的脈絡。

如果要傳達完整脈絡,則缺了前面的基礎觀念,需要修正。如果不是,則可能會淪為「樹狀圖適合表示甚麼樣的資料」、「圖適合表示甚麼樣的資料」之類的豆知識。這種大概講二十分鐘就差不多了。

(二)基本常識不基本

國三: 系統平台重要發展與演進、 系統平台之組成架構與基本運作原理、 網路技術、 網路服務

系統平台跟網路技術、網路架構,講了卻沒有用、沒有操作,那會記得多少?那會有甚麼收穫?我們來看看下面這一段來自維基對ftp的描述:

檔案傳輸協定英文File Transfer Protocol,縮寫FTP)是用於在網路上進行檔案傳輸的一套標準協議。它屬於網路傳輸協定應用層

FTP是一個8位元的用戶端-伺服器協定,能操作任何類型的檔案而不需要進一步處理,就像MIME或Unicode一樣。但是,FTP有著極高的延時,這意味著,從開始請求到第一次接收需求資料之間的時間,會非常長;並且不時的必須執行一些冗長的登入行程。

來看看可能出現的考題吧:

下列哪一種網路協定有比較高的延時?
(A) http (B) https (C )ftp (D) smtp

我是真的不認為在沒有後續的應用之下,這些知識會在三個月之後留下多少。即便有留下一些,這些其實也都是碎片化的、無法應用的。你去問大學學過這些的人吧!只要他不是在會應用這些觀念的領域裡,應該都忘得差不多啦。

其實不用等新的課綱,這樣的考試其實已經出現再現在的資訊考科之中啦。各位可以用Google搜尋”資訊科試題”或是”資科概 考題",去年翟本喬也曾經大力的批判過

說得直接點,無法對對孩子產生長期改變的,我認為即是浪費他們的時間。課綱內屬於這類疑慮的內容不少,因此我的擔憂也不小。

(三)應用變成一場美夢

我看到高中的其中一項加深加廣選修時,覺得如果只要有0.01%的高中生能夠理解他們在做甚麼,台灣就有救了,資訊產業不只起飛,都要升天了。

資訊科技應用主題可選擇:
大資料分析、資料探勘、影像處理與辨識、圖學、人工智慧及網路等。
資 T-V-2 資訊科技應用運算原理
資 Tp-V-1 資訊科技應用實作方法
資 Tp-V-2 資訊科技應用效能評估

這件事情有好幾個面向可以談,最基本的,即是高中生的基本知識是否足以了解這些東西的內涵。你去詢問任何一個此領域內的人,或至少有摸過一點皮毛的研究生,他都會目瞪口呆的盯著你看,然後後問:「…你認真的嗎?」

認真的說吧,資料探勘、人工智慧、大資料分析都需要極強的統計背景。我是交大電子所畢業的,也看了好幾本課本,修了好幾門相關的課。但我真的不敢自稱略懂皮毛。更別說大資料分析需要知道網路系統架構之間的關係,並如何在那些架構下加速運算,又是非常難的基本知識。對了,這些一般都是研究所的課喔!

圖學、影像處理與辨識的狀況也是如此。我也修過影像處理的(喔對,他是研究所的課)。稱得上圖學內涵的,大概都需要對”線性代數”、”微積分”理解才有可能懂。

然後現在高中生被預期在一個學期內理解跟實作。

另外一個很重要的面向,即是師資怎麼來?在這個時代對機器學習、大數據玩的很專業的,大概都去創業或加入Google之類的大公司了。這當然不只是台灣,全世界都捧著銀子求你。(這種人才真的是很稀缺的資源,不蓋你)

對,留著的大多不是機器學習跟大數據中專業的。那至少能講點道理出來的有沒有?像我的程度大概可以講一點點點皮毛,但是大概離實際使用還有一段距離。大多這樣專長的都已經加入其他一般的科技公司了。

依照經濟學的角度來看,本職專業是電機資訊,並能講得出一點東西的,幾乎都不會在教師這個行業裏面。**

那,能教這種全世界都熱門、世界頂尖大學都在研究的項目,師資怎麼來?是不是現有的電腦老師會被要求去上個一兩天或三四天的”機器學習課程”,然後發個結訓證明呢?

這裡便是我最擔憂的部分了。這類學科三四天當然無法講完,這種時間連基本精神都無法了解,更何況是要到實作。如果這門學科這麼容易,那價值也不會這麼高了。

就算不是三四天,就說是兩三周、兩三個月好了。台清交成的電機資訊本科學生搞了兩年都還不見得敢說自己弄懂的東西,卻要在這樣的時間內完成。受訓的老師真的有可能在短時間就了解,並可以授課嗎?

(四)學習環境扭曲原意

由於高中的加深加廣選修中的進階程式設計內容較多,各位可以先看課綱參考。內容中規中矩,真的是經典資訊工程該學的東西。哎呀一個懷念!我也是這麼學過來的。雖然對內容沒有特別意見,但是如果我們考量時數的話,又是另外一個故事了。

斯斯有三種,而根據課綱,進階程式設計則分成兩種。一種是2學分共40hr,另一種則是4學分共80hr。對照課綱內容,4學分的課程需要包含 有作※這個標記的內容。讓我們來數一下,他們分別包含的概念以及要求的實作數量。

2學分版本:7個資料結構與演算法的概念,其中6個要實作。另外還有演算法分析與除錯2個概念。最後則是有專題實作。上課時數40hr。

4學分版本:12個資料結構與演算法的概念,而且所有都要實作。另外還有演算法分析與除錯2個概念。最後則是有專題實作。上課時數80hr。

這邊先進行一個主要假設。由於程式設計並不是考科,可以想見大多來說,學生是不會額外使用時間在這個上面的。也就是說,實務上,不論是概念的教學還是實作,都是在課堂上進行的。

我自己的直覺是不論哪個版本,其實這樣的時數要到真正了解或實作,幾乎是不太可能的。當然,自己的意見並不準確,因此我請周遭認識的人估計一下:

台大電機資工雙主修哥:所有觀念了解需要24hr,但每一個觀念實作,平均40hr。(註:講的是4學分版本,算起來總共需要500hr)

交大資工博班大助教(一):一個觀念10hr,3hr講解,7hr實作

交大資工博班大助教(二):一個觀念4hr,1hr講解,3hr實作,但這是複述課(註:老師已經上課教過一次了)

交大資工所畢業:高中時至少花了一年才大概弄懂上面的東西 ,並大部分能夠實作。一周至少花12hr。(註:這樣算起來大約是600hr,講的是4學分版本需要的概念)

[1]用最少的時數來估計也爆量

復述課是老師教過一次,所以花的時數特別少。通常一個概念老師也是會講個3個小時,所以就算以這位的估計也需要7hr。2學分的版本單是7個資料結構、演算法就會是49小時,已經爆量啦!還沒算其他東西呢。更別說用其他人的估計時數了。4學分版本也是一樣。

[2]這些人是台大、交大資工系的學生

前三個講的是他們在大學中的經驗,最後一個講的是在高中的經驗。但無論如何,這些人都是台大交大的佼佼者,而且還是這個專業的。課綱則是施行給所有學生的,當然選修已經是對資工有興趣的人了。但我想說的是,這個時數對於台交的資工學生都不夠了,那對於其他人夠嗎?他們學到的東西,真的會懂嗎?

造成的結果可能是趕課並導致知識碎片化,又或是犧牲實作的時間,限定這堂課就實作某個概念,沒做完的自己回去想辦法。無論是何者,這就是學習環境扭曲了原本很好的內容。

在這樣的狀況下,不會真的懂的。

** 註:倒不是說老師都專業能力不強,也有強到我雙膝一軟的。我自己就曾拜過打數奧出身的清大博士為師,後來就是進到高中任教。但由於是當下的熱門議題,當然業界拉力強,只要是學有所成的都會被拉進世界級一流大公司如Google、Amazon去做事;只要有意願研究,並且背景符合電資領域的,都會被拉進台灣的一流大公司如聯發科、台積電做事。而且,所謂從經濟學角度看幾乎沒有,指的是沒有穩定占比,而非沒有例外!

下一篇:

台灣的程式大夢(五)定義不明的疑慮、思想準備的提醒

關注我們的粉絲頁:教育圈裡的工程師

Photo Credit: Unknown

--

--