雙減之後,學科類培訓基本涼涼,非學科類培訓中少兒編程貌似越來越火。似乎又成了卷娃的另一條賽道。
作為計算機專業的貝叔也一直從事著IT行業,對編程對程序員工作再熟悉不過了,在我們家娃還是小學低年級階段的時候就開始嘗試讓他接觸編程。
少兒學習編程到底有沒有用?
學習編程的目的是什麼,想要達成一個什麼結果,決定了認為孩子學習編程有沒有作用。
比如我家讓孩子學習編程的目的很簡單,先是感受電腦程序的神奇,接著是培養邏輯思維的能力,後來是接觸到數學思維+電腦編程的魔力增長了數學知識……
就這幾點我覺得我們家學習編程的目的達到了,所以我覺得還是有用的。
但如果很多家長是抱著“學習編程就是為了以後參加信息學奧賽,直接升入清華北大”這樣的大目標,我倒覺得還是順其自然的好。
學會編程真的可以直接進清華北大嗎?
確實是這樣的,每年國家都舉行大陸的信息學奧賽,簡稱NOI。如果孩子有幸以省隊隊員省份參加NOI考試,最終成績在全國前50名,那麼基本是跨進了清北的大門。
那麼真的有那麼容易嗎?首先你要能成為本省的省隊成員,才有可能參加全國賽NOI,而且是NOI的成績全國前50才行。
那麼是不是能進入省隊就穩了呢?也不是!因為不是每個省隊成員都能直接參加NOI的,名額有限,得要在省隊前5名左右才有機會。
好,再來看看怎麼才能進入省隊?目前選拔的主要依據是NOIP,然而參與NOIP最好是能提前參加CSP的認證考試,CSP又分為兩個層次,低層次的是CSP-J,高層次的是CSP-S。
所以,現在梳理一下。
-
小學五六年級、初中一二年級選擇CSP-J先熟悉信息考試,優秀者可以在初三或初三之前把CSP-S的認證拿到。
-
憑藉CSP-S證書就可以選報本地最好高中的信息學特長生了,順利進入高中後就可以全力以赴參與NOIP考試進入省隊。
-
若有幸進入省隊,肯定是要集訓的,拼腦力和練習的階段,能進入省隊前五參加一年一度的NOI全國信息奧賽,如果成績進入全國前50名,那孩子的高中生涯基本算是提前結束了。
少兒編程是選scratch、python還是c++?
編程是件非常枯燥燒腦的事情,鍛鍊的是邏輯性思維,高階的更是離不開數學思維。所以,要讓孩子學習編程,不能一下子就給到讓人眼花繚亂的字符編寫界面,需要從友好的人機交互界面開始,循序漸進。
所以在幼兒階段,小學三年級之前是應該選擇scratch進行編程環境的熟悉的。界面是卡通式,孩子看了會有玩的衝動;編程方式是積木式拖拽,孩子看了會用創意發揮的衝動。記得當時給我家孩子學習scratch時還做了簡單的好幾個小遊戲。這個階段就是玩中帶著學。
python是目前比較簡潔的編程語言,是從可視化卡通式編程界面切換到字符代碼界面的一種過渡。python的語法簡單,所以比較適合少兒編程入門。如果說孩子已經大了,已經錯過了scratch玩具式的編程學習時機,可以直接選擇python學習。
python的學習也是無基礎的學習,當然有過scratch的學習會好一些,但我認為操作原理不同,表現方式方法也不同,有沒有學過scratch就不重要了。
當然,如果要參加信息學奧賽,自然就離不開c++的學習。因為信奧賽的考試已經統一語言為c++。其實任何編程語言的學習基本大同小異,就是那麼幾個,比如瞭解這門語言的數據類型定義,各種運算符合和規則,然後熟悉編程的三種結構順序、分支和循環,再熟悉下數組和函數基本就差不多了。
參加信息奧賽難的不是c++編程,難的是編程思想,也就是數據結構和算法,隊列、棧、哈希表、深度搜索、寬度搜索、遞推、貪心、窮舉……另外還涉及到高等數學的數論等內容。
要知道這些知識已經是屬於計算機專業本科生的學習內容了,如果孩子真的在#信息學奧賽#這方面有所成就,那孩子肯定是在學習能力富餘的情況下完成的這些練習,高中生涯提前結束也是理所當然的。