編程還是被編程?這是個問題

>>>  創業先鋒 眾人拾柴火焰高  >>> 簡體     傳統

我們使用工具并不意味著需要親自制作工具。然而,如果我們希望能夠與現有的這個由代碼構成的環境交互,而不是處于完全被動的話,就需要了解基本的編碼。我們不應該把這種技能完全地推給某一階層或精英。


巴黎高科評論:首先,代碼是什么?


尼古拉斯·達內:有很多定義方式。首先,代碼是使機器運行的程序。如果沒有代碼,我們的電子設備包括電腦、手機就沒有生命。代碼是讓我們最接近機器靈魂的方式,使機器能根據我們的需求而運作。它是一些通過算法來自動完成任務的句法。這是第一個定義。


但是代碼也可以被定義為一種語言。因為它基于數學算法,我們過去傾向于認為它只是一個屬于數學家和工程師的領域。但實際上,許多語言學者已經對編碼和發明新的編程語言產生興趣。有些人甚至用代碼寫詩!斯坦福大學的學生就創立了一個俱樂部,將詩歌和編程融合在一起。代碼完全可以被視為一種說話和表達方式。


從某種意義上說,學習代碼和學習一門外語相似:開始會很艱難,但漸漸地,我們開始理解語言的邏輯性——每個人都有能力掌握它,因為說話誰都會。



因此,我們都能學會代碼,但有必要所有人都學嗎?


沒錯,任何人都可以學習代碼,包括兒童。只要使用合適的界面,孩子也可以輕松地碼代碼,而不必非得是編程天才或計算機學博士。就像你不必非得是莎士比亞才能說好英語一樣。理解基礎的編程語言并不復雜。事實上,大多數人每天都會處理幾行代碼:每個人都要在網絡瀏覽器中輸入 URL 地址;每個人都知道刪除 .com 后的整個序列會帶你回到首頁。


根據美國著名的網絡文化作家道格拉斯·洛西克夫所說,一個當代性難題在于“編程還是被編程。”這可能略有些極端:我們并不需要因為使用手機,而必須成為手機程序員。我們使用工具并不意味著需要親自制作工具。然而,如果我們希望能夠與現有這個由代碼構成的環境交互,而不是處于完全被動的話,就需要了解基本的編碼。我們不應該把這種技能完全地推給某一階層或精英。


公民需要基礎教育,所以對編程有所認識是有意義的。當我們學習讀寫時,最好能有一些編寫代碼和“閱讀”那個我們身處其中的數字世界的經驗。


對我來說,這幾乎與公民學一樣必要。不傳播民主的價值,公民將永遠無法找到自己在社會上的位置。同樣,如果我們不懂編程的邏輯,身處這個由代碼構成的世界就會感到不自由。就以 Google 這個每個人每天都會使用好多次的搜索引擎為例,如果我們不了解它是如何工作的、如何生成信息索引、信息又來自哪里、為什么一個查詢能反饋很多結果等等,就可能輕易地被這個工具欺騙。永遠不要以為,搜索引擎給出的結果就一定是真理;不要以為,除了搜索結果的前幾條其他都是無關緊要的。


簡而言之,你認為數字教育、喚醒學生對代碼的認識很重要。當然,這是公民教育的使命之一,但學校真的是教這門課的最好地方?


近年來在幾乎所有的西方國家都出現了是否應該在學校教授代碼的爭論。然而,改變整個學校計劃通常是很艱難的,而且我們沒有足夠的計算機教師來使編程成為一門像數學和英語那樣的主課。同樣,當法國于 2010 年將算法這門課引入高中課程體系時,那些沒有受過相關訓練的教師就有了麻煩。


有人會問為什么編程要單獨成為一個學科:如果編程就像寫作,那么所有學科都將涉及到。


我傾向于從另一個角度理解這個問題。在我看來,更重要的是采納學生的觀點進而了解什么才是對他們最有利的,而不是把精力集中在如何將編程加入到教育課程中去。


我們經常抱怨孩子們花太多的時間在屏幕前,這可能是正確的。但最重要的是,我們需要確保當孩子們在屏幕前時不只是處于一個被動的狀態。這就是編碼可以發揮至關重要作用的地方。如果一個孩子可以開始編程,通過適當的界面,他們很快就會體驗到其中的樂趣。因此,他們在使用 IT 工具時將有完全不同的體驗。


在這一點上,存在一個關于學習范式的基本問題:是從理論出發更好呢?還是將實踐和理論結合更好?就個人而言,我不認為你可以在不親自運行代碼的情況下理解編程。從實踐出發總是最好的,而不是通過閱讀代碼理論的書。當我還是個孩子時,我就是從嘗試編寫幾行代碼起步來學習編程的。我的代碼遠非完美,但這不重要,重要的是了解它們的背景和它們的運作方式。通過實驗來學習算法思想比單純閱讀理論書更有效。

  

但學校能提供這種方式嗎?


不一定。這種學習模式可以在課堂之外實現。每個學校的代碼和計算機文化是非常不同的,水準也有很大差別:教師、學生、硬件……相反,代碼的世界主要基于自學者和網絡支持。總之,這正是整個宇宙的創建方式。不將這些理想的水平協作模式融入到教學中,使之不同于傳統教學,將是一種恥辱。在第二個階段,這些處于傳統教育邊緣的主動性學習可以被重新組合、獲得進一步開發。不斷在邊緣地帶試驗、更新、整合,其實就是一種非常“數字化”的思維方式。


這種方式也會部分解決人力資源的問題,也就是說,大規模地招聘教師或是同等力度地將編程引入到小學或中學課程中去。然而,如果沒理解錯的話,你認為在中期內,學校的課程體系應該包含這些課外活動。我們甚至可以想象,如果數字時代必須改變學校,代碼就可以被視作觸發這一變化的特洛伊木馬,允許不同學習文化的發展。那么你如何看待學校的未來呢?


理想情況下,它應該比現在更加強調協作能力。孩子們需要學會通過與人交往來了解自己。這是一個鞏固知識的好方法。如果一個學生需給他的同學做出解釋,那么他就需要首先加強自己的知識水平。在這種背景下,老師在課堂上的位置也會改變。老師的工作將成為一種催化劑,而不只是傳遞知識。理想情況下,這種協同維度可以擴展到與來自其他國家班級的交流,在伊拉斯謨計劃*的初高中教育體系下。


未來的學校也將關注創造力。在實踐中學習,給日常生活中的問題提供解決方案:制作一個網站、設計一個小程序來自動化一組任務、編程連接對象、玩一個光傳感器,等等。在某種意義上,代碼非常類似于其他的創造性領域,如視覺藝術或音樂:在程序設計中,一個給定的問題很可能引起在優雅性和時效性方面全然不同的解決方案。最后,學習編程是一種發現和深化學習風格、培養創造力的方式。


*伊拉斯謨計劃(Erasmus Programme,European Community Action Scheme for the Mobility of University Students),是歐洲各共同體在 1987 年成立的學生交換項目,2014 年 1 月在它的基礎上創建了應用于歐盟現有教育、訓練及青年體育領域的交換計劃 Erasmus+。其國際版為伊拉斯謨世界計劃。


來源:sptreview.org


CocoaChina 2015-08-23 08:56:30

[新一篇] 程序員的八個級別

[舊一篇] 池建強專訪:談技術、成長及錘子
回頂部
寫評論


評論集


暫無評論。

稱謂:

内容:

驗證:


返回列表