欧美一区二区二区,黑人精品一区,粉嫩蜜臀av国产精品网站,精品电影一区

幼教網
全國站
您現在的位置:幼教 > 家庭教育 > 幼兒家庭教育 > 智力開發 > 正文

漫談孩子學習編程和寫軟件

來源:JHHY菁華浩揚 作者:王有財 2018-06-17 10:17:27

說兩句

  應該是美國中小學即將開學的緣故,家長需要給孩子們選擇周末興趣班,這幾天好多朋友問我,孩子們要不要學編程,更具體的說,要不要學習Python程序設計。孩子要不要學編程,的確是個好問題。就算沒有朋友問,我自己也考過很多,也曾試過。在女兒讀二三年級的時候,我教過她簡單的Python和Java程序設計。很可惜,成效并不大,盡管我挑選了幾個很有趣的簡單數學問題,用計算機去求解,仍然不能引起孩子的興趣。這就更讓我進一步思考,到底該不該現在就教孩子寫程序,如果教,該教哪一種程序設計語言,怎么教。

  我自己不是計算機科班出身,但是靠著科學計算混飯吃,能夠熟練地使用C,C++,FORTRAN,Java, Visual Basic,MATLAB,PYTHON,Bash, GrADS, NCL甚至是AML寫程序。大學期間,我正經八本上的計算機課,也只有C語言程序設計。用了不到一個月時間,我就把譚浩強先生寫的《C語言程序設計》自學完了。通過這本書,我學會面向過程的軟件開發方法。學期末,我就用C語言給我們班寫了一個獎學金評選的程序。當時是九十年代末,C++已經開始成為潮流。寫程序的人如果不會C++,是不敢出去吹牛的。我很喜歡吹牛,所以買了本C++程序設計的教材。C++比C語言豐富多了,我用了兩三個月才學明白什么叫做面向對象的軟件開發方法。我大學畢業的時候,用C++開發了一套人工神經網路的程序。在2000年,在好多國內的書店里,如果你問有沒有人工神經網絡方面的書,店員大多會讓你去醫學門類去尋找。所以,我那時候,作為一個地質系的學生,用基于人工神經網絡的人工智能,去研究礦山穩定性,也值得大吹特吹了。自吹自擂這么多,拉回到程序設計的話題上,其實哪種語言不重要,關鍵是學會軟件開發的方法,比如前面提到的面向過程和面向對象軟件開發。

  當然,一個寫程序的人必須要了解計算機的體系結構。我很幸運,從C語言開始學習編程。學過C語言的,很多人都很憎恨它,就算學過,一輩子也不會用C語言寫一個超過100行的程序。C語言之所以招人厭惡,是因為它太接近計算機硬件了。作為一種強類型語言,也就是說,需要直接聲明和定義變量的計算機語言,寫程序的人必須了解,什么是整數,什么是實數,什么數有符號,什么數無符號。解決問題,我們必須搞清楚,實數需要小數點后幾位的經度,整數需要幾個字節。問題復雜了,需要分配內存,需要傳遞復雜變量,就要涉及地址和指針。把這些細節搞清楚,的確是需要花點時間學習計算機的硬件和原理。因為這個,和多人都望而卻步打了退堂鼓。然而,對那些肯花時間鉆研的人,一旦弄明白了底層細節,以后操作計算機就像是庖丁解牛一樣,可以輕松玩耍。

  通過C語音學習編程,起點高,的確有點難。對很多人來說,就像是撞墻一樣痛苦。可是一旦把墻撞破了,就可以把頭伸進計算機的內部世界,能夠享受把自己的想法轉變成計算機程序的自由,最終可以驅使計算機替你思考。在我上大學的時候,除了計算機系的學生,肯去研究C和C++程序設計的人非常少。多數人都去學習如BASIC這樣的語言。BASIC很方便,方便到變量既可以聲明,也可以不聲明,總之是無所謂,關系不大。靈活帶來方便,也帶來混亂。BASIC的程序,大都是亂七八糟,就像一盆煮熟的方便面,順著哪根面條,也捋不出一個頭緒。很多人把這個問題歸咎于BASIC程序中的GO TO語句。在我看來,這多少是冤枉了GO TO。問題的主要原因是,那些從BASIC學習計算機程序設計的人,沒有學會正確的軟件開發方法。他們大多是圖簡單,圖方便,圖快,最后把程序搞成了涂鴉;叵胍幌庐斈晡业耐瑢W,熱衷短平快學習BASIC和Visual Basic之類編程工具的人,大多沒有在軟件一行走下去深入發展。相反,好多學習C,C++和Visual C++的同學,成了軟件業的精英,現在坐擁豪宅若干。

  前面談的都是歷史,現在轉到現實,F如今再沒有人學習什么Basic和Visual Basic。短平快的軟件開發,大家都選擇Python。Python可以算最成功的解釋型語言,沒有之一,而是唯一。Python引人指出,大概有這么幾點。第一就是,嚴格的程序書寫規范。Python的作者深受Perl語言自由靈活書寫風格之苦,要求Python的開發者,必須按照既定的規則,書寫每一行程序,否則Python解釋器跟你沒完沒了地抱怨,這樣確保了Python代碼有良好的可讀性。因此,你上周寫的程序,今天還能很容易地看懂。第二,Python程序既能面向過程,也能面向對象。什么是過程,什么是對象,如果你寫不了200行的程序,沒必要去敲破腦袋搞清楚。 第三,Python提供了豐富的基本數據結構,例如元組(tuple),列表(list),字典(dictionary)和集合(set)之類的的數據結構。對于C++的開發者,如果使用這些數據街頭,需要學習復雜的標準模板庫,要么自己去開發,總之是費時費力。而Python的用戶,可以輕松使用這些數據結構帶來豐富功能。 最后也是最重要的一點,Python有極其豐富的共享資源。對于一個應用Python的軟件開發人員而言,一定要記住,你是在用Python而不是開發Python。對于任何一個常用的計算機操作,不管復雜與否,開發人員基本上都可以在網上找到免費的Python代碼庫。開發人員需要做的,就是開發盡可能簡單的Python代碼,調用這些代碼庫,完成自己的任務。

  Python容易不容易學?Python強大不強大?我的答案是Python很強大,但是我不知道對于小孩子來說,到底容易不容易學。如果沒有任何數據結構的基礎,我不知道怎么給孩子講明白列表的工作原理。那些現成的Python代碼庫,真的既豐富又強大。有大人幫忙,孩子們可以輕松用Python寫一個收發電子郵件的程序?墒请娮余]件里的文字和圖片,到底是怎樣從這臺計算機到那臺計算機的,孩子們要是問起來,Python程序員應該不是很容易回答。隨手抓來的Python代碼庫,讓我們不必關注細節,直奔主題地開發程序,完成我們的工作。可是,我總覺得,孩子們學習計算機程序設計,是需要了解細節的。教孩子學習寫程序,不應該是簡單的然他們學會怎樣用別人的代碼搭積木,而更應該讓他們了解每塊積木是怎么工作的。我們大人用Python寫程序,是因為我們只看重結果。孩子們學習寫程序,更應該側重過程。如果沒有計算機基礎,上來就學習Python,孩子再聰明,怕也只能是渾淪吞棗式地學習。在大人的指引下,他們能夠寫出小程序,離開了大人指導,他們還能走多遠?我不是很樂觀。

  相關推薦:

小升初試題、期中期末題、小學奧數題

盡在奧數網公眾號

   歡迎使用手機、平板等移動設備訪問幼教網,幼兒教育我們一路陪伴同行!>>點擊查看

  • 歡迎掃描二維碼
    關注幼教網微信
    gh_5735a1f9f07c

  • 歡迎掃描二維碼
    關注奧數網微信
    ID:aoshu_2003

熱點專題

  • 幼兒園教學課件:奇特的建筑
  • 幼兒教學課件:小魚的夢
  • 河頭幼兒園“幫水寶寶搬家”

[幼兒園英語課件]幼兒園英語課件:認識時間

[幼兒園英語課件]幼兒園英語課件:A Apple

幼升小

幼升小資訊

幼升小政策

幼升小擇校

幼升小指導

學區房

幼升小真題

重點小學

上海小學

廣州小學

深圳小學

成都小學

武漢小學

南京小學

北京一類幼兒園

海淀區幼兒園

西城區幼兒園

東城區幼兒園

朝陽區幼兒園

其他區幼兒園

幼兒園資訊

教師園地

幼兒園說課稿

幼兒園教案

教學論文

幼兒園課件

幼兒園教師心得

幼兒園評語

少兒教育

胎教

早期教育

入園必讀

潛能開發

藝術培養

家庭教育

兒童樂園

科普知識

圖書推薦

睡前故事

成語故事

童話故事

唐詩宋詞

孕育指南

時尚媽咪

健康寶貝

美食廚房

趣味數學

健康飲食

專家答疑

-->
主站蜘蛛池模板: 乳源| 甘肃省| 泾川县| 临桂县| 邯郸县| 开化县| 清河县| 潼南县| 锡林浩特市| 申扎县| 安国市| 长寿区| 定襄县| 永泰县| 五寨县| 丹棱县| 景泰县| 新营市| 莱阳市| 阿拉善右旗| 林周县| 阿图什市| 浦东新区| 岐山县| 青川县| 海淀区| 岐山县| 东乡族自治县| 额尔古纳市| 沂南县| 凤冈县| 漳州市| 桃园县| 卢湾区| 游戏| 沅陵县| 通渭县| 中卫市| 扬州市| 景德镇市| 汕尾市|