利用 Python 引導孩子的計算機思維
程式設計可以給低收入家庭的學生提供足夠的技能、信心和知識,進而讓他們擺脫因為家庭收入低帶來的經濟和社會地位上的劣勢。
儘管暑假期間底特律公共圖書館的帕克曼分部擠滿了無聊的孩子並且佔用了所有的電腦,圖書館工作人員並不覺得這會是個問題,反而更多是一個機會。他們成立一個名為 Parkman Coders 的程式設計社團,社團以 Qumisha Goss 為首,她是圖書管理員,也負責利用 Python 的魔力引導弱勢兒童的計算機思維。
四年前 Qumisha Goss 剛發起 Parkman Coders 計劃的時候, “Q”(代表她)並不是太懂程式設計。之後她通過努力成為圖書館裡教學和技術方面的專家和樹莓派認證講師。
社團最開始採用 Scratch 教學,但很快學生就對這種圖形化的塊程式設計感到乏味,他們覺得這就是個“嬰兒玩具”。Q 坦言,“我們意識到是時候需要在課程內容這方面做些改變了,如果是為了維持課程內容對初學者的友好性繼續選擇 Scratch 教學,這無疑會影響孩子們後期繼續保持對程式設計的關注。”因此,她開始教授孩子們 Python。
Q 是在 Code.org 平臺玩地牢骷髏怪物這個關卡的時候第一次接觸到 Python。她最開始是通過 《Python Programming: An Introduction to Computer Science》 和 《Python for Kids》 這兩本書學習的 Python。她也推薦 《Automate the Boring Stuff with Python》 和 《Lauren Ipsum: A Story about Computer Science and Other Improbable Things》 這兩本書。
建立一個基於樹莓派的創客空間
Q 決定使用樹莓派電腦來避免學生可能會因為自己的不當操作對圖書館的電腦造成損害,而且這些電腦因為便攜性等問題也不方便用來構建組成一個創客空間。樹莓派的購買價格加上它的靈活性和便攜性包括生態圈裡面的一些適合教學的自由免費軟體,讓大家更能感受到她的決策的可行性和可靠性。
雖然圖書館發起 Parkman Coders 社群計劃的本意是通過努力創造一個吸引孩子們的學習空間,進而維持圖書館的平和,但社群發展的很快,很受大家歡迎,以至於這座建立於 1921 的大樓的空間,電腦和插座都不夠用了。他們最開始是 20 個孩子共享 10 臺樹莓派來進行授課,但後來圖書館陸續收到了來自個人和公司比如 Microsoft、4H,和 Detroit Public Library Foundation 的資金援助從而能夠購買更多裝置以支撐社群的進一步壯大發展。
目前,每節課程大概有 40 個孩子參加,而且圖書館也有了足夠的樹莓派讓參與者人手一臺裝置甚至還可以送出去一些。鑑於不少 Parkman Coders 的參與者來自於低收入家庭,圖書館也能提供別人捐贈的 Chromebooks 給他們使用。
Q 說,“當孩子們的表現可以證明他們能夠很好的使用樹莓派或者 Microbit 而且定期來參加課程,我們也會提供裝置允許他們可以帶回家練習。但即便這樣也還是會遇到很多問題,比如他們在家無法訪問網路或者沒有顯示器、鍵盤、滑鼠等外設。”
利用 Python 學習生存技能,打破束縛
Q 說,“我認為教授孩子們電腦科學的主要目的是讓他們學會批判性思考和解決問題的能力。我希望隨著孩子們長大成人,不管他們選擇在哪個領域繼續發展他們的未來,這些經驗教訓都會一直伴隨他們成長。此外,我也希望這個課程能夠激發孩子們對創造的自豪感。能夠清楚的意識到‘這是我做的’是一種很強烈、很有用的感受。而且一旦孩子們越早能夠有這種成功的體驗,我相信未來的路上他們都會滿懷熱情迎接新的挑戰而不是逃避。”
她繼續分享道,“在學習程式設計的過程中,你不得不對單詞的拼寫和大小寫高度警惕。受限於孩子年齡,有時候閱讀認知會是個大問題。為了確保課程受眾的包容性,我們會在授課過程中大聲拼讀,同樣我們也會極力鼓勵孩子們大聲說出他們不知道的或者不能正確拼寫的單詞,以便我們糾正。”
Q 也會嘗試盡力去給需要幫助的孩子們更多的關注。她解釋道,“如果我確認有孩子遇到困難不能跟上我們的授課進度,我們會嘗試在課下時間安排老師輔導幫助他,但還是會允許他們繼續參加程式設計。我們想幫助到他們而不是讓他們因為挫敗而沮喪的不再參與進來。”
最重要的是,Parkman Coders 計劃所追求的是能夠幫助每個孩子認識到每個人都會有獨特的技能和能力。參與進來的大部分孩子都是非裔美國人,一半是女孩。Q 直言,“我們所生活在的這個世界,我們成長的過程中,伴隨著各種各種的社會偏見,這些都常常會限制我們對自己所能達到的成就的準確認知。”她堅信孩子們需要一個沒有偏見的空間,“他們可以嘗試很多新事物,不會因為擔心犯錯責罵而束手束腳,可以放心大膽的去求知探索。”
Q 和 Parkman Coders 計劃所營造的環境氛圍能夠幫助到參與者擺脫低家庭收入帶來的劣勢。如果說社群能夠發展壯大到今天的規模真有什麼獨特祕訣的話,那大概就是,Q 解釋道,“確保你有一個令人舒適的空間,充滿了理解與寬容,這樣大家才會被吸引過來。讓來的人不忘初心,做好傳道受業解惑的準備;當大家參與進來並感覺到充實愉悅,自然而然會想要留下來。”
via: https://opensource.com/article/19/2/break-down-stereotypes-python
作者:Don Watkins 選題:lujun9972 譯者:WangYueScream 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 《計算思維史話》思維導圖——持續更新
- 計算思維
- 【思維導圖】 邊緣計算面臨的機遇和挑戰
- 計算機程式的思維邏輯 (34) – 隨機計算機隨機
- 計算機程式的思維邏輯 (34) - 隨機計算機隨機
- 計算機程式的思維邏輯 (84) – 反射計算機反射
- 計算機程式的思維邏輯 (84) - 反射計算機反射
- Python(模組)思維導圖Python
- 計算機程式的思維邏輯 (41) – 剖析HashSet計算機
- 計算機程式的思維邏輯 (50) – 剖析EnumMap計算機
- 計算機程式的思維邏輯 (43) – 剖析TreeMap計算機
- 計算機程式的思維邏輯 (44) – 剖析TreeSet計算機
- 計算機程式的思維邏輯 (46) - 剖析PriorityQueue計算機
- 計算機程式的思維邏輯 (48) - 剖析ArrayDeque計算機
- 計算機程式的思維邏輯 (40) - 剖析HashMap計算機HashMap
- 計算機程式的思維邏輯 (41) - 剖析HashSet計算機
- 計算機程式的思維邏輯 (43) - 剖析TreeMap計算機
- 計算機程式的思維邏輯 (44) - 剖析TreeSet計算機
- 計算機程式的思維邏輯 (31) - 剖析Arrays計算機
- 計算機程式的思維邏輯 (38) - 剖析ArrayList計算機
- 計算機程式的思維邏輯 (50) - 剖析EnumMap計算機
- 計算機程式的思維邏輯 (51) - 剖析EnumSet計算機
- 計算機程式的思維邏輯 (85) - 註解計算機
- 計算機程式的思維邏輯 (66) - 理解synchronized計算機synchronized
- 計算機程式的思維邏輯 (2) :賦值計算機賦值
- 計算機程式的思維邏輯 (45) - 神奇的堆計算機
- 計算機系統引導過程計算機
- python學習_思維導圖Python
- 計算機程式的思維邏輯 (29) – 剖析String計算機
- 計算機程式的思維邏輯 (71) – 顯式鎖計算機
- 計算機程式的思維邏輯 (82) – 理解ThreadLocal計算機thread
- 計算機程式的思維邏輯 (56) – 檔案概述計算機
- 計算機程式的思維邏輯 (33) - Joda-Time計算機
- 計算機程式的思維邏輯 (29) - 剖析String計算機
- 計算機程式的思維邏輯 (25) - 異常 (下)計算機
- 計算機程式的思維邏輯 (71) - 顯式鎖計算機
- 計算機程式的思維邏輯 (91) - Lambda表示式計算機
- 計算機程式的思維邏輯 (39) - 剖析LinkedList計算機