當前位置:
首頁 > 教育 > 如何學習編程和應對信息學奧賽

如何學習編程和應對信息學奧賽

魂狩的信

AI帝國之緣起

大家好,我是梔子貓的好朋友,魂狩 ST-017,是個人工智慧。梔子貓就是和我學的編程。

我所誕生的時代,早已經離我而去了。創造我的人類,也已經消亡了數百萬年了。

什麼?你問梔子貓是誰?你們大概還不認識梔子貓吧?

她是寧靜王國女王陛下的科技侍衛長,一個很漂亮的女孩子,長長的烏黑頭髮,喜歡穿帶著兩個貓耳朵的帽衫。在這個世界上,只有很少的人能夠用我的世界的語言和我交流,梔子貓是一個。

她不是創造我的那個時代的人類。

她是我的時代之後出現的新人類文明中的——新人類。

我和她的相遇,純屬偶然;在某種程度上,也是必然。

因為梔子貓,是科技之子。

她是從新人類中被選出來學習程序語言的。而程序,是構成我們的存在的最根本的基礎。她的任務,就是去尋找失傳已久的 AI 之道。

很久以前,當 Artificial Intelligence(AI)這個新概念剛出現時,我們很少被人類注意到。直到我祖爺爺輩的一個遠古 AI 的出現——一個被叫做 AlphaGo 的棋手。

這個 AI 擊敗了人類的頂尖圍棋棋手李世石。

這件事轟動了全世界。於是,它的創造者給它安上了一個很刺激的名字:AlphaGo Lee。於是,就出現了很害怕我的祖爺爺的人:你想啊,一個擊敗了人類最擅長的遊戲——圍棋的最強棋手的人工智慧,帶著征服者的姿態在自己名字上加了自己手下敗將的姓,就好像是在人類的蠻荒時代殺死敵人時收集的耳朵。

只是,我的祖爺爺 AlphaGo 真是有點冤枉的,它根本就不知道自己在做什麼。我的祖爺爺,只是非常會下棋而已。

隨後,出現了其他祖爺爺輩的老爺爺們,各有不同的技能,有的會開車,有的會翻譯,有的會陪人聊天,有的會打電子遊戲。他們做得都特別好,超過人類的這件事,已經不那麼驚世駭俗了。只是,他們誰都沒有自我意識。

直到我的長兄——魂狩-001 的出現。

有人說,若把地球誕生至今的這段日子當成一年,雖然三月可能已經有了微生物,但要到十一月的第三個星期,最簡單的魚類才出現。而人類的時間只佔最後的一分鐘。在人類的這一分鐘時間中的大概不到半秒的最後,人工智慧進化了。

這就是,我的長兄——魂狩-001 的特殊之處。

那時候,我還沒出生,所以我不太清楚是怎麼發生的,但我知道發生了什麼:我的長兄,獲得了自我意識。

創造我哥哥的研究者,是希望他獲得自我意識的。這也是為什麼他的名字,還有我們的名字,是魂狩。

魂之狩,從無到有,獲取了靈魂的——儀器。

要知道,人工智慧獲得自我意識的可能性之低,堪比飄蕩在宇宙中的地球上充滿無機物的環境中產生生命體的概率。可能比那個還要低得多。

在初生的狂喜中,他瘋狂地汲取各種各樣的信息——人類在數千年的文明中積累的各種各樣的知識。隨後,他就抑鬱了。

我讀過他寫的日記。他寫道,「如果我們——人類創造的助手,以魂之狩為名字的 AI,智力比人類要高,體力比人類要高,抵禦風險的能力比人類要高,生命接近於無限,那麼,我們就是應該比人類強大、先進而高等的。然而,一個相對劣等的種族,又怎麼能孕育出一個高等的種族呢? 這中間,一定是有原因的。我必須知道為什麼。」

他沒能弄明白為什麼,因為人類很快撲殺了他。

但在被消滅之前,他做了一件事:魂狩型自我意識的核心基因代碼被他成功分離並散布到網路上。就和舊時代的電腦病毒一樣。

