父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

2020-10-18 06:40:12 2605 views
摘要

美國教育家杜威曾說過:“大多數的人,只覺得五官能接觸的、實用的東西才有趣味,書本上的文字很難和趣味掛鉤。”同樣,對於學習編程,編出很好玩的程序時,感到有趣、有成就感, 就會自己鑽研,與他人積極互動,學習效果也會得到顯著提升。

美國教育家杜威曾說過:「大多數的人,只覺得五官能接觸的、實用的東西才有趣味,書本上的文字很難和趣味掛鉤。」


同樣,對於學習編程,編出很好玩的程序時,感到有趣、有成就感, 就會自己鑽研,與他人積極互動,學習效果也會得到顯著提升。


寓教於樂,掌握解決真正問題的編程能力,是童教授的教學模式,如今他是最受學生歡迎的C語言老師。不過,一開始他也走了很多彎路。


從C/C++談起


童教授教了15年C/C++,剛成為C語言的大學老師那會,他採用的是傳統的教學方法。


這種講解風格偏向語法,實例偏向數學演算法。因為趣味性不強,學生對此反響不佳,學完後很少會真正寫程序。


當意識到自己的教學模式存在問題後,童教授有了探尋新的教學模式的想法。但困難的是意識到一個問題後,針對問題去展開調研的時候,你會發現有很多方案在等著你去選擇,如何選擇才是最大的難題。


在童教授的探索之路上,一直堅持一個信條——不要總想著一步實現,要stepbystep地來,這也是他常給學生們的建議。在改變教學模式的過程中,從一個想法再不斷的改進,他以自己的實際行動踐行著他的理念。


經過不斷地嘗試,童教授找到了更好的教學思路,即講較少的語法,只講必須用到的規範性語法知識。學數組前就帶著同學們step by step,用printf輸出實現打飛機、flappy bird、反彈球等遊戲,大概是這樣的效果:

父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路


講完數組後,可以利用更複雜的數據結構,進一步改進上面三個經典的小遊戲,然後可以實現貪吃蛇、生命遊戲等更複雜的遊戲:

父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路


再往下,教同學們學習一個簡單的圖形交互函數庫:EasyX,可以將上面的小遊戲做到圖形界面、滑鼠操作等。類似這樣:


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路


然後,再講C語言的後續語法知識,比如指針用在動態數組、字元串控制得分顯示、結構體改進數據結構、文件用於遊戲存檔,等等。每講一個知識點,都回過頭去用於改進之前做的小遊戲。也會介紹一些SVN這樣的工具,便於同學們進行版本管理、團隊合作。


總結童教授的教學模式,大致有有四點:

● 入門時僅講解最少需要的語法知識

● Step by Step實現,逐步應用後續語法知識

● 遇到的問題,學生需創新性地尋找解決方法

● 編寫數千行代碼,不限制學生創新能力的提升


「看到課堂上學生的快速成長,帶來的這種成就感就是極大的回報。」在河海任教近十年,童教授得出了這樣一句話,他也因此被稱為「別人家的C語言老師」。


久等了,Python


很多讀者會發現,童教授的這套教學方法借鑒了少兒編程教學的思路,這是因為一個契機——童教授的女兒童雨涵,小學二年級暑假開始接觸Scratch 編程,併產生濃厚興趣,之後跟隨爸爸系統學習。


童雨涵在2019年年底通過了中國電子學會的全國青少年軟體編程等級考試(Scratch) 一級考試。2019年11月, 獲常州「鐘樓杯」首屆青少年Scratch創意編程大賽低齡組三等獎;2019年12月, 獲常州國家高新區首屆「菁英杯」創意編程大賽低年級組一等獎。


女兒在編程上的天賦令他欣喜,在這個過程中,童教授發現,Scratch這種積木式的編程,把程序和物理世界結合,相對趣味性會強一些;當Scratch學到一定程度後,如果想進一步深入學習,可以轉學傳統的編程語言,比如C/C++、Python、JavaScript等。


其實很多人都是當了父母之後,才轉入了少兒編程領域,童教授也不例外。為了讓女兒發展自身的特長,童教授選擇了語法相對簡單的Python作為工具,結合他多年的C語言教學經歷,親自操刀開始創作,期望培養孩子分析問題、解決真實問題的能力,把真實問題理解、抽象、建模,並最終編程序求解。


於是,父女兩人,從Python開始,結合少兒編程的遊戲化教學,合作寫了一本書——《Python遊戲趣味編程》。


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路


「給孩子的編程書,一定要有趣味。」童晶說,「大部分Python圖書都會先系統講解語法知識,知識量大,但對孩子就不合適了。」


