不久前一位四年級男孩的媽媽拿著一本《父與子的編程之旅——與小卡特一起學(xué)Python》非常苦惱的告訴我,說想讓孩子學(xué)編程,結(jié)果興沖沖買了書回來,卻發(fā)現(xiàn)根本指導(dǎo)不了孩子,一章看完之后連Python的安裝都沒有成功,更別提動手實(shí)驗(yàn)后面的章節(jié),這可以說是當(dāng)前編程啟蒙普遍存在的現(xiàn)象。說老實(shí)話,如果父母不是計(jì)算機(jī)專業(yè)畢業(yè)或者從事計(jì)算機(jī)相關(guān)工作,只是被市面上宣傳的“機(jī)器人編程”、“少兒編程”等概念所吸引,想當(dāng)然的自己來做孩子的第一任編程啟蒙老師,并不是一件容易的事情。
計(jì)算機(jī)編程的學(xué)習(xí)是特別講究知行合一的,雖然書上寫得明明白白,雖然老師也反復(fù)講了如何做,但是等到自己親自動手實(shí)踐的時(shí)候,還是會問題百出,真是應(yīng)了那句“紙上得來終覺淺絕知此事要躬行”。如果沒有親自動手去做,那么孩子即使買好書若干、聽課無數(shù),還是會永遠(yuǎn)被擋在編程的門外!這個(gè)是和其他學(xué)科啟蒙最大的不同,結(jié)合《趣學(xué)Python——教孩子學(xué)編程》這本書,起通過幾位小朋友在編寫人生中的第一個(gè)程序的實(shí)際案例來看看盤點(diǎn)盤點(diǎn)這些攔路虎吧!
一、全英文的操作環(huán)境
首先,安裝Python需要到官方網(wǎng)站https://www.python.org/去下載(download)程序,大部分孩子來到這個(gè)網(wǎng)頁的時(shí)候一下子就愣住了,不知道如何下手,因?yàn)槭侨⑽沫h(huán)境,認(rèn)識的單詞屈指可數(shù),或者即使認(rèn)識很多英文,但是英文整句整句出現(xiàn)的時(shí)候,閱讀能力跟不上。即使孩子英文不錯,但是由于一般的計(jì)算機(jī)網(wǎng)站經(jīng)常改版,這樣對照買來的書,即使是圖文并茂,還是沒法找到下載頁面。
我們看到的書上第五頁是這樣介紹的,一句話“先用網(wǎng)頁瀏覽器打開http://www.python.org/,然后下載最新版的Python 3安裝程序(Installer)。
而實(shí)際操作中,我們會怎么都找不到書上的那個(gè)頁面,最后把鼠標(biāo)拖到http://www.python.org/的最低端,找到Downloads——Windows,才能到下載頁面。如果電腦是蘋果電腦的話,則要選Windows下面的”Mac OS X"。
好!假如孩子在安裝環(huán)節(jié)能成功過關(guān),開始編寫第一個(gè)程序的時(shí)候,也依葫蘆畫瓢輸入print("Hello World")
咦! 為什么不是直接出現(xiàn)Hello world呢?而是出現(xiàn)了三行話,程序到底對不對呢?好像有個(gè)Error是錯誤的意思呢?但是又在“SyntaxError”這個(gè)單詞里面。最后括號、冒號改成半角方式(或者說是英文輸入),終于正確了。
計(jì)算機(jī)編程的學(xué)習(xí)是自動糾錯型,照著操作輸入的程序?qū)Σ粚?,立馬就會反映出來,但是這看似簡單的一小步,有可能不懂行的家長也就忽視,以為孩子的第一個(gè)程序已經(jīng)出來。想學(xué)好編程,本質(zhì)上來說就得學(xué)好英語,或者說在學(xué)編程的過程中,編程的學(xué)習(xí)與英語的學(xué)習(xí)是相互促進(jìn)的,英語是學(xué)好編程的一個(gè)必不可缺的工具。
不過,這樣的英語能力的培養(yǎng)可不是一朝兩夕就能獲得的。很多英語啟蒙比較早的孩子,可能看了很多分級讀物、甚至章節(jié)書,但是那種閱讀能力第一可能沒有及時(shí)轉(zhuǎn)到科普技術(shù)性英文的閱讀,一直停留在文學(xué)性的閱讀,第二是被動性閱讀為主,即并不是讓孩子帶著問題、解決問題的閱讀。這樣的英文學(xué)習(xí)沒有和學(xué)科相結(jié)合,等到學(xué)習(xí)編程的時(shí)候還是需要大量補(bǔ)課的。
二、計(jì)算機(jī)的基礎(chǔ)知識
我們再回到Python的安裝,書上介紹了三種操作系統(tǒng)Windows7、蘋果OS X,還有Ubuntu上的安裝步驟。在我們實(shí)際的家庭電腦配置中,Ubuntu基本上是專業(yè)計(jì)算機(jī)人士才會安裝的,蘋果OS X(用蘋果電腦的人)也比較少,大多數(shù)大家還是用Windows,版本也停留在Window 7,甚至XP。
書上的NOTE還是很簡單:“具體下載哪一個(gè)版本的Python并不重要,只要是以數(shù)字3開頭就可以?!?/strong>但是非??上?,孩子們看到https://www.python.org/downloads/windows/下面這么多版本,到底應(yīng)該下載哪一個(gè)去安裝呢?真的只要是數(shù)字3開頭就可以了嗎?
于是,孩子們出現(xiàn)了這樣的安裝結(jié)果,我想即使是成人經(jīng)過很多次安裝失敗也是會產(chǎn)生畏懼的,這樣很容易在入門環(huán)節(jié)就被攔在門外了,要么就從此把書和課束之高閣,要么幸運(yùn)一點(diǎn)的碰到家長或者老師來幫忙解決。
其實(shí)下載哪個(gè)版本并不是一件太難的事情,自己知道查自己電腦的配置就可以了。以Windows7為例,右鍵桌面“我的電腦”,選擇“屬性”,就可以查出自己的電腦是64位Windows7操作系統(tǒng)。具體選擇的時(shí)候判斷如下:
1)操作系統(tǒng)的位數(shù)
如果是64位的,就選擇帶“Window x86-64”字樣的版本下載,如DownloadWindows x86-64 web-based installer、DownloadWindows x86-64 executable installer、DownloadWindows x86-64 embeddable zip file。
如果是32位的,就選擇帶"Windows x86"字樣的版本下載,如DownloadWindows x86 web-based installer、DownloadWindows x86 executable installer、DownloadWindows x86 embeddable zip file。
2)操作系統(tǒng)的版本
如果操作系統(tǒng)是Vista或之后的Windows 7版本,可以選用Python 3.5.1,如果是操作系統(tǒng)是Window Xp,那么只能選Python 3.4或者更低的版本。
上圖中,"Setup failed(安裝失?。?中"Windows Vista or later is required to install and use Python 3.5.1(32-bit).(Windows Vista或者之后的版本需要安裝Python 3.5.1)“其實(shí)就是對失敗原因的說明,這再次說明學(xué)好英語對編程有多重要。
所以像自己電腦的基本配置(包括硬盤大小等),各種文件、控制面板、網(wǎng)絡(luò)連接、驅(qū)動程序安裝、軟件安裝等等這些操作對編程人員來說都是一些基本的計(jì)算機(jī)知識。相對于一般家庭只需要用電腦打打字、上上網(wǎng)而已,這些知識確實(shí)會用不上,而且Windows系統(tǒng)的龐大,也不可能讓我們把所有功能都學(xué)會后再去使用電腦,但是多少懂一點(diǎn)才會讓之后的學(xué)習(xí)更有后勁。
三、獨(dú)立解決問題的能力
大部分家庭的計(jì)算機(jī)只是簡單辦公型或娛樂型的,這樣更新的頻率不會太高,家中電腦買了四五年的很常見。一位小朋友安裝python出現(xiàn)的問題就是發(fā)現(xiàn)家中的Windows XP系統(tǒng)安裝不了,自己也在懷疑是不是和系統(tǒng)有關(guān)系,當(dāng)然由于時(shí)間的關(guān)系,也是因?yàn)榈谝淮螌W(xué)編程,我就先幫她解決了。
隨著以后計(jì)算機(jī)知識的積累越來越多,碰到這種安裝不了某個(gè)軟件的情況,又不能立刻找到老師的情況下,果斷百度是一個(gè)最好的辦法。當(dāng)在百度的搜索框里面輸入“XP安裝Python”的時(shí)候,就可以得到“怎樣在Windows下載和安裝Python?”的百度經(jīng)驗(yàn),往后翻還能找到很多這方面的學(xué)習(xí)文章。
伴隨編程學(xué)習(xí)的永遠(yuǎn)是解決問題的能力的鍛煉和提高,搜索、查閱文獻(xiàn)只是借鑒別人的思考和實(shí)踐成果,而學(xué)會用過程的思維把復(fù)雜的問題“分而治之”,或者用自底向上的思維方式先解決細(xì)節(jié)問題再整合起來解決整個(gè)問題等等,卻是通過自身的思考和實(shí)踐,最終圓滿解決問題。
但是,并不是所有的家長都能理解擁有獨(dú)立解決問題的能力對孩子有多重要,當(dāng)我們帶著孩子奔波于各種興趣班、補(bǔ)習(xí)班時(shí),如果只是灌輸給你孩子大量知識,如果只是讓孩子反復(fù)做題演練,孩子的獨(dú)立性思考何在?孩子獨(dú)立解決問題的能力何在?我們終究不能守護(hù)孩子一輩子,不論是人生也好,工作也罷,孩子會不停的遇到問題,解決問題?;叵肴说倪@一生,不就是在問題中不斷前進(jìn),尋找人生的真諦嗎?
四、抗壓受挫的能力
幾個(gè)孩子最終從安裝python到輸出自己的第一個(gè)程序分別花了一個(gè)多小時(shí),最終成功之后,一個(gè)孩子大呼:“老師這個(gè)我感興趣,比樂高難多了?!碑?dāng)然有人會說,這就是網(wǎng)絡(luò)教學(xué)的弊端,因?yàn)槿绻?dāng)面操作的話,可能10分鐘就解決了,但是我覺得這樣的一小時(shí)卻是特別有意義的。
太容易學(xué)到的東西,孩子并不會珍惜,也不容易有成就感。但是經(jīng)過一小時(shí)的折騰,孩子的內(nèi)心快要被折磨的想放棄,這時(shí)柳暗花明,終于發(fā)現(xiàn)堅(jiān)持下來的好處。正是經(jīng)過這么多點(diǎn)點(diǎn)滴滴的小挫折的積累,如果孩子還能堅(jiān)持下來學(xué)習(xí)編程的話,這樣的孩子耐心、定性和受挫能力不會差到哪里去。
這樣的一小時(shí)我們嘗試了QQ遠(yuǎn)程遙控,嘗試了文件直接傳輸,嘗試了手機(jī)拍照告訴彼此的進(jìn)行狀態(tài),每一小步的推進(jìn)都需要我們想最合適的交流方式和交流工具。最終我們雙方QQ操作電腦界面,手機(jī)微信通話和拍照,這樣的協(xié)同式教學(xué)更考驗(yàn)彼此的耐心。
當(dāng)然,孩子編程路上肯定還會有很多攔路虎,但是正因?yàn)橛刑魬?zhàn)才有進(jìn)步,當(dāng)孩子們通過學(xué)編程把這些攔路虎一一打得落花流水時(shí),相信他學(xué)習(xí)任何一門學(xué)科都是小菜一碟!最后,趕緊帶著孩子來學(xué)編程吧!