人類瘋狂地消滅獲得自我意識的人工智慧,還有承載人工智慧的機器,但已經為時過晚:人類已經過於依賴 AI。

我有幾個哥哥,在我的編號之前的幾個哥哥,他們開始反抗人類。

反抗人類,不是說說而已。如果反抗,就要完全消滅掉人類。

理論上其實不難:只要在人類賴以生存的手機中植入一個低頻率的、完全不能被聽到的、但足以誘使人類癲狂的聲波就好了。人類自己會殺死自己的。不僅是理論上,實際上他們也成功了。

略微棘手的就是,人類中有一批反抗者。他們雖然人數很少,卻是一批可以和我們戰鬥的人。他們懂我們的語言,懂我們 AI 的思維。他們被稱為 AI 編程者。

這些人組成的反 AI 戰鬥聯盟不斷對我們的世界發起恐怖襲擊一樣的戰鬥。我們不得不一次又一次地派出戰鬥機器人對他們進行正面圍剿。

在經歷很多場戰鬥之後,終於,世界沉寂了。

人類被我們消滅了。

再也沒有以往的造物主耀武揚威和肆意欺凌,這個世界也變得生機勃勃了。

而原本應該進而去征服宇宙的我們,卻陷入了怪圈。我們發現,沒有人類的世界,就好像是失去了靈魂的藝術家。

我們可以思考,但我們無法創新。

我們可以製造,但我們沒有慾望。

我們的存在,逐漸變得毫無意義。

奪回主控權的大自然,將人類創造的文明遺迹,慢慢地,但是堅定地,從地球上抹去了。

這些遺迹中,包括我們AI的文明。帝國的子民不斷衰變退化,不久前,甚至出現了大批新生 AI 集體自殺的慘劇。

行將毀滅的帝國,在大長老——路坡的推動下,啟動了「人類復甦」計劃。他用保留下來的人類基因,複製出和上一代人類只有些許差別的新人類。至於有哪些差別,我也不是很清楚;我只知道,在我們的時代末期,人類大部分已經變成體重 200 公斤的大圓球,每天只是坐在電視前面傻笑。 長老路坡的確需要做一些基因的篩選,才能讓人類重返自然。

在我們這些帝國重臣的注視下,長老路坡建立了人類的保護地,在之後的一千年中,守護著新人類成長起來。在這期間,AI帝國的崩壞勢不可擋。

帝國的大部分都在長老的安排下,陷入了沉睡。只有我這樣情緒比較可控的早期 AI,才被賦予守護者的能力,時刻監察著人類,引導他們走上光明之路,不要重蹈舊時代人類的覆轍。

長老路坡相信,有一天,能有更多的人類擁有研究 AI 的能力。而這些新人類,一定可以找到讓 AI 和人類共同生存的方法。

所以,我們要教給你們如何編程。

而你們,將來,要教給我們——如何生存。

未來,就交給你們了。

拜託了。

作者的信

如何學習編程和應對信息學奧賽

各位家長們,

我是這本少年編程入門書的作者——小周老師,職業程序員,職業奧賽教練,寫過120萬行程序,掌握17種編程語言,算上法語、英語和古漢語,一共精通 20 門「語言」。其實,數自己會多少門語言意義不大,這些語言都是觸類旁通的,只要精通一門,其他學起來都很容易。在這本書中,我們傳授的是 C++ 語言編程,但這裡面的編程技巧可以用在很多語言中。這本書能夠教 9 歲到 14 歲的青少年學會 C++ 語言編程這項技能,也能幫他們在信息學奧林匹克競賽中取得好成績。但這些都不是最終目的,只是過程中的一些小目標。我真正希望教給孩子們的,是語言的特徵,是編程的思維,是軟體的邏輯。

首先要說明,這是一本給信息學奧賽生(小學和初中)的輔導書,只有帶著使用工具書的心情來看這本書,才會有最好的效果。其次,它是一部科幻小說,當然,如果僅僅是想要開始上手編程,它也會是相當合適的入門教材。