所以,寫《Python遊戲趣味編程》這本書,他會讓女兒親自體驗,請她給出建議,「我在書中的Python編程教學,讓孩子先少量地學習編程語法知識,學了後馬上應用,再通過遊戲案例,像彈跳的小球、飛翔的小鳥、貪吃蛇等等,逐步在遊戲中繼續學習新的語法知識。這些方式,對於完全不懂編程,但想要自己教孩子編程的家長也是非常合適的。」


趣味案例展示


父女合作寫書,一下子打動了我。


《Python遊戲趣味編程》和市面上同類圖書相比,有以下幾個特色:


● 為初學者量身打造

Python圖書一般會系統講解所有的語法知識,使得初學者記憶負擔大、學習難度高;與童教授的教學模式相似,先講解較少的語法知識,然後利用這些語法知識編寫趣味遊戲,通過遊戲案例逐步引入新的語法知識,便於讀者學習理解。


這本書案例按照從易到難的順序講解,所有程序的代碼均不超過100行,且提供了實現過程的分步驟代碼,適合初學者上手學習。


● 趣味性強

精選12個案例,涵蓋了多種遊戲類型,讀者在製作這些趣味程序的過程中,會有很強的成就感。


童教授分解了案例的實現過程,每個步驟的學習難度較低,讀者很容易就能體驗到編程的樂趣,能快速提升學習興趣。


● 可拓展性強。

這本書每章均提供了練習題,以加深讀者對Python語法知識、開發遊戲方法的理解,還可以鍛煉邏輯思維,提升認識問題、解決問題的能力。


每章小結列出了可以進一步改進 與實踐的方向。附錄中提供了所有練習題的參考答案。讀者也可以參考本書開發思路,嘗試設計並分步驟實現任何自己喜歡的小遊戲。


接下來,給大家展示一個趣味編程的案例——「飛翔的小鳥」。


首先顯示一直靜止的小鳥,代碼如下:


import pgzrun #導入遊戲庫wIDTH = 350 #設置窗口的寬度HEIGHT = 600 #設置窗口的高度background = Actor( ' background') #導入背景圖片bird = Actor('bird') #導入小鳥圖片bird.x = 50#設置小鳥的x坐標bird.y = HEIGHT/2#設置小鳥的y坐標def draw(): #繪製模塊,每幀重複執行background .draw() #繪製背景bird. draw()#繪製小鳥pgzrun.go() #開始執行遊戲


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路


再來是小鳥的下落和上升:


def update(): #更新模塊,每幀重複操作bird.y = bird.y + 3 #小鳥v坐標增加,即緩慢下落def on_ mouse_ down(): #當滑鼠點擊時運行bird.y = bird.y-100 #小鳥y坐標減小,即上升一段距離



然後是障礙物的顯示和移動:




bar_ up = Actor('bar_ up')#導入障礙物上半部分圖片bar_ _up.x = 300 !#設置障礙物上半部分的x坐標bar_ _up.y = 0#設置障礙物上半部分的y坐標bar_ down = Actor('bar_ down' )#導入障礙物下半部分圖片bar_ down.x = 300 !#設置障礙物下半部分的x坐標bar_ down.y = 600#設置障礙物下半部分的y坐標def draw(): #繪製模塊,每幀重複執行background.draw() #繪製背景bar_ up.draw()#繪製障礙物上半部分bar_ _dowin . draw()#繪製障礙物下半部分bird. draw()#繪製小鳥


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路


最後是遊戲失敗的判斷:



def update(): #更新模塊,每幀重複操作#如果小鳥碰到障礙物上半部分或下半部分,遊戲失敗if bird. colliderect(bar_ up) or bird. colliderect(bar_ _down):print(『遊戲失敗' )


完整代碼如下:










