我們之前的文章介紹了電腦二進制語言、電腦加密技術、幫助小朋友學編程的工具和一個很厲害的少年編程高手的經(jīng)驗,那么要不要開始試一下編程? 編程的重要技能是設計解決問題的方案和邏輯思考的能力,讓我們試試不用電腦,也能開發(fā)這些能力,并且體驗編程的學習過程。
首先每人準備一些紙和一支筆,首先做點熱身游戲熟悉一下規(guī)則。 爸爸可以當編程員,媽媽和孩子當電腦,爸爸可以發(fā)出指令,要求電腦們在紙上畫出相應的圖形或線條,指令可以是:
1. 先在你的紙上正中間畫一個點。
2. 然后從紙的左上角畫一條直線,連接到中間的點。
3. 然后從紙的右上角畫一條直線連接到中間的點。
4. 在兩條直線和紙的邊緣形成的三角形中間寫上12345。
如果指令明確,并且電腦們聽懂了,電腦們畫出的圖形應該如下:
下面給孩子一些從簡單到復雜的圖形(示范如下,家長們也可以自己動腦筋畫一些圖)。
讓孩子發(fā)出指令,爸爸媽媽或其他小朋友當電腦。讓孩子練習把紙上圖形用準確的指令一步一步的說出來,目的是又快又精確的讓聽眾畫出紙上的圖形。 可以從易到難的做這個游戲。 在第一輪電腦們可以問問題,孩子可以解釋自己的指令,在第二輪,電腦們不能問任何問題;在第三輪,孩子要站到一個簾子或門后,電腦們不能看到孩子,也不能問問題。 在第四輪,讓孩子寫下自己的指令,讓電腦們讀指令完成畫圖任務。
看看畫出來的結果和你想的一樣嗎?
這個簡單卻有趣的游戲鍛煉了孩子的邏輯思維和表達能力,也學到了計算機編程的過程:計算機編程語言就是人發(fā)出一系列的指令,編程就是組合一系列的指令讓計算機完成任務。這些指令不像人類的語言,人類的語言可以非常豐富或者含糊,而計算機的編程語言(指令)必須非常明確,具體和精確。 而不同的編程語言就是不同的指令方式,不同的編程語言適合完成不同的任務。
計算機的是嚴格執(zhí)行人的指令的,不管這個指令是否合理。 在設計編程時,面臨一個復雜的任務時,比如要讓計算機畫一個復雜的圖形,你要能夠先設計好解決方案,即怎樣一步步完成這個圖形。
如果你的指令或編出的程序出了錯誤,計算機做出的結果可能和你預期的很不一樣,在畫圖游戲的過程,有沒有發(fā)現(xiàn)一個指令的錯誤導致最后畫出的圖形和要求的圖形完全不一樣? 在我們生活中很多地方電腦程序在幫助我們完成任務,比如火箭發(fā)射、飛機飛行、電廠運行,想象一下如果電腦程序出錯會出現(xiàn)什么樣的后果?
如果電腦指令出錯,我們把這叫做電腦程序中有蟲(bug)啦, 把錯誤的指令糾正過來,就教捉蟲 (Debug)。 為什么會有這樣的說法呢?原來第一代的計算機是由許多龐大且昂貴的真空管組成,并利用大量的電力來使真空管發(fā)光。可能正是由于計算機運行產(chǎn)生的光和熱,引得一只小蟲子(Bug)鉆進了一支真空管內,導致整個計算機無法正常工作。研究人員費了半天時間,總算發(fā)現(xiàn)原因所在,把這只小蟲子從真空管中取出后,計算機又恢復正常。后來,Bug這個名詞就沿用下來,用來表示電腦系統(tǒng)或程序中隱藏的錯誤、缺陷、漏洞等問。(來源:首個計算機Bug的由來 伯樂在線)。
---
本期我們推薦一本數(shù)學學習的書籍:Math Appeal: Mind-Stretching Math Riddles, 作者Greg Tang 這本書從形式上來說是一本繪本,但里面用有趣又有挑戰(zhàn)性的謎語,讓孩子學會解決數(shù)學問題的方式,難度適合已經(jīng)會簡單加法的孩子?!?/p>
---
普林斯頓科學實驗室原創(chuàng)內容, 轉載請注明出處。
(微信號:PrincetonScienceLab)