教小孩 學 Python 程式語言,用 中文 及 英文。
前言:
2014年 4月,
應邀去小兒子的學校分享了 4 小時的程式設計經驗,
https://speakerdeck.com/renyuanl/teaching-teenagers-to-coding
後來學校老師提及是否有發展成正式課程的可能,
我想了一下,在網路上東拼西湊,加上自己的見解,
就規劃出以下大約 24 節 的課程進度。
如果你對這個 課題 或 課程 有興趣, 歡迎 留言 連繫。
如果你對這個 課題 或 課程 有興趣, 歡迎 留言 連繫。
大家都來 學 寫程式,可能嗎?
Coding for all – is it possible?
這不是現在進行式,但越來愈多人認為確有其必要!
越來越多的 中小學生 開始有了以 Scratch 為基礎的 程式設計課程 的經驗,
也體會了何謂寫程式。
那麼,下一步呢?
Python
無疑是公認的最佳選擇!
但很重要的一點是,
如何【不】「揠苗助長」!
以及隨之而來的除蟲過程,實在也滿挫折的,
在沒有充分心理準備之前,這種經驗確實會讓很多人卻步!
可能要優先避免的是數學風格的程式教學,
如果學生本身就不是很喜歡數學的話!
如果學生本身就不是很喜歡數學的話!
還要認知到,每個學生的學習速度有快有慢及軌跡各不相同。
動畫以及科學模型應該有幫助,但切記那也絕非萬能。
這些年來我發現要培養成一位程式師唯一之道就是「持續不斷」的寫程式。
一個可行的策略是像學習傳統語言閱讀那樣的「分級學習」。
一個級數學過了之後,學習成果穩固了,才進到下一級。
目前,我們採取的教材嘗試把進度分為三級:
- Level 2
- 複雜的資料型態(含列表、字典)、滑鼠(含觸控)輸入、複雜的視窗介面
- Level 3
- 物件(類)導向 (OOP) 方法、專案(遊戲)程式設計
Ch.1 - Python, IDLE & Your First Program:
- >>> Meet the programming language you are going to learn about.
- 看看你將要學的程式語言:Python
- >>> Meet IDLE which will help organise and run your code easily.
- 最簡潔的 Python 編輯、解譯器:IDLE
- >>> Check that your computer is set up correctly.
- 檢查、測試電腦的Python學習環境的設定
- >>> Write and run your first program.
- 第一支程式
print('Hello, world!') 印= print 印('你好,世界!')
Ch.2 - Some text, some maths & going loopy:
- >>> Learn how to do some more with texts.
- 對「文字」做一些「處理」
print('I know it.\nYou didn\'t know.') 印= print 印('甲乙丙丁\tあいうえお\nabcd\tαβρδ\n')
- >>> Get Python to do some maths for you.
- 做一些「數學」
- >>> Learn about how loops work.
- 學一點「迴圈」的概念
- >>> Learn lots of useful operators.
- 多學一些數學及文字的「運算子」
Ch.3 - Readable code and My8Ball Game:
- >>> Write and save a Python file using Script Mode.
- 用劇本模式寫 Python 程式,並存起來。
- >>> Learn how to write clear readable code.
- 學習寫「明白易懂」的程式碼
- >>> Run a Python file.
- 「跑」一支 Python 程式
- >>> Learn about how to get user input.
- 學習如何取得 程式使用者 的 輸入
- >>> Learn about if and else clauses.
- 學習條件子句: if, else
- >>> Write a short game called my8Ball.
- 仿寫一支小遊戲程式,「我的8顆球」
Here is a movie of this chapter's project: my8ball.py
Ch.4 - Functions:
- >>> Learn about functions .
- 函數(式),一組特定功能的程式碼。
- >>> Write your own functions.
- 寫自己定義的函數。
- >>> Create a number guessing game.
- 創作一個「猜數字」遊戲。
Here is a movie of this chapter's project: myNumber.py
Ch.5 - MyEtchASketch:
- >>> Learn how to use the tkinter library.
- 學習使用 tkinter 函數庫
- >>> Make your own Etch A Sketch game.
- 自己做一個 Etch A Sketch 遊戲
- >>> Learn how to put an application in its own window.
- 學習把應用程式放在它自己的視窗中
- >>> Learn how to attach functions to keyboard presses.
- 學習把函數和鍵盤的按鍵連結起來
Here is a movie of this chapter's project: myEtchaSketch.py
Here is a movie of a two player version: ourEtchaSketch.py
如果你對這個 課題 或 課程 有興趣, 歡迎 留言 連繫。
回覆刪除您的用中文寫程式的理念很棒,不僅華人小孩受益,
回覆刪除某些「失學(程式語言)」的華人成年人應也可從中獲益。