import pgzrun #導入遊戲庫import random #導入隨機庫WIDTH= 350 #設置窗口的寬度HEIGHT = 600 #設置窗口的高度background . Actor("background') #導入背景圖片bird = Actor('bird') #導入小鳥圖片bird.x = 50#設置小鳥的x坐標bird.y = HEIGHT/2#設置小鳥的y坐標bar. _up = Actor("bar up')#導入障礙物上半部分圖片bar. _up.x = 300 #設置障礙物上半部分的x坐標bar_ up.y = 0 #設置障礙物上半部分的y坐標bar. _down . Actor('bar down') #導入障礙物下半部分圖片bar. _down.x = 300 #設置障礙物下半部分x坐標bar_ down.y = 600 #設置障礙物下半部分的y坐標score = 0 #遊戲得分speed = 1 #遊戲速度,即障礙物向左移動的速度def draw(): #繪製模塊,每幀重複執行background.draw() #繪製背景bar_ up .draw() #繪製障礙物上半部分bar_ _down. draw() #繪製障礙物下半部分bird.draw() #繪製小鳥screen.draw. text(str(score),(30, 30),fontsize=50, color='green' )def update(): #更新模塊,每幀重複操作g1obal score, speedbird.y= bird.y+ 2 #小鳥y坐標增加,即緩慢下落bar_ uUP.x = bar. _up.x . speed #障礙物上半部分緩慢向左移動bar. domn.x- bar. _om.x - speed #障礙物下半部分緩慢向左移動#當障礙物移動到最左邊時,可以讓其在右邊重新出現if bar up.x < 0:bar_ up.x = WIDTHbar_ down.x = WIDTH#障礙物上半部分上下隨機出現bar_ up.y = random. randint(-200, 200)#上、下部分的障礙物中間空擋大小固定bar_ down.y = 600 + bar. up.yscore = score+1 #得分加1if (score % 5 == 0): #如果得分增加了5分,就讓遊戲速度增加1speed = speed + 1#如果小鳥碰到障礙物上半部分或下半部分,則遊戲失敗if bird.coliderect(bar. up) or bird.colliderect(bar_ down)or bird.y < 0 or bird.y>HEIGHT:print( '遊戲失敗')def on_ mouse_ down(): #當滑鼠點擊時運行bird.y = bird.y - 100 #小鳥y坐標減小,即上升一段距離Pgzrun.go() #開始執行遊戲


在這個過程中,講解了數據類型轉換、整數運算、圖片導入與顯示等功能,應用if語句,實現了「飛翔的小鳥」遊戲,總共用了58行代碼。


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

Python遊戲趣味編程

作者: 童晶

廣告

Python遊戲趣味編程

作者:童晶

噹噹

廣告

Python遊戲趣味編程(非同步圖書出品)

作者:童晶

京東

內容簡介:

本書把趣味遊戲開發應用於Python編程教學,通過介紹12個由易到難的趣味遊戲案例的編寫過程,帶領讀者從零基礎開始學習。本書共13章,系統講解了Python語言基本概念、開發環境搭建、循環、列表、數據類型、條件、複合運算符、字元串拼接、布爾變數、數組、函數、列表操作、面向對象編程等基礎知識,還介紹了圖片操作、文件讀寫、聲音播放、異常處理等較為實用的編程技能。所有這些知識和技能,都通過遊戲案例講解和展示,貫穿各章,還給出了一些練習,幫助讀者鞏固所學的知識。附錄A給出了這些練習題的答案,附錄B給出了Python語法知識在書中相關章節的索引。本書適合不同年齡層次的Python編程初學者閱讀和自學,也可以作為中學生、大學生學習程序設計的教材和少兒編程培訓機構的參考教材。


Scratch3.0



父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

Scratch 3.0少兒遊戲趣味編程2

作者: 李強


內容簡介:

本書詳細介紹使用Scratch 3.0開發15款精彩的趣味遊戲,幫助讀者掌握程序設計的基本思維和方法,以及Scratch 3.0編程的基本技能。全書共8 章。第1 章帶領讀者認識Scratch 3.0,第2章介紹4款入門級的遊戲及其編寫過程,幫助讀者做好準備和過渡;第3章介紹了4款初級遊戲的編寫,第4章和第5章分別介紹了兩款中級遊戲的編寫,第6章介紹了高級遊戲「保衛城池」的編寫,第7章介紹了高級遊戲「掃雷」的編寫,第8章介紹了高級遊戲「超級馬里奧」的編寫。


本書遊戲選材精鍊有趣,結構合理,由淺入深,符合讀者學習規律,講解生動活潑,寓教於樂。本書適合中小學信息技術課教師或培訓老師、想要讓孩子學習Scratch 的家長閱讀參考,也非常適合小學生或初中學生自學。


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

Scratch 3.0少兒遊戲趣味編程

作者: 李強 李若瑜



內容簡介:

本書通過精心選取的、不同難度級別的15款趣味遊戲的開發過程,將Scratch程序設計的基礎、概念、方法和動手實踐等系統聯繫起來,教會讀者在遊戲開發的樂趣中,掌握Scratch編程技能。本書首先帶領讀者認識Scratch 3.0,然後介紹了Scratch編程必備的一些概念和基礎知識,並按照初級遊戲開發、中級遊戲開發和高級遊戲開發的順序,循序漸近,由易到難,讓讀者逐步掌握和熟練Scratch趣味編程。


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

