返回列表 回復 發帖

小孩應該學程式設計嗎?

- 不一定!先問問孩子是否感興趣。
Should Kids Learn to Code?
作者╱涂費克奇 ( Zeynep Tufekci )
譯者╱潘震澤
讓小孩學程式設計這個想法得到美國政府的支持:美國前總統歐巴馬在2016年的國情咨文中說,美國應該提供「每個小孩實際操作的電腦及數學課程,好讓他們一出校門就能上手工作。」不久後他就提出40億美元預算的「人人學電腦」計畫。

科技公司也很熱情:亞馬遜公司希望藉由「亞馬遜未來工程師」計畫,每年教導1000萬名小孩學會程式設計;臉書、微軟、Google及其他公司都推出類似計畫。許多家長也同樣積極:根據一家致力於推廣電腦科學教育的非營利網站Code.org調查,90%的父母希望孩子在學校裡學電腦;這可解釋為何針對孩童的學習課程和電腦程式語言這麼流行,例如Scratch以及「一小時玩程式」(Hour of Code)。

那麼你要不要給小孩報名電腦營呢?要不要堅持他們選電腦課?答案可能是要,也可能是不要。我在孩童時就學會了程式設計,那對我很有用。我用打工賺的錢買了台個人電腦,學會了Basic程式語言及一些機器語言。那就像解謎,很有趣。我在大學第一年找的第一份工作就是軟體設計師。軟體設計師的工作一向缺人且薪水不錯,至今依然。那麼為何答案也可能是不要?

對我來說,程式設計很有趣,但對不那麼感興趣的小孩又是如何呢?因為對將來找工作有幫助,他們就應該學程式設計?對此我有所保留。幾十年後的電腦程式,不大可能與現在相同,例如機器學習(許多人認為的人工智慧)就與提供電腦詳細的一步步指令不同;反之,我們只要提供大量數據給機器學習演算法,程式本身就會建構出可以運作的模型。

舉個明顯例子:過去Google翻譯背後的程式碼多達50萬行,如今運用機器學習,只需要500行左右。關鍵挑戰不在於懂得某種程式語言,而是Google已有足夠多數據,也了解電腦建構模型的數學運作原理,因此可進行微調並測試。

以未來的電腦運作模式來看,什麼是重要的?技術層面大部份還是數學,例如統計、線性代數、機率及微積分。除了程式設計,數學在許多行業仍是一項重要的技能,對日常生活也屬必要。演算式思考(algorithmic thinking)不一定要來自電腦程式,懂一點數學,加上從烹飪、縫紉、編織得來的學習經驗(這些活動都涉及某些類型的演算法),對這類思考都會有所助益。

不過,電腦程式設計鼓勵建構封閉的世界,那在未來會更重要,也是讓我覺得電腦程式十分有趣的部份原因:藉由一個個指令把某個複雜的想法組裝起來,然後在建構好的世界裡玩耍,相當神奇。不幸的是,那與今日科技公司所做的事差別甚大。程式設計師在做的是製造與現實生活互動的工具,而現實生活可是十分雜亂且具挑戰性。程式設計師想要建構封閉世界,可能會妨礙他們了解工具如何實際運作。目前我們需要通曉歷史、社會學、心理學、數學及電腦的人,也需要同時善於分析複雜、開放以及混沌系統的人。

那你該讓感興趣的小孩參加電腦營?或讓小孩玩電腦教材,看能否引發興趣嗎?絕對沒錯。但如果孩子想學做蛋糕、縫紉或爬樹,也不用擔心。我們要確保年輕人不會認為這個世界強迫他們在數學-科學及社會科學-人文學科兩邊做選擇。我們面對最有趣、可能也是最具挑戰性的問題,就位於兩者交會處,而不是為了好玩而建構的微型封閉世界。
返回列表