使用結對程式設計進行學生協作

結對程式設計允許學生在同一台電腦或平板電腦上並排共同完成編碼專案。 這個想法是兩個頭腦比一個頭腦更好,透過配對和協作,學生對電腦科學概念建立了更深入的概念理解,增加了編碼的樂趣,並對他們的個人表現有了更積極的看法。1 結對程式設計可用於所有 VEX 平台中的編碼活動。

協作.jpg


什麼是結對程式設計?

結對程式設計是一種協作學習方法,學生配對程式設計而不是單獨程式設計。 在結對程式設計中,學生在同一台電腦或平板電腦上一起完成編碼任務。 一對學生將一起建立編碼專案並協作改進他們的專案並解決問題。

學生兩人應交替扮演兩個角色:「司機」和「領航員」2 ,並經常交換角色。 「驅動程式」使用鍵盤、滑鼠或觸控螢幕來控制電腦的主要操作。 「導航員」透過回答問題、指出程式碼的潛在問題以及識別改進機會來幫助駕駛員。

孩子指著 vexcode-vr.jpg
  • 「驅動程式」專注於即時細節,例如專案的下一步、語言語法和控制結構。
  • 「導航員」考慮大局,例如檢查編寫的程式碼並思考專案如何與活動的目標連結。

這些角色會定期切換,以便學生從每個角色中受益,並且兩位程式設計師共同承擔專案的各個方面的責任。


實施結對程式設計的策略

結對程式設計可能會有所不同,具體取決於您的學習環境、學生的年齡以及您使用的 VEX 平台。 然而,策略性地分配配對並製定明確的目標和期望將為所有學生的成功做好準備,使他們能夠專注於跨任何 VEX 平台的編碼任務和專案。 以下建議旨在幫助您開始並運行結對程式設計:

  • 分配具有類似經驗的配對夥伴 - 在她對結對程式設計與其他形式的協作相比的有效性的研究中,3 Colleen M. Lewis 發現,如果與經驗不足的學生合作,經驗不足的學生可能不會積極參與任務較多的經驗。 他們更有可能被動地觀察更有經驗的合作夥伴程式碼,並且當他們的合作夥伴做了他們不理解的事情時不太可能提出問題。 然而,當經驗較少的學生與經驗水平較接近的學生合作時,他們在專案評估中會更成功。 分配具有類似編碼經驗的合作夥伴,並經常更換合作夥伴,以提供一個所有學生都有權積極參與的場景。 例如,與兩名剛接觸 VEXcode VR 的學生搭檔可能比讓一名新學生與另一名已經完成多項 VR 活動和挑戰的學生搭檔獲得更好的體驗。
  • 與學生一起定義角色 - 確保學生清楚了解每個角色的職責,以便他們能夠積極參與專案並防止夥伴關係中發生衝突。 在學生開始結對程式設計課程之前,將職責發布並與學生一起審查。

驅動程式導航圖.png

    • 例如,如果學生正在開發 VEXcode VR 活動,則驅動程式應在 VEXcode VR 中建立專案並描述他們正在做什麼並聽取導航員的建議,而導航員則進行故障排除並檢查專案是否實現了目標如VR 活動中所寫,並分享建議。
  • 頻繁切換角色 - 在結對程式設計中經常切換角色非常重要,這樣學生才能從每個角色中獲益,並確保雙方都積極參與任務。 當學生不開車時,注意力可能會分散,因此目標是建立時間間隔,使駕駛員和導航員都能專注於任務。 轉換角色的頻率取決於學生的注意力持續時間。 從 5 分鐘的間隔開始,然後根據學生的表現縮短或延長時間間隔。

  • 建立角色轉換例程並進行練習 - 與其他課堂例程一樣,需要定義和練習學生如何以及何時轉換角色。 明確定義此例程將確保順利過渡並使學生能夠專注於編碼。 例如,為既定的時間間隔設定計時器,並為角色切換提供視覺提示。 當計時器響起時,兩人可以交換座位並在需要時參考視覺提示。 當學生透過結對程式設計和角色轉換獲得更多經驗和信心時,可以縮短嚴格的時間間隔,並允許他們按照自己的步調轉換角色。

  • 鼓勵積極的溝通和協作 - 讓學生清楚地了解結對程式設計所鼓勵的討論類型。 建立清晰邊界的一種方法是建立結對程式規範。 與學生共同製定規範,以提高學生的認同度,將其張貼在課堂上並定期參考。 以下是如何在課堂上傳達結對程式設計基本規則的範例。

Screen_Shot_2021-04-22_at_10.52.28_AM.png

  • 為學生製定解決問題的策略 - 創建熟悉的問題解決流程可以幫助學生發現問題並獨立前進,從而最大限度地減少干擾和挫敗感並提高復原力。 嘗試使用以下問題解決週期來幫助學生解決他們的專案問題並提出自己的解決方案。 有關如何幫助增強解決問題和應對挑戰的能力的更多信息,請參閱本文。 雖然本文重點關注 STEM 實驗室,但所確定的策略可以輕鬆應用於各種環境中的結對程式設計。

Problem_Solving_Cycle_gray.png

  • 兩人一組排除故障 - 建立一個程序,讓學生在解決問題和排除故障時先詢問其搭檔,然後再讓老師參與。 對於年齡較小的學生來說,有一個像「在我之前嘗試 3 個」這樣的綽號會很有幫助,學生應該在向老師尋求幫助之前嘗試三種可能的解決方案。

練習結對程式設計為學生創造了一個合作的機會,可以發揮彼此的專業知識,並一起享受學習的樂趣。 想像一下,在電腦科學課上,教室裡充滿了「駕駛員」和「導航員」之間關於完成編碼任務的最佳方法的激烈討論。 結對程式設計鼓勵學生協作、解決問題,並掌控自己的專案。 當定期建構和練習時,結對程式設計可以為學生和教育工作者提供愉快的體驗。


1 布勞特、格蘭特、提姆沃爾斯和 L. 馬林伊比。 “計算機科學課堂中結對程式設計的案例。” ACM 計算教育彙刊 (TOCE) 11.1 (2011):1-21。

2 威廉斯,勞裡。 “將結對編程整合到軟體開發過程中。” 第 14 屆軟體工程教育與培訓會議論文集。「尋找軟體工程職業」(Cat. 不。 PR01059)。 IEEE,2001。

3 Colleen M. Lewis “對於年輕學生來說,結對程式設計比其他形式的協作更有效嗎?” 電腦科學教育,21:2, 105-134, 2011

For more information, help, and tips, check out the many resources at VEX Professional Development Plus

Last Updated: