曹振宇
摘要:《Python語言程序設(shè)計》是數(shù)據(jù)科學(xué)和大數(shù)據(jù)應(yīng)用的基礎(chǔ)能力,主要培養(yǎng)學(xué)生的計算機思維、程序設(shè)計和數(shù)據(jù)分析能力。其中,積極學(xué)習(xí)和主動探索是教學(xué)設(shè)計的難點之一。本文基于哈佛大學(xué)Eric Mazur的同伴互教原理,使用反向設(shè)計,分析Python語言課程的設(shè)計方法,讓學(xué)生成為學(xué)習(xí)的主導(dǎo)者,老師成為過程的組織者。并在此基礎(chǔ)之上,為應(yīng)用型高校的Python課程設(shè)計提供可以借鑒的經(jīng)驗和思路。
關(guān)鍵詞:Python語言;同伴互教;積極學(xué)習(xí)
中圖分類號:TP311? ? ?文獻標(biāo)識碼:A
文章編號:1009-3044(2020)32-0107-02
1 引言
隨著智能技術(shù)的高速發(fā)展,社會進入了全新的數(shù)智經(jīng)濟時代。大數(shù)據(jù)、人工智能、機器學(xué)習(xí)不斷顛覆人們的生活方式。其中,大部分智能技術(shù)使用Python語言編寫和運行,這也成了數(shù)字化人才的必備技能。目前,關(guān)于Python課程的教學(xué)設(shè)計原理是,盡可能多地將最新編程知識和操作方法整合在一起,并搭配案例練習(xí)引導(dǎo)學(xué)生掌握編程技巧。這種教學(xué)方法的缺點在于以“教”為主,以“學(xué)”為輔。學(xué)生只需要比葫蘆畫瓢,按照老師的要求完成相應(yīng)任務(wù),而缺乏獨立探索的“激勵”因素。
處于青春期的大學(xué)生,其心理表現(xiàn)是構(gòu)建認(rèn)同,包括自我認(rèn)同和社會認(rèn)同。大學(xué)課堂應(yīng)該采用合作學(xué)習(xí)的方式,促進學(xué)生的自我成長和團隊意識。美國著名的心理學(xué)家Wilbert J. McKeachie 指出,高效的教學(xué)方法是一群學(xué)生將自己的經(jīng)驗分享給另外一群學(xué)生。所以,Python課程設(shè)計需要老師將學(xué)生組織起來,構(gòu)建一個知識共享和互動社區(qū),激勵學(xué)生之間的互教互助,提升教與學(xué)的質(zhì)量。
本文結(jié)合同伴互教理念,通過反向設(shè)計法從課前、課中和課后三個階段制定積極學(xué)習(xí)策略,以及相對應(yīng)的教學(xué)策略。從而增強學(xué)生主動學(xué)習(xí)和合作學(xué)習(xí)能力,為應(yīng)用型高校的課程轉(zhuǎn)型和人才培養(yǎng)目標(biāo)制定提供一些可行的思路。
2 同伴互教(Peer Instruction)的特征與原理
Eric Mazur是哈佛大學(xué)的物理學(xué)教授。他在一次課堂上的無意舉動卻對學(xué)生的學(xué)習(xí)效果產(chǎn)生了積極影響。由于學(xué)生是初學(xué)者,他們知道哪些知識點容易出錯,應(yīng)該使用什么樣的方法去解決問題。這些學(xué)生可以將自己的經(jīng)驗通過互教的方式傳遞給其他同學(xué)。Eric Mazur發(fā)現(xiàn)同伴互教比老師教授的效果更好。并且這種教學(xué)方式不受限于班級人數(shù)和學(xué)科類別。例如著名的慕課平臺Coursera引進了同伴互評機制。學(xué)生完成了項目實訓(xùn)作業(yè)后會隨機分配到一名同伴,兩人通過評分標(biāo)準(zhǔn)為對方的項目作業(yè)提供建議和優(yōu)化方案。所以,學(xué)習(xí)者需要經(jīng)過三個階段的成長,即會說、會做和會教。
同伴互教的設(shè)計原理分為四個步驟。首先,每一位學(xué)生根據(jù)老師的要求獨立完成章節(jié)學(xué)習(xí)和練習(xí)題。這個時候,學(xué)生對知識點的理解會多種多樣。其次,學(xué)生以小組為單位進行研討,找到想法不一樣的原因,并結(jié)合討論的結(jié)果優(yōu)化自己的答案。再次,老師給出一個相似的問題讓學(xué)生作答。這個時候大部分學(xué)生的答案正確,并且會出現(xiàn)不同的解題思路。最后,老師和同學(xué)共同總結(jié)知識點和學(xué)習(xí)經(jīng)驗,形成一套完善的知識體系。整個過程是由學(xué)生主動完成的,先獨立思考,再進行討論,然后分享心得,最后轉(zhuǎn)化為經(jīng)驗。
美國密歇根大學(xué)教師發(fā)展中心O.Neal 和 T.Pinder-Grover指出,老師需要根據(jù)知識點的復(fù)雜程度和資源消耗程度來設(shè)計教學(xué)策略。筆者根據(jù)她們提出的積極學(xué)習(xí)策略圖譜進行歸納與整合,將其分為四個類別(表1所示)。
3 基于同伴互教的教學(xué)方法設(shè)計
筆者在民辦本科應(yīng)用型高校的數(shù)據(jù)科學(xué)與大數(shù)據(jù)技術(shù)專業(yè)任教?!禤ython語言程序設(shè)計》在大學(xué)第二年第一學(xué)期開設(shè),課時數(shù)為64學(xué)時。學(xué)生在之前的學(xué)習(xí)階段已經(jīng)掌握計算機和信息演化歷史,但是未系統(tǒng)性地學(xué)習(xí)編程技術(shù)。所以本門課程是連接信息理論和數(shù)據(jù)應(yīng)用的紐帶。筆者將以反向教學(xué)設(shè)計法闡釋本門課程的教學(xué)設(shè)計思路。
3.1 學(xué)習(xí)預(yù)期效果設(shè)計
Python編程與人類的語言演變過程相似。隨著數(shù)據(jù)交互量級增長,Python編程會更迭出要素復(fù)雜的語法體系。這里以Python網(wǎng)絡(luò)爬蟲庫為例。假設(shè)我們需要從某網(wǎng)站采集電影信息。正則表達式通過特定的符號指代字母或數(shù)字,在網(wǎng)頁中定位核心數(shù)據(jù)。BS4在此基礎(chǔ)之上進行了簡化。通過設(shè)置標(biāo)簽來制定數(shù)據(jù)檢索路徑,從而減少程序編譯的工作量。Xpath在前者的基礎(chǔ)上為Python提供最優(yōu)路徑選擇,減少運算任務(wù),提升數(shù)據(jù)采集效率。由此可見,學(xué)生在學(xué)習(xí)上需要追本溯源,將復(fù)雜的問題進行系統(tǒng)化解構(gòu),運用自己的思維方式去理解問題,并更迭出新的知識和技能體系,將復(fù)雜的問題進行系統(tǒng)化的分解?;诖耍鹃T課程在學(xué)習(xí)效果設(shè)計上包含以下三點。首先,學(xué)生能夠清晰地描述數(shù)據(jù)采集、處理和分析的需求,以及Python工具的演化過程。其次,不同工具在功能上和需求上的場景應(yīng)用。最后,通過程序設(shè)計演示代碼的實現(xiàn)過程。
3.2 評價方式設(shè)計
本門課程摒棄了以學(xué)習(xí)成果為中心的評價方式,而是聚焦學(xué)生的學(xué)習(xí)效果和個人成長。課程的成績占比為期末考試(50%)+ 平時成績(50%)。其中,平時成績的效果評價方式根據(jù)學(xué)習(xí)預(yù)期效果進行了分類(表2所示)。首先,理解Python工具的演化過程采用單目標(biāo)學(xué)習(xí)策略。學(xué)生需要完成線上測試。并以小組為單位總結(jié)知識點分享到線上學(xué)習(xí)社區(qū)。同時學(xué)生團隊也將收到其他小組的評價。其次,對比Python工具在不同場景中的應(yīng)用采取多目標(biāo)學(xué)習(xí)策略。團隊需要根據(jù)項目需求進行程序設(shè)計,并完成實驗報告和10分鐘演講。其他小組成員和高年級學(xué)長給出評價和優(yōu)化建議。最后,程序設(shè)計演示采用綜合創(chuàng)作學(xué)習(xí)策略。各小組將所學(xué)到的知識融會貫通,并解決真實項目的問題。項目評價邀請行業(yè)導(dǎo)師和校友導(dǎo)師共同參與,從職業(yè)角度評價項目的專業(yè)性和普適性。
社區(qū)服務(wù)采用成果檔案原理,是學(xué)生效果評價的證據(jù)。學(xué)生小組每周委派一名成員將研究成果整合并錄制成微課視頻。這么做的原因有三:其一,學(xué)生和老師共創(chuàng)知識社區(qū),并無償分享。將立德樹人的思政教育融入課程中。其二,學(xué)生用自己的語言講解項目成果,把知識經(jīng)驗轉(zhuǎn)化為個人智慧。其三,成果檔案是學(xué)生職業(yè)發(fā)展的重要證據(jù)。
3.3 課前教學(xué)方法設(shè)計
老師在課前學(xué)習(xí)階段布微課視頻,為學(xué)生講解本周學(xué)習(xí)要點、任務(wù)打卡和同伴評分標(biāo)準(zhǔn)。在視頻結(jié)尾,老師給出3~5個思考題,學(xué)生需要通過資料查閱、網(wǎng)課學(xué)習(xí)和小組研討得出答案。學(xué)生根據(jù)任務(wù)指示需要完成三個階段的學(xué)習(xí):首先,學(xué)生需要閱讀參考書資料,并在實驗樓和Data Quest完成理論知識學(xué)習(xí)。本門課程使用這兩個平臺的原因是讓學(xué)生從實操中學(xué)習(xí)(Learning by doing)。其次,學(xué)生以小組為單位,將學(xué)習(xí)成果進行分享,并完成老師提出的思考題。如果小組存在學(xué)習(xí)問題,將由組長統(tǒng)一向老師預(yù)約私人輔導(dǎo)。最后,學(xué)生將研究的成果、資料和經(jīng)驗分享到線上學(xué)習(xí)平臺。并且評價其他2個小組的帖子。團隊通過與其他小組的溝通,優(yōu)化本小組的研究成果,并委派一名成員準(zhǔn)備10分鐘演講。
3.4 課中教學(xué)方法設(shè)計
課中學(xué)習(xí)階段分為三個部分。首先,各小組學(xué)生匯報問題的研究成果和學(xué)習(xí)方法。其他小組成員和老師共同給出評價。其次,老師發(fā)布項目實訓(xùn)任務(wù)。根據(jù)課程的內(nèi)容需求,實訓(xùn)題目會有所不同。如果學(xué)習(xí)的目的是研究Python工具在不同場景的應(yīng)用,題目會以問題分析為主。例如三種Python爬蟲工具在同一個網(wǎng)站的程序設(shè)計策略和優(yōu)劣比較。如果學(xué)習(xí)目標(biāo)是運用綜合能力解決真實案例問題,練習(xí)以題目分解為主,例如使用什么方法和流程解決這個項目問題。學(xué)生根據(jù)老師發(fā)布的項目問題,設(shè)計程序流程框架,并解釋其解題思路。學(xué)生團隊結(jié)合其他小組的成果進行評價和優(yōu)化。最后,學(xué)生團隊共同完成項目練習(xí)題和實驗手冊。各小組組長會根據(jù)遇到的問題預(yù)約同輩、學(xué)長或者老師輔導(dǎo)。
3.5 課后教學(xué)方法設(shè)計
學(xué)生需要在課后學(xué)習(xí)完成三個任務(wù)。首先,各小組委派一名代表錄制微課視頻。高年級學(xué)長將根據(jù)小組實驗報告做出評價,并協(xié)同小組完成視頻錄制。微課類型沒有要求,但是學(xué)生必須用自己的語言描述而不是照本宣科。其次,行業(yè)導(dǎo)師和校友導(dǎo)師將定期參與項目評價,主要聚焦在代碼設(shè)計的專業(yè)性和普適性。最后,各小組組長帶領(lǐng)成員制定下一節(jié)課的預(yù)習(xí)計劃。另外,老師總結(jié)學(xué)生的學(xué)習(xí)數(shù)據(jù)并存入學(xué)習(xí)檔案中。
3.6 創(chuàng)新性與普適性總結(jié)
《Python語言程序設(shè)計》教學(xué)方法的創(chuàng)新性和普適性包含以下四點。首先,教學(xué)設(shè)計不再以老師灌輸為主,而是將學(xué)習(xí)的主動權(quán)交給學(xué)生。老師在教學(xué)過程中扮演的角色是學(xué)習(xí)社區(qū)的組織者和學(xué)習(xí)問題的指導(dǎo)者。其次,老師不會重復(fù)學(xué)生能夠在網(wǎng)絡(luò)上和書本中學(xué)習(xí)到的知識,而是將更多時間用于知識和技能的綜合指導(dǎo)。再次,課程設(shè)計著重考慮學(xué)生的“認(rèn)同”心理,鼓勵他們從多個角度思考和解決問題,弱化對成績分?jǐn)?shù)的依賴。最后,課程將檔案記錄作為學(xué)習(xí)效果的佐證,清晰地記錄了學(xué)習(xí)方式、能力圖譜、項目經(jīng)驗和學(xué)科成績。這些數(shù)據(jù)都將為學(xué)生的職業(yè)發(fā)展提供指導(dǎo)。
4 結(jié)語
同伴互教是激發(fā)學(xué)生主觀能動性的教學(xué)方式。老師在課程中需要轉(zhuǎn)變角色,給予學(xué)生更多自由學(xué)習(xí)和積極創(chuàng)新的空間。教學(xué)設(shè)計應(yīng)該從學(xué)習(xí)過程的有效性、挑戰(zhàn)性和互動性為基礎(chǔ),潛移默化地激發(fā)學(xué)生的積極學(xué)習(xí)和社會互動意識,從知識能力到品德建設(shè)全方位培養(yǎng)應(yīng)用型人才。
參考文獻:
[1] 馬琰.同伴教學(xué)法在高校實踐教學(xué)中的應(yīng)用研究 ——以工程項目管理實訓(xùn)課為例[J].高等理科教育,2020(2):107-110.
[2] 劉滿蘭,李建輝,關(guān)成斌.基于OBE理念的《Python程序設(shè)計語言》課程混合式教學(xué)方法探索[J].計算機工程與科學(xué),2019,41(z1):203-206.
[3] Liu Q.Teaching practice of python programming course in big data era[J].ITM Web of Conferences,2019,26:01006.
[4] Fong C J,Gilmore J,Pinder-Grover T,et al.Examining the impact of four teaching development programmes for engineering teaching assistants[J].Journal of Further and Higher Education,2019,43(3):363-380.
【通聯(lián)編輯:梁書】