荊東星
摘要:目前在Python程序設(shè)計課程教學(xué)中存在的主要問題是以知識點為中心,教師講授,學(xué)生被動接受知識,缺乏對學(xué)生工程實踐能力的培養(yǎng)。為了解決以上問題,提出基于 CDIO模式的 Python程序設(shè)計課程教學(xué)設(shè)計研究,以項目為載體,以能力培養(yǎng)為核心,以綜合素質(zhì)培養(yǎng)為目標(biāo)。構(gòu)建了基于 CDIO模式的 Python程序設(shè)計課程教學(xué)設(shè)計模型,并結(jié)合理論知識和工程實踐能力兩個維度進行課程設(shè)計。通過實踐驗證,該課程能提高學(xué)生的工程實踐能力、團隊合作能力和解決問題的能力。
關(guān)鍵詞:CDIO;Python;課程教學(xué)
中圖分類號:G642? ? ? 文獻標(biāo)識碼:A
文章編號:1009-3044(2024)07-0134-03
開放科學(xué)(資源服務(wù))標(biāo)識碼(OSID)
0 引言
在工程教育領(lǐng)域,CDIO模式是由美國麻省理工學(xué)院的著名教授提出的一種全新的工程教育理念,該模式強調(diào)學(xué)生學(xué)習(xí)過程中的參與感,培養(yǎng)學(xué)生解決復(fù)雜問題的能力,對工程教育改革產(chǎn)生了重大影響。它包括構(gòu)思(Conceive)、設(shè)計(Design)、實現(xiàn)(Implement)和運作(Operate)四個階段[1],強調(diào)將工程實際問題轉(zhuǎn)化為工程項目,引導(dǎo)學(xué)生由理論學(xué)習(xí)向?qū)嵺`應(yīng)用過渡。該模式將能力培養(yǎng)貫穿于整個教育過程,實現(xiàn)了從“教”到“學(xué)”再到“做”的轉(zhuǎn)變。
基于 CDIO模式的 Python程序設(shè)計課程教學(xué)改革主要是圍繞如何培養(yǎng)學(xué)生解決實際工程問題的能力展開,通過將 CDIO模式與 Python課程的教學(xué)內(nèi)容和教學(xué)方法相結(jié)合,幫助學(xué)生掌握計算機編程在實際中的應(yīng)用[2],增強學(xué)生對計算機程序設(shè)計課程的學(xué)習(xí)興趣。
1 Python程序設(shè)計課程教學(xué)現(xiàn)狀分析
在傳統(tǒng)的教學(xué)模式中,學(xué)生學(xué)習(xí) Python語言時,采用的是以知識為中心的教學(xué)模式,教師傳授知識,學(xué)生被動接受知識,在學(xué)習(xí)過程中容易出現(xiàn)“重理論、輕實踐”現(xiàn)象[3]。通過使用CDIO模式進行教學(xué)改革,學(xué)生不僅能夠掌握理論知識和技能,而且能夠培養(yǎng)創(chuàng)新意識、團隊合作精神、實踐動手能力和解決實際問題的能力。
1.1 教學(xué)內(nèi)容陳舊
由于 Python語言是一門新興的編程語言,語法與C語言、Java語言等傳統(tǒng)編程語言有很大不同,在教學(xué)過程中,教師如不及時更新教學(xué)內(nèi)容,將導(dǎo)致學(xué)生在學(xué)習(xí)時存在一定難度[4]; 傳統(tǒng)計算機教育注重“計算機操作”“計算機組成原理”等基礎(chǔ)課程的教學(xué),對“算法”“數(shù)據(jù)結(jié)構(gòu)”等高級課程重視不夠,導(dǎo)致很多學(xué)生對 Python語言的應(yīng)用場景和發(fā)展前景認(rèn)識不清,將其僅看作一門高級語言,忽視了 Python語言也是一門具有完整結(jié)構(gòu)和程序設(shè)計思想的編程語言。
1.2 實踐教學(xué)環(huán)節(jié)薄弱
目前,在高校 Python程序設(shè)計課程教學(xué)過程中,往往是通過課堂上教師對知識點的講解,讓學(xué)生掌握知識,學(xué)生被動接受知識。但是,在實際應(yīng)用過程中,學(xué)生的編程能力欠缺。在實踐教學(xué)中,學(xué)生必須掌握 Python語言的語法和編程規(guī)則,才能編寫出高質(zhì)量的程序。但目前高校 Python程序設(shè)計課程教學(xué)過程中,忽視了對學(xué)生實踐能力的培養(yǎng)。在實際應(yīng)用過程中,學(xué)生往往要花費大量時間來進行調(diào)試和修改程序。
1.3 考核評價機制不完善
目前,很多高校對 Python程序設(shè)計課程的考核評價機制不完善[5],主要表現(xiàn)在:
1) 沒有科學(xué)地制定考核評價指標(biāo),如考核形式單一、考核內(nèi)容不全面等。
2) 考核方法過于單一,考核方式主要以筆試為主,而筆試是最直觀、最便捷的方式,這種考試方式缺乏靈活性、啟發(fā)性和創(chuàng)新性。
3) 在對學(xué)生的成績評定時,主要根據(jù)筆試成績和平時表現(xiàn)來確定,缺少綜合評定。
4) 在學(xué)生完成實驗項目后,沒有對學(xué)生的實驗情況進行評價。這種評價機制不能全面地反映學(xué)生的綜合能力和學(xué)習(xí)效果。
2 構(gòu)建 CDIO模式下的課程教學(xué)應(yīng)用模型
本文構(gòu)建了基于 CDIO模式的 Python程序設(shè)計課程教學(xué)設(shè)計模型,該模型包括知識教學(xué)、能力培養(yǎng)、素質(zhì)培養(yǎng)三個維度。
知識教學(xué)包括:
1)? Python基礎(chǔ)知識,主要介紹 Python的基礎(chǔ)知識以及常見的編譯器。
2)? 編程基礎(chǔ),主要介紹 Python的編程語言、基本語法及常用數(shù)據(jù)類型。
3)? 編程實踐,主要介紹 Python的實踐課程,如模塊化程序設(shè)計、數(shù)據(jù)庫編程等。
能力培養(yǎng)包括:
1) 團隊合作能力,主要是在課堂上和課外的團隊合作項目。
2) 自主學(xué)習(xí)能力,主要是在課堂上和課外的自主學(xué)習(xí)項目。
3) 創(chuàng)新能力,主要是在課堂上和課外的創(chuàng)新項目。
2.1 知識教學(xué)
在知識教學(xué)中,采用了 CDIO工程教育模式,以學(xué)生為中心,以項目為載體,將知識教學(xué)與能力培養(yǎng)相結(jié)合,知識教學(xué)各個環(huán)節(jié)都貫穿著 CDIO工程教育模式。首先,在課堂上講解 Python的基礎(chǔ)知識及常用編譯器的使用時,采用“老師演示+學(xué)生操作”的方法[6]。老師先講解并演示 Python語言的基本語法的用法,然后讓學(xué)生操作,并給出相應(yīng)的結(jié)果。在演示過程中,教師將問題進行分解,引導(dǎo)學(xué)生從簡單到復(fù)雜、由易到難逐步深入學(xué)習(xí)。其次,在項目的實施過程中,教師引導(dǎo)學(xué)生學(xué)會分析問題、解決問題。在分析問題時,先引導(dǎo)學(xué)生對問題進行分解,然后根據(jù)分解后的問題提出相應(yīng)的解決方法;在解決問題時,學(xué)生先自行查閱資料、閱讀代碼等方法進行代碼實現(xiàn)。最后,教師進行總結(jié)。
在此環(huán)節(jié)中,教師不斷地對學(xué)生進行指導(dǎo)和提示,幫助學(xué)生找到解決問題的思路。在項目完成之后,讓學(xué)生利用所學(xué)知識編寫程序,教師給出題目要求及步驟要求等,學(xué)生在完成項目之后將自己編寫的程序提交給教師進行最終成績評估。
2.2 能力培養(yǎng)
在CDIO模式下,學(xué)生是學(xué)習(xí)的主體,教師是主導(dǎo)。教師要充分利用教材的內(nèi)容,盡可能將相關(guān)知識融入課堂教學(xué)中。每節(jié)課以組為單位進行項目開發(fā),每組制定好開發(fā)方案,并充分利用網(wǎng)絡(luò)資源,與其他小組進行協(xié)作交流。教師要指導(dǎo)學(xué)生充分利用好圖書館、網(wǎng)絡(luò)等資源進行自主學(xué)習(xí),積極參與課堂討論。在學(xué)生的自主學(xué)習(xí)過程中,教師要加強監(jiān)督與引導(dǎo),并根據(jù)實際情況進行適當(dāng)調(diào)整。教師可以采用分組競賽、作業(yè)布置等形式調(diào)動學(xué)生的積極性和主動性。此外,教師可以組織開展各類創(chuàng)新競賽活動,如大學(xué)生軟件設(shè)計大賽、大學(xué)生程序設(shè)計大賽、“互聯(lián)網(wǎng)+”大學(xué)生創(chuàng)新創(chuàng)業(yè)大賽等。
2.3 素質(zhì)培養(yǎng)
素質(zhì)培養(yǎng)主要從學(xué)生的個性特征、知識結(jié)構(gòu)、心理素質(zhì)等方面進行考慮。在編程實踐中,學(xué)生需自主學(xué)習(xí)、自我管理,不能依賴?yán)蠋煟@就需要學(xué)生具備自主學(xué)習(xí)能力。在課堂教學(xué)中,老師需要對學(xué)生的學(xué)習(xí)過程進行引導(dǎo),幫助他們形成良好的自主學(xué)習(xí)習(xí)慣和自學(xué)能力。教師利用問題引導(dǎo)學(xué)生進行編程實踐。例如,在 Python編程實踐中,教師可以設(shè)置一些有難度的問題,讓學(xué)生進行自主學(xué)習(xí)和解決問題。這樣可以提高學(xué)生的學(xué)習(xí)興趣,培養(yǎng)他們的自學(xué)能力。
此外,在 Python課程實踐中,教師應(yīng)為學(xué)生創(chuàng)造更多自主學(xué)習(xí)的機會。教師可以利用圖書館、網(wǎng)絡(luò)等資源,為學(xué)生提供自主學(xué)習(xí)的機會。
3 課程設(shè)計
本學(xué)期這門課程的總學(xué)時為108,從第 1 周至第 18 周。結(jié)合 CDIO 教學(xué)模式,將實施過程分為幾個階段:第1-5 周構(gòu)思階段1)分析程序項目;2)編寫程序概要;3)設(shè)計實驗方案;4)編寫實驗?zāi)_本;5)實驗過程管理,包括實驗前準(zhǔn)備、實驗過程中的管理、實驗結(jié)束后的總結(jié)與評價。
第6-10周設(shè)計階段:1) 編寫程序設(shè)計方案;2)設(shè)計程序框圖;3)編寫調(diào)試程序;4)實驗前的準(zhǔn)備工作,包括實驗環(huán)境的設(shè)置、實驗前的準(zhǔn)備、實驗過程中的管理;5)實驗結(jié)束后的總結(jié)與評價。
第11-15周實施階段本階段的任務(wù)是使用 Python語言編寫電子商務(wù)網(wǎng)站,系統(tǒng)功能包括登錄、注冊、購買、查看商品信息、付款、瀏覽商品和訂單管理等。學(xué)生根據(jù)自己的理解設(shè)計網(wǎng)站,通過項目任務(wù)書的形式完成網(wǎng)站開發(fā),學(xué)生需要自主學(xué)習(xí)電子商務(wù)網(wǎng)站的開發(fā)和應(yīng)用,可以獨立完成電子商務(wù)網(wǎng)站的開發(fā)和應(yīng)用,并在教師指導(dǎo)下編寫項目文檔,在此過程中教師對學(xué)生進行指導(dǎo)和答疑。
第16-18周運行階段:包括調(diào)試運行環(huán)境、調(diào)試程序框圖、調(diào)試運行過程中的管理、調(diào)試結(jié)果與評價,以及實驗結(jié)束后的總結(jié)與評價。
該階段的考核方式分為以下幾個方面:
1) 學(xué)生自評:首先,學(xué)生根據(jù)自己的理解設(shè)計完成項目后,對整個項目進行自我評估,包括項目需求分析、程序設(shè)計與實現(xiàn)、功能測試等環(huán)節(jié);然后,教師根據(jù)學(xué)生自評情況給出評分。
2) 學(xué)生互評:教師根據(jù)學(xué)生自評和小組互評情況,對每個小組進行評分。
3) 教師評價:教師對每個小組的評分結(jié)果進行統(tǒng)計,給出最終的評分結(jié)果。
通過以上環(huán)節(jié),完成了本學(xué)期 Python程序設(shè)計課程的學(xué)習(xí)任務(wù)。在項目開發(fā)過程中,通過項目驅(qū)動法和 CDIO教學(xué)法相結(jié)合,采用邊做邊學(xué)邊用邊做的方式展開教學(xué)。在整個過程中,學(xué)生不斷發(fā)現(xiàn)問題、解決問題和學(xué)習(xí)新知識,同時在 CDIO教學(xué)法中通過團隊協(xié)作完成項目開發(fā)和設(shè)計,將理論知識運用到實際項目中去,通過項目驅(qū)動法讓學(xué)生在實踐中掌握所學(xué)知識。這種學(xué)習(xí)方式使學(xué)生能夠?qū)W以致用,并能提高學(xué)生分析和解決問題的能力。
4 課程實施效果分析
以Python程序設(shè)計課程為例,進行基于 CDIO模式的課程設(shè)計。通過對最后綜合評價,得出下列結(jié)果:超過一半的學(xué)生認(rèn)為通過該課程的學(xué)習(xí),他們不僅掌握了基本的編程技術(shù),而且學(xué)會了如何解決實際問題。其中,有38%的學(xué)生認(rèn)為,通過該課程的學(xué)習(xí),能更好地掌握編程語言,并能夠根據(jù)項目要求進行創(chuàng)新和設(shè)計。同時,有19%的學(xué)生認(rèn)為通過該課程的學(xué)習(xí),能掌握一定的編程方法,并具有良好的工程素養(yǎng)。這表明,學(xué)生們能夠掌握編程技術(shù)并將其應(yīng)用到實際項目中。
結(jié)合課程改革實施效果和課程建設(shè)情況進行總結(jié)如下:1) 提升了教學(xué)效果;2) 激發(fā)了學(xué)生學(xué)習(xí)興趣;3) 提高了學(xué)生編程能力、創(chuàng)新能力和團隊合作能力;4) 促進了教師專業(yè)成長。
4.1 提升了教學(xué)效果
1) 通過基于 CDIO模式的教學(xué)改革,學(xué)生掌握了程序設(shè)計思想、原理及編程語言,培養(yǎng)了工程素養(yǎng)和團隊合作精神。同時,由于項目的設(shè)計及實施都在學(xué)校完成,學(xué)生從課堂走向現(xiàn)實,感受到了真實項目的開發(fā)過程。通過基于 CDIO模式的教學(xué)改革,學(xué)生對實際工程問題的解決有了更深刻的理解和認(rèn)識。
2) 在課程設(shè)計上,突出了知識體系與工程實踐的緊密結(jié)合。例如,在講解 Python基本語法時,突出了 Python與其他編程語言之間的差異和互補性;在講解 Python與其他語言之間的區(qū)別時,突出了 Python與其他編程語言之間的差異和互補性。
3) 在教學(xué)評價上,采用項目式學(xué)習(xí)方式。學(xué)生以小組為單位完成項目任務(wù),根據(jù) CDIO教學(xué)理念和要求,以項目成果為導(dǎo)向,以過程考核為主來評價學(xué)生在整個學(xué)習(xí)過程中的表現(xiàn)。
4.2 激發(fā)了學(xué)生學(xué)習(xí)興趣
Python作為一種適合人工智能開發(fā)的語言,其發(fā)展趨勢十分迅猛,它不僅可以幫助學(xué)生進行學(xué)習(xí),而且還可以幫助學(xué)生進行興趣愛好的培養(yǎng)。以Python程序設(shè)計課程設(shè)計為例,將課堂內(nèi)容與學(xué)生的興趣愛好相結(jié)合,提出符合學(xué)生需求的任務(wù),從而提高了學(xué)生學(xué)習(xí)的主動性。通過基于 CDIO模式的教學(xué)改革,采用了多種教學(xué)方法和手段,包括課堂講授、課堂互動、課后輔導(dǎo)、實驗實訓(xùn)等多種方式。教師根據(jù)課程內(nèi)容將學(xué)習(xí)任務(wù)和編程知識融入項目中,讓學(xué)生在完成項目的過程中學(xué)習(xí)編程知識。在教學(xué)過程中,教師與學(xué)生進行互動交流,在實踐過程中增強了學(xué)生的編程意識,從而激發(fā)了學(xué)生的學(xué)習(xí)興趣。此外,還在課堂上增設(shè)了趣味性較強的小游戲或小程序來幫助學(xué)生記憶知識點。這種生動有趣的教學(xué)方式也極大地激發(fā)了學(xué)生的學(xué)習(xí)興趣。同時,為了鼓勵學(xué)生積極參與到項目開發(fā)過程中去,還提出了與課程相關(guān)的各種獎項。這些措施都有效地激發(fā)了學(xué)生對Python程序設(shè)計課程的學(xué)習(xí)興趣。
4.3 提高了學(xué)生編程能力、創(chuàng)新能力和團隊合作能力
課程教學(xué)中,將 CDIO工程教育理念和模式引入課程改革,提高了學(xué)生的編程能力、創(chuàng)新能力和團隊合作能力。在實際教學(xué)中,結(jié)合項目任務(wù)的引導(dǎo),讓學(xué)生不斷思考、探索、實踐,促使學(xué)生掌握基本的編程方法。學(xué)生在項目中完成任務(wù)時,需要自己選擇程序的實現(xiàn)方法、邏輯結(jié)構(gòu)和運行流程。在此過程中,通過不斷地嘗試和反復(fù)練習(xí),培養(yǎng)了學(xué)生自主思考和分析問題的能力。同時,學(xué)生還會借助團隊合作模式完成項目任務(wù),從而培養(yǎng)了學(xué)生的團隊合作精神。例如,在進行項目開發(fā)時,首先需要小組成員共同協(xié)商項目任務(wù)和所需完成的子任務(wù)。然后小組成員利用各自所學(xué)知識進行分工協(xié)作完成任務(wù)。在這個過程中,學(xué)生不僅可以相互溝通交流、相互合作,還可以培養(yǎng)團隊協(xié)作能力、溝通交流能力和解決問題能力等綜合能力。同時,還可以增強學(xué)生對問題的分析判斷能力、自主學(xué)習(xí)能力、解決問題的能力和創(chuàng)新思維等綜合能力。最后,將項目任務(wù)進行分解、細化并按時間完成。
5 結(jié)束語
Python作為工具來解決實際問題,對計算機專業(yè)學(xué)生提出了更高的要求。傳統(tǒng)的教學(xué)方法和教學(xué)模式已經(jīng)無法滿足當(dāng)代大學(xué)生的需求,開展基于 CDIO模式的 Python程序設(shè)計課程教學(xué),能夠培養(yǎng)學(xué)生理論聯(lián)系實際、解決問題和團隊合作精神、工程實踐能力和綜合素質(zhì)等方面的能力。
參考文獻:
[1] 蔡靜穎.基于CDIO的C語言教學(xué)改革對學(xué)生應(yīng)用能力的培養(yǎng)探究[J].電腦知識與技術(shù),2020,16(28):105,119.
[2] 王健,劉惠子.基于開源項目的Python程序設(shè)計課程混合式教學(xué)模式設(shè)計[J].軟件導(dǎo)刊,2023,22(2):166-171.
[3] 賴錦輝.“Python程序設(shè)計” 目標(biāo)問題導(dǎo)向研討式教學(xué)模式研究與實踐[J].工業(yè)和信息化教育,2023(2):13-16.
[4] 張雪蓮.以職業(yè)需求為導(dǎo)向的Python程序設(shè)計教學(xué)改革研究[J].計算機時代,2022(3):86-88,91.
[5] 諶裕勇.新工科背景下Python課程教學(xué)思路探索[J].信息系統(tǒng)工程,2022(10):149-152.
[6] 蔡曉麗,劉芝怡,孟祥蓮.Python教學(xué)模式與方法的探索[J].電腦知識與技術(shù),2022,18(31):118-121.
【通聯(lián)編輯:王 力】