-
>
(社版)玫瑰色的森林
-
>
(社版)金色的雨(精裝繪本)
-
>
(社版)海藍色的小水桶(精裝繪本)
-
>
(社版)白色的禮物(精裝繪本)
-
>
它們:水怪時代
-
>
家門口的大自然系列:奶奶的花園 奶奶的菜園(全2冊)
-
>
創意立體紙魔坊玩具書——賽車 作業車
少兒計算思維養成記:六個孩子的編程學習筆記 版權信息
- ISBN:9787111702481
- 條形碼:9787111702481 ; 978-7-111-70248-1
- 裝幀:一般膠版紙
- 冊數:暫無
- 重量:暫無
- 所屬分類:>>
少兒計算思維養成記:六個孩子的編程學習筆記 本書特色
本書獲得中國科學院科普專項資助,被中國計算機學會推薦為十大科普圖書。 本書是六名小學生的編程學習筆記,忠實記錄了中科院計算所三位研究員教授孩子們養成數學思維與計算思維的過程。 本書通過25講編程基礎和動手實例,以親子教育的方式講述六個基本計算思維,適合6~15歲青少年與老師或家長一起閱讀,讀者可從書中鏈接下載實例代碼體驗。 科學大師和教育名師聯袂推薦。
少兒計算思維養成記:六個孩子的編程學習筆記 內容簡介
這本書是筆記,它的特色是“小學生寫給小學生看”。現在市場上的書絕大部分都是大人寫的,雖然作者盡量試圖從小學生的角度來寫,但畢竟還是有一些隔閡。而這本書忠實記錄了小朋友自己的學習歷程和心得體會,包括成功的經驗,也有遇到bug時的挫折。例如:在實現劉徽割圓法估算圓周率π時,傅鼎荃懷疑“大圓的π應該更大”,通過實驗才確信了一樣大。這樣的小孩子特有的疑問和探索,是大人想不到的,也是大人寫的書里不會有的。此外,寫作風格也是一個特色:這本書是小孩子自己寫的,有小孩子自己的語氣和思維方式,或許更適合小學生讀者接受。 這本書是“計算思維從娃娃抓起”的一個嘗試。所謂計算思維,是用計算機的概念來求解問題、理解自然現象與人類行為的思維方式。 我們并行開設“奧數班”和“編程班”;在此過程中,也發現了求解同一個問題時,數學思維和計算思維的異同。 以和差倍問題為例,奧數班教的是“線段圖”法,其本質是一元一次方程的求解,是逆向的;而編程班上教的是“枚舉法”,其本質是試錯,是正向的。 我們在書里會穿插著講解這兩種思維方式的異同。 此外,仿真自然現象,是認識自然規律的利器。“森林里老鼠和鷹的數目變化”這一講是這種思維方式的代表。本書講編程,更重要的是用編程來思考問題、認識自然現象和人類行為。這本書是由3-5年級小學生編寫,適用于小學高年級,以及中學低年級的學生。
少兒計算思維養成記:六個孩子的編程學習筆記 目錄
少兒計算思維養成記:六個孩子的編程學習筆記 節選
教師的話一 2018年的一天,我給同事包云崗打了個電話,說:“孩子們上二年級了,能否在輕松、活潑的氛圍下,引導孩子們學一些數學思維呢?”云崗很贊同,我們就一起組織了一個小SIGMA數學特別興趣組,權且由包云崗、蘭艷艷和我擔任老師,學員就是我們自己的孩子。 在這個特別興趣組中,學生用書是通用的奧數教材,不過教師用書可不太普通—我們用的是G. Polya寫的《怎樣解題—數學思維的新方法》(How To Solve it)和陶哲軒寫的《陶哲軒教你學數學》。換句話說,我們踐行的是Polya的數學教育觀—重在傾聽孩子們的理解和猜想,重在引導孩子們觀察、嘗試、聯想、歸納、做“合情推理”,總之是一種“慢數學”的風格,有時候我們甚至2個小時只講一道題。 一開始的確看不出成效,但等到三年下來,才慢慢發現孩子們有了一些進步—當然,這些進步不是指孩子們參加某個杯賽拿了個獎,而是指孩子們掌握了一些基本的數學思維,體現在自己能夠提出和證明一些猜想,比如包若寧、卜文遠、魏文珊小朋友提出了三階幻方的“包卜魏猜想”,傅鼎荃小朋友在學習“雞兔同籠”問題時,完全自主地想出了“二分法”。在思維火花迸發的尤里卡時刻,孩子們興奮得又喊又跳;躬逢其時,我們也非常欣慰—這是對教師*大的肯定和褒獎。 等到了2020年春節,因為出現疫情,孩子們都憋在家里,很是無聊,就嚷嚷著讓我們教他們編程。教一門編程語言容易,但是關鍵不在這里,而在于教“計算思維”,這給我們出了一個不小的難題。 事實上,包云崗、蘭艷艷和我都在中國科學院大學教計算機科學與技術:包老師講授“操作系統”,負責“一生一芯”實踐計劃,講解如何設計CPU和計算機系統;蘭老師講授“機器學習和人工智能”,訓練計算機怎樣學習;我講授“計算機算法設計”,包括怎樣觀察問題和求解問題。簡而言之,我們教的都是“計算思維”。 不過我們面向的都是本科生和研究生,能否教小學生計算思維?教什么?怎么教?這對我們來說是全新的挑戰。這可不像教數學,還有Polya和陶哲軒寫的書能夠當作教材,給我們一些指導。 我們在開課前思考了很久,教的時候又邊教邊琢磨,把教授本科生、研究生的計算思維進行裁剪和修改,形成了一個初步的“小學生版”計算思維。 所謂計算思維,其核心是碰到問題時如何觀察、如何嘗試,然后如何根據觀察到的規律設計計算機程序來求解問題。下面這幾條或許是*基本的計算思維: (1)先正向嘗試理解題意,再反向求解問題 碰到一個問題如何下手?孩子們往往會對著問題發呆,感覺束手無策。這不怪孩子們,求解問題是“反向思維”,有時候的確不太容易一下子就想出來。 在這種情況下,“先正向嘗試理解題意,再反向求解問題”是走出困境的一個好辦法。以“雞兔同籠”問題為例,可以先嘗試一下“雞有0只”,即使這個嘗試非常粗糙也沒關系,然后驗證這個嘗試對不對,不對再修改嘗試,比如接著嘗試“有1只雞對不對”,如果不對再增加雞的數目。 先嘗試猜測一個解(或許這個解很粗糙,這不要緊),再驗證這個猜測是否滿足要求,不滿足要求就修改;這種“嘗試-驗證-改進”策略是“試錯法”,也是“逐步改進法”。正向嘗試有助于理解題意,或許應該成為孩子們碰到問題時的“**反應”。 這種策略看起來很笨,不過卻有三個好處:一是能夠使孩子們動起手來,避免發呆;二是能夠啟發我們寫一個求解的程序;第三點更重要,孩子們嘗試不了幾次,可能就會自己發現規律,想出更好的求解方法—這不是想象或夸張,SIGMA的孩子們就是這樣想出求解方法的。 說得更遠一點兒,計算機科學與技術里普遍采用這種“用正向嘗試來反向解題”的策略。一個典型的方法就是神經網絡的訓練過程—嘗試設置網絡參數,做正向的網絡傳播,驗證傳播的結果,如果不好就修正網絡參數,*終反向求解出網絡參數。 (2)從*簡單的做起 碰到一個復雜的問題怎么辦?比如“四個和尚分饃饃”問題,唐僧師徒4人化緣化到了10個饃饃,問共有幾種分法?孩子們沒學過組合數學,看到這么多和尚和這么多饃饃,一下就傻眼了。 直接求解這個問題是很難的,我們就啟發孩子們從*簡單的做起:4個和尚、10個饃饃的問題不會解,那就先考慮2個和尚、1個饃饃的問題。反過來,如果*簡單的情形都無法解決,那就說明這個問題太難了,要么放棄,要么琢磨*簡單的情形與原始問題之間的差異。當知道怎樣求解2個和尚、1個饃饃的問題之后,我們再增加難度,考慮2個和尚、2個饃饃的問題,以及3個和尚、3個饃饃的問題。 找出問題的*簡單情形,從*簡單的情形入手,可以有效避免孩子們面對復雜問題時束手無策。所謂下手,所謂破題,所謂“把手弄臟”,就是第二個有效方式。 (3)要學會把復雜問題分解成簡單問題 這和上一點是一脈相承的。當面對復雜問題時,首先要思考什么是*簡單情況,*簡單情況下的問題會不會解。假如*簡單的情況會解了,下面的思考方向就是如何把復雜問題分解成簡單問題。 還是拿“4個和尚分10個饃饃”做例子,假設知道唐僧吃了1個饃饃,剩下的問題就簡化成“3個和尚分9個饃饃”了。把復雜問題分解成簡單的、同類型的問題,就朝著*終解決問題前進了一大步。 當然,這種“假設法”只是一種問題分解手段,除此之外,還有“二分法”等。我們設計了幾個題目,比如“求2的平方根”,目的就是引導孩子們領會“二分法”。 (4)枚舉容易做,關鍵是剪枝 如果說計算思維和數學思維有什么不同,我想*大的不同或許在于“枚舉法”。其中的道理很簡單:人力有限,懼怕枚舉;計算機不怕累,不怕枚舉,反而有時候喜歡枚舉—枚舉程序多容易寫啊。 碰到哪種問題可以嘗試“枚舉法”呢?如果一個問題的解是多個變量的組合,我們可以嘗試一下“枚舉法”。以“數字謎”問題為例,解是多個變量的組合,我們只需要枚舉變量的所有組合就可以了。孩子們在數學課上常會碰到這種題目,當時很畏難—不是不會做,而是所有的組合太多了,一想到枚舉就發怵。不過到了編程課上就簡單了,只需要寫一個“嵌套循環”,讓計算機拼命算就行了。 當然了,要是組合數量實在太多的話,計算機也枚舉不完。這時候的關鍵是找“*受限制”的變量,用這個變量對枚舉樹進行“剪枝”。我們在講“數字謎”時,讓孩子們嘗試*笨的枚舉,然后和帶剪枝的枚舉進行對比,從而體會剪枝的重要性。 孩子們將來會發現很多問題和“數字謎”問題類似,解是由多個變量組成的。對這種問題,“枚舉+剪枝”是行之有效的解題思路。 (5)隨機是個利器 孩子們還是小學生,接觸的“確定性”方法多,“隨機性”算法少。我們設計了“布豐投針估計π”“打圓形靶子估計π”“布朗運動和醉漢的腳步”實驗,意在引導孩子們從隨機算法的角度思考問題。 “布朗運動和醉漢的腳步”實驗,意在告訴孩子們很多天然現象的本質就是隨機;而“布豐投針估計π”和“打圓形靶子估計π”實驗,是想讓孩子們體會到即使是確定性的問題,也可以用隨機方法解決。隨機采樣可以大大減少計算量,不需要特別多的采樣,也能得到很好的結果。 (6)仿真物理世界 在學習計算思維的過程中,一個需要防止的傾向是把計算機世界和真實的物理世界割裂開來。 為了防止這種傾向,我們引導孩子們在寫程序之前,盡可能先做一些物理實驗。比如在寫“打圓形靶子估計π”程序之前,先用圓珠筆作飛鏢、向靶子上投擲;在寫“花粉的布朗運動”仿真程序之前,先用激光筆照射淀粉懸浮液,體會真實的布朗運動;在寫“牛頓的大炮”程序之前,先用三根彈簧秤探索拉力分解的奧秘。有了真實的體會再寫程序,和沒有體會直接寫,感覺是大不相同的。 此外,我們在設計題目時非常強調“數學建模”,即怎樣把物理世界中的實際問題表示成計算機問題或數學問題。比如我們設計了“森林里有幾只老鼠幾只貓頭鷹”這一講,意圖引導孩子們體會如何仿真“獵物-捕食者”動力學系統;設計了“牛頓的大炮”這一講,意圖引導孩子們體會如何把物理世界“裝”到計算機里去。 值得指出的是,“森林里有幾只老鼠幾只貓頭鷹”背后有高深的數學思想;C. Lay寫的《線性代數及其應用》中講到矩陣特征值時,開篇用的就是這個例子。等到孩子們長大了,學習大學數學時,相信會有似曾相識的感覺。 總結一下:從粗糙的解開始大膽嘗試,不斷改進;從*簡單的情形做起,把復雜問題分解成簡單問題;枚舉所有的解,設計“剪枝”技術加快枚舉過程;隨機采樣少量的樣本,以減少計算量,這大概就是*基本的計算思維了。我們給本科生、研究生講的無非也是這幾條,只不過是更深、更廣一些罷了。 德國數學家、數學教育家F. Klein寫了一本書,書名叫作《高觀點下的初等數學》,其核心觀點之一是“有些基礎數學,從高觀點下才能看得更加明白”。我們把講授給本科生、研究生的計算思維做了篩選,然后講授給孩子們;不揣淺陋,這或許可以稱作“高觀點下的少兒計算思維”吧。 為了便于孩子們理解和掌握計算思維,我們還設計了一些游戲,比如“找鉆石”游戲是為了體會“二分法”,“走迷宮”游戲是為了體會陶哲軒提出的解題大法—解題無非是嘗試尋找一條從已知到結論的路徑。我們幾位老師平時研究的就是算法和系統,所以給孩子們講授的計算思維自然而然地帶有濃厚的“數學思維”和“系統思維”色彩。 大概花了4個月的時間,我們就教完孩子們編程了,包括編程基礎知識和計算思維。那孩子們學得到底怎么樣呢? 事情很是湊巧,2021年5月22日計算所舉辦“公眾科學日”活動,其中一個節目是我帶著小SIGMA們做一期“知乎課堂”,講的題目是“如何用Scratch編程實現一只阿爾法小狗”。臺下有300名現場觀眾注視,線上還有30萬觀眾觀看,孩子們頂住壓力,現場編程,出了bug現場解決,成功實現了會下tic-tac-toe棋的阿爾法小狗;然后給觀眾講解背后的原理和編程步驟,邀請觀眾進行“人狗大戰”;*后又分成兩個戰隊進行“狗狗大戰”,看哪一隊設計的阿爾法小狗更厲害。 現場完成編程和講解,說明孩子們掌握了基本的計算思維和程序設計技能。此外,張秦漢小朋友參加“核桃杯”編程大賽,獲得了北京市金獎,也是一個小小的證明,值得鼓勵。 我們在講課時就要求孩子們做筆記,記錄自己的理解、實驗設計思路和實驗結果。孩子們輪流來,每一講都推選一位小朋友負責整理筆記:寫程序、分析實驗結果、上網查資料,這通常需要花費一周的時間。孩子們寫完之后,由我們修改、校補和點評,*終匯集成了這本小書。我們所做的大修改都以“教師點評”的形式明確標識,盡量把修改*小化,以保持孩子們寫作的原汁原味—童言童語,自當勝過老生常談。 這本書是孩子和家長共同勞動的成果:部分插圖是孩子們手繪的;封面是劉衛玲設計的;全書由包云崗、張春明、譚光明、蘭艷艷、何海蕓校對。每一位家長都沒有缺席。 在我的心目中,小SIGMA數學特別興趣組不是一個課外補習班,而是我們這些做父母的和孩子們做的一場親子游戲,是把我們的思考和領悟教給孩子們的一次傳承,是共同領略數學思維和計算思維的一次探秘之旅。 我們這些家長們會永遠記得這段時光。我想我們的孩子們將來上了大學,學到高等數學、概率論、計算機算法、人工智能時,應該時不時會感覺似曾相識,大道至簡,當會心一笑罷。 是為記。 中國科學院計算技術研究所 卜東波 2021年8月23日于北京中關村
少兒計算思維養成記:六個孩子的編程學習筆記 作者簡介
小SIGMA數學特別興趣組的六名學員:包若寧,中關村一小四年級魏文珊,中關村一小四年級傅鼎荃,北大附小四年級張秦漢,北京雙榆樹中心小學三年級卜文遠,中關村一小四年級譚沛之,中關村一小五年級 指導老師卜東波中科院計算所研究員。研究方向為計算機算法設計和生物信息學。在國科大講授“算法設計與分析”,講授問題求解思維。包云崗中科院計算所研究員。研究方向為計算機系統。負責國科大“一生一芯”實踐計劃,在國科大講授“操作系統”,講授系統思維。蘭艷艷清華大學教授、前中科院計算所研究員。研究方向為統計學和機器學習。在國科大講授“人工智能與機器學習”,講授機器學習思維。
- >
月亮與六便士
- >
李白與唐代文化
- >
小考拉的故事-套裝共3冊
- >
中國歷史的瞬間
- >
朝聞道
- >
我與地壇
- >
【精裝繪本】畫給孩子的中國神話
- >
伊索寓言-世界文學名著典藏-全譯本