Scratch 3.0少兒編程趣味課

作者: 李強 林子為 郝敬軒



內容簡介:

本書結合Scratch 3.0最新的功能和界面,精心設計28個課時,從什麼是編程開始介紹,到Scratch 3.0的基本程序設計技能,再到常用的程序設計概念和技巧,最後在通過一個遊戲示例將所學的知識和加以貫穿。每一課最後還提出相應的思考題,幫助孩子鞏固所學的知識。


C++



父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

C++少兒編程輕鬆學 寫給中小學生的零基礎教程

作者: 左鳳鳴




內容簡介:

科技發展日新月異,我們逐步進入了人工智慧時代,編程已經不是一種特殊技能,每個感興趣的人都可以嘗試。編程對人的邏輯思維、動手能力等是一種很好的鍛煉,中小學生不僅可以通過編程拓展思維,還可以動手體驗科技帶來的樂趣,在代碼的世界裡,提升自身綜合實力。本書由淺入深地引導讀者學習C++編程,涉及變數、分支、循環、數組、字元串、函數等重要知識點,同時總結了程序調試技能、編程規範、考試經驗等。


本書包含豐富實用的代碼示例,旨在幫助學生快速入門C++編程,並能夠在案例的引導下,進一步夯實C++編程技能,輕鬆應對各類編程競賽。除此之外,本書還提供了配套的題庫供讀者自行練習,並輔以代碼作業檢測平台,幫助家長和學生做好課後練習與學習效果評估。


Python



父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

少兒編程之旅 趣學Python

作者: 張霞 ,劉穎


內容簡介:

本書分為6章,系統全面地介紹了Python語言的基礎語法、基本數據類型與組合數據類型。基本數據類型包括整數、浮點數、字元串、布爾值和空值;組合數據類型包括序列類型(字元串、列表和元組)、字典類型和集合類型。本書包括IT行業的14個故事與話題,例如伊莉莎程序、身份證的數字化、計算機加密演算法等;設計了110個案例,例如猜數遊戲、繪製小花朵、計算機造句等;列舉了4個演算法分析的案例,分別是凱撒加密法、換位加密法、英文小說的詞頻統計以及字典加密器。


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

Python少兒趣味編程

作者: 李強 李若瑜



內容簡介:

Python簡單易學,功能強大,是少兒學習編程的首選語言。本書是少兒學習Python編程的趣味指南,全書共17章,按照由簡到難、逐步深入的方式組織各章內容。本書從認識Python開始,首先介紹了Python的安裝和IDLE的使用,然後依次介紹了變數、數字和字元串、列表、元組和字典、布爾類型等數據類型,以及條件、循環、異常和注釋、函數、面向對象編程、文件操作等基礎知識,並且通過實際案例講解了海龜繪圖、Pygame基礎和遊戲編程,以及Python在自然語言處理方面的應用。


本書精心選取內容,注重難易適度和趣味性,語言通俗易懂,代碼示例豐富。在多章的末尾,還給出了一些練習題並給出了解答。本書適合想要學習Python編程基礎的少兒(尤其是10歲以上的孩子)及想要教孩子學習編程的家長閱讀,也適合少兒編程培訓班的老師用作少兒編程培訓的教材。


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

Python遊戲趣味編程

作者: 童晶


內容簡介:

本書把趣味遊戲開發應用於Python編程教學,通過介紹12個由易到難的趣味遊戲案例的編寫過程,帶領讀者從零基礎開始學習。本書共13章,系統講解了Python語言基本概念、開發環境搭建、循環、列表、數據類型、條件、複合運算符、字元串拼接、布爾變數、數組、函數、列表操作、面向對象編程等基礎知識,還介紹了圖片操作、文件讀寫、聲音播放、異常處理等較為實用的編程技能。所有這些知識和技能,都通過遊戲案例講解和展示,貫穿各章,還給出了一些練習,幫助讀者鞏固所學的知識。附錄A給出了這些練習題的答案,附錄B給出了Python語法知識在書中相關章節的索引。


本書適合不同年齡層次的Python編程初學者閱讀和自學,也可以作為中學生、大學生學習程序設計的教材和少兒編程培訓機構的參考教材。


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

青少年學Python

作者: [希]Aristides S. Bouras ,Loukia V. Ainarozidou

譯者: 榮耀 ,程晶


內容簡介:

本書是作者多年從事編程教學工作的經驗凝結。本書強調演算法思維比學習編碼更為重要。演算法思維是一個和問題解決相關的過程。本書將演算法思維當做必須的學習和訓練,來教授計算和演算法思維,進而學習和掌握編程能力。本書選擇Python這種非常流行的語言,配以豐富的插圖,100多道解答的問題和200多道練習題,250多道判斷,100多道多選題,幫助10歲以上的孩子和父母,以及其他的同學、老師來學習Python編程。


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