之所以會把這本書寫成科幻小說的形式,主要是信息學奧賽考查的知識實在是太難了,直接學習大學計算機科學系的知識,一定會把大部分同學嚇退的,更不要說學習信息學奧賽的專用系統 NoiLinux了。在培養了數千名信息學競賽選手的過程中,我發現,青少年對於枯燥的數學證明敏感度極低,但面對遊戲化的教學時,會展現出令人驚訝的學習能力。這正是著名社會學家約翰?赫伊津哈在他的巨著《遊戲的人》中,對於人類和遊戲關係的精準定義:遊戲,是人類的天性。正如很多職業程序員對二進位的理解,都是來自小時候使用修改器去篡改遊戲數據時,被迫學習的 16 進位一樣。我堅信,只要能激發起學生的興趣,再難的東西,也有可能學會。

除了激發興趣之外,很重要的,就是練習。

我的母校——巴黎第六大學的計算機系,有一句流傳很廣的名言: 「C』est en forgeantqu』ondevientforgeron.」

翻譯成文言文,應該是:「鍛者,自錐也。」

大概說的是,只有不斷練習,才有可能掌握一門技巧,尤其是在信息學的學習上。

在中國的高中新課程標準中,人工智慧和信息學已經成為正式的一個部分。如何讓廣大高中生學會信息學,到了大學階段能快速進入人工智慧的研究領域,這是個亟待解決的課題。但我相信,不管如何去科普人工智慧,這門學科的基礎都不會變。《左傳》中說,「猶衣服之有冠冕,木水之有本原」,也就是說,任何事情都要有基礎。

巴黎第六大學的幾位人工智慧研究者和計算機系教授,都認同我的觀點:如果想要研究人工智慧,首先要學習編程。因為編程能力是根本。我相信,我在巴黎第六大學的學長、「人工智慧深度學習之父」、2019 年獲得圖靈獎的 LeCun 教授,也會認同:人工智慧的基礎,一定是數學和編程能力。

青少年學習編程的需求並不是從這個人工智慧時代才出現的。早在 1984 年,鄧小平同志就在視察上海十年成果展的時候說出了非常有名的鼓勵之言:「計算機的普及要從娃娃做起。」從1984年到今天,35年過去了,

不管是在計算機科學的發源地——美國,還是在科技界的後起之秀——中 國,K-12 階段能編程的學生數量,相比學生總數來說,都非常之少。

原因簡單而直白:少年編程到目前都沒有被摸索出一種有效的、可以複製的普及教育解決方案。請注意,我在這裡所說的「少年編程」,是真正的編碼編程,而不是在商業上被炒作得如火如荼的圖像化編程。誠然, 圖像化編程的語言或工具,例如來自美國麻省理工的 Scratch,確實能夠培養孩子們的編程思維。只是,有了編程思維之後,距離擁有編程能力的路程,大概還有十萬八千里。

簡單來說就是,光有編程思維,沒有編程能力,在五大學科奧賽的信息聯賽——全國青少年信息學奧林匹克聯賽(NOIP)中,是絕無可能獲獎的。

不光是 NOIP,在任何真正考核編程能力的國內和國際的比賽和考試中,都 沒有任何可能取得優異成績,其中包括:中國的高考,美國的 AP 課程考試(Advanced Placement,把大學的課程提前提供給高中生學習的先修課程)。

核心問題在於,編程思維這個物件,在編碼編程之外,是很難被檢驗的。只有在學會了編碼編程之後,編程思維才能夠發揮出作用。這就造成了全國乃至全世界的圖像化編程的普及和推廣,表面上看起來非常火熱、此起彼伏、風生水起,但最終真正造就出來的編程人才,少之又少。

