幼教網(wǎng)
全國(guó)站
您現(xiàn)在的位置:幼教 > 家庭教育 > 幼兒家庭教育 > 智力開(kāi)發(fā) > 正文

漫談孩子學(xué)習(xí)編程和寫(xiě)軟件 (2)

來(lái)源:JHHY菁華浩揚(yáng) 作者:王有財(cái) 2018-06-17 10:17:27

說(shuō)兩句



  我喜歡用Python,可是我心里總是隱隱約約覺(jué)得,Python不是一個(gè)給小孩子入門(mén)的計(jì)算機(jī)語(yǔ)言。當(dāng)然,我也不想讓一個(gè)孩子硬著頭皮去學(xué)習(xí)C和C++。想來(lái)想去,程序設(shè)計(jì)可能是無(wú)法快速入門(mén)的。想靠著十節(jié)八節(jié)Python程序設(shè)計(jì)課程,就讓孩子去研究人工智能,為申請(qǐng)大學(xué)加分的想法,是不切實(shí)際的。 在我看來(lái),學(xué)習(xí)程序設(shè)計(jì),還得從長(zhǎng)計(jì)議。要是我列一個(gè)課程表。第一個(gè)必修課就是數(shù)學(xué)。理解程序設(shè)計(jì)的一個(gè)基本需求就是,孩子得理解數(shù)學(xué)中函數(shù)的定義。不管是面向?qū)ο筮是面向過(guò)程,我們都會(huì)把相關(guān)的一組計(jì)算機(jī)操作組織到子程序(或者叫做函數(shù))里。理解了數(shù)學(xué)中的函數(shù),孩子們就可以學(xué)習(xí)面相過(guò)程的程序設(shè)計(jì)了。能寫(xiě)出幾十個(gè)子程序(函數(shù))構(gòu)成的程序,才有學(xué)習(xí)面向?qū)ο蟪绦蛟O(shè)計(jì)的基礎(chǔ)。有了一定的數(shù)學(xué)基礎(chǔ),第二個(gè)必修課就是計(jì)算機(jī)操作。好多孩子會(huì)在計(jì)算機(jī)上打游戲,卻從來(lái)沒(méi)有在計(jì)算機(jī)上發(fā)過(guò)一封電子郵件。編程的一個(gè)基礎(chǔ)就是,計(jì)算機(jī)打字。孩子正確使用鍵盤(pán)和鼠標(biāo),也得點(diǎn)功夫。學(xué)會(huì)操作計(jì)算機(jī),就可以真正接觸程序設(shè)計(jì)了。好多老師,從集成開(kāi)發(fā)環(huán)境(IDE)(比如說(shuō)Eclipse)開(kāi)始教授程序設(shè)計(jì)。不管學(xué)習(xí)Java還是Python,都是按照老師的指導(dǎo),在IDE里輸入程序,然后用鼠標(biāo)按一下按鈕,結(jié)果一下就跑出來(lái)了。一旦離開(kāi)了IDE,孩子們一臉茫然不知道那里可以寫(xiě)程序,更不知道程序怎樣變成可執(zhí)行代碼,并運(yùn)行處結(jié)果。要是我來(lái)上課,一定從最簡(jiǎn)單的文本編輯工具開(kāi)始。我會(huì)教孩子怎樣打開(kāi)命令行窗口(Terminal),怎樣啟動(dòng)文字編輯器,怎樣輸入程序,怎樣保存代碼,然后怎樣編譯程序,最后怎樣執(zhí)行程序。

  到底哪一種計(jì)算機(jī)語(yǔ)言最適合初學(xué)的孩子呢?我想我會(huì)選擇Java。Java在語(yǔ)言要素和語(yǔ)法上,繼承了C和C++,基本上就是一個(gè)C++的簡(jiǎn)化版。談到課程設(shè)置,我想我會(huì)從數(shù)據(jù)類型,條件判斷(IF語(yǔ)句),和循環(huán)結(jié)構(gòu)開(kāi)始,讓孩子了解一個(gè)程序的基本構(gòu)造:數(shù)據(jù),判斷,和循環(huán)。我不會(huì)著急讓孩子學(xué)習(xí)類和面向?qū)ο蟮母拍。相反,我?huì)用半個(gè)學(xué)期,甚至一個(gè)學(xué)期的時(shí)間,讓孩子學(xué)習(xí)面向過(guò)程的程序設(shè)計(jì)的理念。也就是說(shuō),怎樣把一個(gè)復(fù)雜的問(wèn)題分解成若干步驟,每一個(gè)步驟又通過(guò)一個(gè)Java的函數(shù)來(lái)實(shí)現(xiàn)。讓孩子們學(xué)會(huì),怎樣把這些函數(shù)組織在一起,解決他們的問(wèn)題。

  想想看,我們?yōu)槭裁匆獙?xiě)程序?寫(xiě)程序的目的就是為了解決問(wèn)題。在寫(xiě)程序之前,我們腦子里要形成一個(gè)解決方案。這個(gè)方案,往往包括多個(gè)前后銜接的步驟,甚至有條件判斷,還有重復(fù)性的步驟。 這些步驟,都可以通過(guò)程序中的函數(shù)來(lái)實(shí)現(xiàn)。用計(jì)算機(jī)求解問(wèn)題,真正的難點(diǎn)不是寫(xiě)程序的過(guò)程,而是開(kāi)發(fā)問(wèn)題的解決方案。計(jì)算機(jī)代碼,只不過(guò)是解決方案的計(jì)算機(jī)實(shí)現(xiàn)。用上半個(gè)學(xué)期,甚至一個(gè)學(xué)期,教授孩子怎樣去利用計(jì)算機(jī),探討問(wèn)題的解決方案,所用時(shí)間其實(shí)并不長(zhǎng)。家長(zhǎng)呢,應(yīng)該認(rèn)識(shí)到這一點(diǎn)。教授孩子寫(xiě)程序,其實(shí)是教授孩子用計(jì)算機(jī)來(lái)解決問(wèn)題。面對(duì)相抵復(fù)雜的問(wèn)題,如果孩子們可以設(shè)計(jì)解決方案,可以寫(xiě)出包括十幾個(gè)甚至更多的函數(shù)的代碼,那說(shuō)明孩子們可以進(jìn)一步提高了。我們可以隨后教授孩子,怎樣以數(shù)據(jù)為中心,進(jìn)行面型對(duì)象的程序設(shè)計(jì),開(kāi)發(fā)更大規(guī)模的軟件了。 當(dāng)然這是后話,對(duì)于初學(xué)者的父母,完全不需要上來(lái)就考慮面向?qū)ο蟆?br />
  Python要不要學(xué)?要!不過(guò)是在孩子們完全理解了面向過(guò)程程序設(shè)計(jì)理念之后。有了這樣的基礎(chǔ),即便不用Python里面的“類”,孩子們也可以寫(xiě)出像模像樣的Python程序。如果孩子有了面向?qū)ο蟮幕A(chǔ),那么就可以更加容易地理解Python中的元組,列表,字典,還有集合等數(shù)據(jù)結(jié)構(gòu)以及相關(guān)的操作(或者說(shuō)函數(shù))了。如果孩子有興趣,也完全有可能應(yīng)用Python的類(class)的組織代碼,開(kāi)發(fā)出復(fù)雜的軟件。有了程序設(shè)計(jì)基礎(chǔ),孩子們可以更加深入地理解并有效地利用共享的Python代碼庫(kù)。那時(shí)候,他們用共享代碼開(kāi)發(fā)出的電子郵件收發(fā)工具,不再是簡(jiǎn)單地模仿。孩子們可以設(shè)置甚至改造共享代碼,把他們的有趣的想法實(shí)現(xiàn)到軟件工具里。我相信,經(jīng)歷這樣的過(guò)程,孩子們可以真正地了解計(jì)算機(jī)以及程序設(shè)計(jì)。深入掌握,必然幫助他們觸類旁通,以后學(xué)習(xí)人工智能,自然會(huì)有堅(jiān)實(shí)的基礎(chǔ)。

  最后一句話:Python便捷強(qiáng)大,適合急功近利式的軟件開(kāi)發(fā),未必適合孩子們?nèi)腴T(mén)學(xué)習(xí)。

  相關(guān)推薦:

小升初試題、期中期末題、小學(xué)奧數(shù)題

盡在奧數(shù)網(wǎng)公眾號(hào)

   歡迎使用手機(jī)、平板等移動(dòng)設(shè)備訪問(wèn)幼教網(wǎng),幼兒教育我們一路陪伴同行!>>點(diǎn)擊查看

  • 歡迎掃描二維碼
    關(guān)注幼教網(wǎng)微信
    gh_5735a1f9f07c

  • 歡迎掃描二維碼
    關(guān)注奧數(shù)網(wǎng)微信
    ID:aoshu_2003

幼升小

幼升小資訊

幼升小政策

幼升小擇校

幼升小指導(dǎo)

學(xué)區(qū)房

幼升小真題

重點(diǎn)小學(xué)

上海小學(xué)

廣州小學(xué)

深圳小學(xué)

成都小學(xué)

武漢小學(xué)

南京小學(xué)

北京一類幼兒園

海淀區(qū)幼兒園

西城區(qū)幼兒園

東城區(qū)幼兒園

朝陽(yáng)區(qū)幼兒園

其他區(qū)幼兒園

幼兒園資訊

教師園地

幼兒園說(shuō)課稿

幼兒園教案

教學(xué)論文

幼兒園課件

幼兒園教師心得

幼兒園評(píng)語(yǔ)

少兒教育

胎教

早期教育

入園必讀

潛能開(kāi)發(fā)

藝術(shù)培養(yǎng)

家庭教育

兒童樂(lè)園

科普知識(shí)

圖書(shū)推薦

睡前故事

成語(yǔ)故事

童話故事

唐詩(shī)宋詞

孕育指南

時(shí)尚媽咪

健康寶貝

美食廚房

趣味數(shù)學(xué)

健康飲食

專家答疑

-->