趣學Python——教孩子學編程

作者: 【美】Jason R. Briggs

譯者: 尹哲


內容簡介:

本書用一種輕鬆活潑的方式帶領讀者進入Python語言的世界。作者將帶領讀者以獨特的、新奇而充滿樂趣的示例,來學習Python編程。其中,術語會特別提示,代碼用不同顏色提示、分析和說明。圖示也輕鬆活潑。本書每一章都有精心設計的編程謎題,讓讀者開動大腦,充分理解所學的知識和內容。本書最後,介紹了如何編寫兩個完整的遊戲。這種通過編寫遊戲的教學方式,能夠極大地調動讀者的學習積極性。


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

教孩子學編程(Python語言版)

作者: 【美】Bryson Payne

譯者: 李軍


內容簡介:

本書旨在為家長和老師提供一個孩子學會編程和用Python語言解決問題的的指南,書中還包括一些非常典型且實用的案例,來促進學習效果。通過一步步的指導,讓學生了解計算機思維,並能夠掌握變數、循環、函數等基礎概念,以此來提升孩子的動腦動手能力。無論是有一定編程經驗的人,還是零基礎的讀者,你都將成為孩子在計算機編程方面最棒的第一任老師。


項目實戰



父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

物聯網So Easy 基於Blynk平台的IOT項目實踐

作者: 裘炯濤 ,陳眾賢



內容簡介:

本書基於Blynk 物聯網平台,通過項目實踐的方式引導讀者製作物聯網項目。全書包括 準備篇、基礎項目實踐篇、中級項目實踐篇、高級項目實踐篇和附錄五部分內容。本書先介紹物聯網的一些概念,並在認識物聯網開發板的基礎上介紹搭建物聯網開發環 境的方法;接著通過實現遠程控制檯燈、定時風扇等初級項目,引導讀者利用手機與硬體完成互相發送簡單命令、實現遠程控制、遠程數據獲取等任務。隨著項目的深入,本書將介紹網路校準時鐘、校園氣象站等中級項目,進而介紹遠程紅綠燈、教室人數統計器等高級項目,最終幫助讀者掌握複雜數據的發送與接收、硬體與硬體之間的通信與橋接等技能。


通過閱讀本書,讀者可以掌握Blynk 物聯網開發技術的相關知識,了解物聯網的開發原 理與步驟,能夠獨立開發物聯網項目。


本書適合具有圖形化編程(Scratch、Mixly 等)基礎的小學高年級學生以及對物聯網等創客技術感興趣的初、高中學生閱讀,也可供中小學信息技術教師、培訓機構的創客教師閱讀參考。


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

來吧 一起創客 基於Mixly和Mind+平台的創客作品12例

作者: 劉金鵬 ,陳眾賢 ,裘炯濤



內容簡介:

《來吧,一起創客》基於3位作者多年的中小學創客教育經驗編寫,收錄了12個生動有趣的學生創客獲獎作品,如戒煙筆筒、智能騎行安全帽、減肥沙發等項目,以中小學生的視角去分析現實生活中存在的痛點和需求,通過設計外形、搭建電路、編寫程序等幾個步驟,由淺入深地教學生使用智能硬體完成創客項目製作。本書所有項目均提供了Mind+和Mixly兩個軟體版本的程序代碼,因此學生既可以挑選適合自己的軟體進行學習,也可以同時對照兩種程序進行學習,進而可以輕鬆地理解智能項目設計的過程與步驟,充分體驗創造的樂趣。


本書操作步驟詳細簡明、圖片清晰、項目可操作性強,可以作為中小學生學習創客項目製作的進階教程,也可以作為有意開展STEAM課程的學校和機構的教學用書。


父母的焦慮,看「別人家」的老師和孩子,為你解鎖編程學習套路

micro:bit超好玩——米爸帶你學編程

作者: 狄勇

譯者: 吳晉瑜



內容簡介:

本書基於家庭創客課程的理念,通過18個小項目讓孩子們在具體實踐中入門BBC micro:bit。以mini PBL的方式,讓孩子們在具體項目中了解和運用信息技術,並通過感測器實現物理計算,使之成為探索新知和實現想法的工具,讓技術鏈接生活,讓創新在實踐中萌芽。這或許並不是一本面面俱到的micro:bit教程,但一定是本能讓孩子觸類旁通,並且有趣的micro:bit項目手冊。

avatar