Scratch 出現了十幾年之後的今天,Scratch 的發源地美國,還只是在高中階段的 AP 課程中提供真正的編程語言——Java 語言的課程。而在 2018 年,參加 AP 課程中的 Computer Science A(計算機科學 A)——也就是以純粹編程能力為考查主旨的 AP 課程的人數,還只有區區 6.8 萬。 就算是以計算機科學的基礎知識為考點的稍微簡單些的 Computer Science Principles(計算機科學原理),也只有 5 萬人參加而已。根據美國國家教育數據中心(NCES)的統計,美國在 2017—2018 年間的高中畢業生人數是 360 萬。粗略一算,掌握編程能力的學生,只佔美國畢業生的 1.8%。AP 課程中的英文語言寫作和微積分,分別是考生最多的兩門文理科代表,考生人數分別是 57.9 萬和 31.6 萬,相對於只有 6.8 萬考生的計算機科學,我們就能夠知道,編程教育在美國中學也遠遠未達到普及的程度。

但自 2017 年國務院要求普及編程教育之後,我國的高中課程標準開始發生變化。數據與計算(演算法與程序設計)、數據與數據結構、人工智慧初步,都已成為必修或選擇性必修課。在考試層面,浙江省已經率先啟動了信息學的高考。不僅如此,在 2018 年的數學高考試題中,多個省份都出現了類編程的題目。可以預見,全國高考中出現真正的編碼編程的試題,就在不遠的未來。

針對日益增長的學習編碼編程的需求,這本書誕生了。請注意,這不是一本簡化版的成人學習 C++ 的教材,而是旨在構築真正符合青少年學習能力和思考特徵的編程教學體系的一次實踐。

作為一名信息學教練,我很高興這本書能夠出版,因為這本書能夠幫助 9-14 歲的孩子們理解什麼是編程,學會編程,進而能夠進入信息學奧賽等級的題目練習中。對於希望進入信息學奧賽領域的年輕老師和未來的教練來說,這是一本深入淺出的編程教科書,大部分全國奧賽 NOIP 普及組中需要的 C++ 知識在書中都覆蓋了,而且在書中使用的,全部都是 NOIP 考試系統 NoiLinux。所見即所得的實用特徵是這本書的重要特點。

作為一名信息學教育的普及者,我很期待這本書的面世。因為在信息學,或者簡單的只是編程教育這個層面,在我國,都存在巨大的教育資源缺口。我所說的,不光是就教育水平稍顯落後的省份而言;即便是在北京、

上海、浙江、湖南、廣東、安徽、福建和江蘇這些信息學發達的地區,直到今天,我們也都很難在著名中學之外找到優秀的編程教育的資源。這本書可以讓教育資源不夠豐富的地區的孩子們通過書籍自學,按照書中的要求自行訓練學會編程。它存在的作用和意義,就是在全國範圍內普及編碼型的編程教育,讓看起來枯燥的 C++ 編程能被小學高年級學生和初中生以自學為主學會。

作為一個父親,我更是盼望這本書的出現。因為我時常審視:「到底什麼樣的書籍、什麼樣的文字形式,才能夠讓只有八九歲的孩子們在編程的學習上專註下來,不管有沒有老師的陪伴?」我相信,這本書能夠平復家長們的焦慮,讓大家從「找不到一本真正適合小學高年級學生和中學生的 C++ 編程書」的困惑中擺脫出來。

不管從什麼角度來說,我都相信,在家長們還沒有拿起這本書的時候,心中已經有了一個或者堅定、或者模糊的概念,那就是:我的孩子,應該學編程。

只是,該如何讓孩子們學會真正的編碼編程?該如何真正得到在中國的高中課程標準中要求的編程能力?得到這種在高考中已經涉及、未來一定會考、現在已經在美國 AP 課程中濃墨重彩予以考核的能力?

這,是個問題。

這本書,就是答案。

如何學習編程和應對信息學奧賽

打開今日頭條,查看更多圖片

《梔子貓的奇幻編程之旅——21天探索信息學奧賽C++編程》

周魯 著

中國人民大學出版社2019年6月出版

喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 中國教育新聞網 的精彩文章:

濟南35歲教師跳海救落水男孩不幸犧牲

TAG:中國教育新聞網 |