請停止程式設計技術教育,啟動計算機式思考教育

banq發表於2016-04-09
這是一篇倡導計算機式的思想比單純技術更加重要的文章,程式設計技術固然重要,但是程式語言只是思想的表現形式,正如文字是作家的表現形式,作家寫作文字時,已經超出文字語言的束縛,透過文字語言來表達其豐富的思想和境界。而長期熟練使用計算機語言以後,你也不會再受語言的束縛,而是駕馭語言表達你的類似計算機方式的思考與設計。

原文Stop Teaching Programming, Start Teaching Computat的大意如下:

學校管理人員和教育工作者目前熱衷於認為每個學生都應該學習電腦科學。 “現在想想我們生活的世界,”紐約市長Bill de Blasio說,“成千上萬的好工作將提供給那些會程式設計者以及擁有其他一些基本技能的人“。 我認為每個人都應該學會計劃,但我不同意市長這個倡議的動機。 你學習程式設計不應該是為了得到一份好工作。 相反學習計算機式的思考方式能給你一種全新方式來理解和描述你的世界,在這種前提下再學習程式設計就會讓你變成一個更富有表現力的人(banq注:類似通曉多種語言形式對於人來說更富有表現力,比如文字是作家的表現工具,油畫是畫家的表現形式,音樂樂譜是音樂家的表現形式,如果一個人都能知曉這些表現形式語言,那麼他的精神世界無疑是豐富多彩的)。

我們用許多不同形式表達自己,每種形式都有其核心元素。 音樂家依靠音高、節奏、音色等核心元素;視覺藝術家和設計師使用顏色、形式和規模等;而 表演者使用運動、姿勢和時機等。 計算思維是另一種形式的表達,它建立在一組核心元素: 透過輸入和輸出將電腦與世界連線起來。 對記憶體地址取名被稱為 “變數”, 它跟蹤重要的變化的屬性,如溫度,銀行餘額,或按鈕。 “條件語句”能夠定義當一個屬性變化時該怎麼做(例如“如果我的銀行存款餘額低於10美元,請電子郵件通知我”)。 各種形式的“迭代迴圈” 用於不斷檢查系統輸入的變動並隨時更新輸出。 “函式”可以把幾條語句合併到一些可重複的動作中去。 這些概念構成了程式設計形式的基礎。

如果你想做些事情,你可能使用電腦設計它們,或者用電腦幫助你工作。 你也許會認為你只是一個新手,但是當你使用這些工具時,你其實在開始學習程式設計。 如果你認為計算機程式設計只是與數學有關,那麼你就錯了。 它只是與精確描述狀態或情況有關,當條件變化時給你一個該做什麼的好建議與方向。

考慮下面這些日常的情況:
» 如果溫度低於65°,開啟加熱器 ,
» 當鼓點開始時,本來靜音的吉他開始跟上,聚光燈照亮打鼓等音樂裝置。
» 先向左跳,然後向右邁出的一步。 把你的手放在你的臀部,這會讓你的膝蓋保持緊繃。

所有的這些語句體現計算機思維。 他們都可以被程式設計實現。

計算機思想家不只是程式設計師。 他們就像插圖畫家建立的錯綜複雜的模式,或像在Minecraft做一個很酷的小玩意,或做一個MIDI合成器演奏瘋狂的爵士獨奏。 他們不僅瞭解如何使電腦說話,他們還能想到計算機講會講什麼。 人們經常問:“我應該學習什麼語言? “其實這沒有正確的答案,因為如果你開始程式設計你要學習幾種程式語言。 挑選那些能令你興奮的語言來學習。 隨著開發每一個新的應用程式。你可能又會學習一門新的語言,你將會成為一個更好的程式設計師,並且因此會成為一個更好的計算機思想家。

口語和寫作不僅僅是語言學家做的事,那麼程式設計也不應該只是電腦科學家掌握的東西。 所以像掌握其他任何表達形式語言一樣學會掌握程式語言 ,當你掌握它後將會擴大你的世界觀,。



[該貼被banq於2016-04-09 19:35修改過]

相關文章