蘭添才 陳振武 黃婧 鄭漢垣
摘? 要: 借鑒OBE教學(xué)理念并結(jié)合CDIO教學(xué)模式,對非計算機專業(yè)Python程序設(shè)計課程開展教學(xué)理念、模式、方法的改革。融合傳統(tǒng)的線下教學(xué)與線上教學(xué)方式,從知識分解、階段設(shè)計、內(nèi)涵組織、資源整合、授課方式和效果評價等方面進行探索研究。實踐結(jié)果表明,該教學(xué)模式可以將教與學(xué)融為一體,豐富編程課堂教學(xué)氛圍,激發(fā)學(xué)生的學(xué)習興趣并有效地提升教學(xué)質(zhì)量。
關(guān)鍵詞: OBE理念; CDIO模式; 非計算機專業(yè); Python程序設(shè)計; 教學(xué)質(zhì)量
中圖分類號:G642? ? ? ? ? 文獻標識碼:A? ? ? 文章編號:1006-8228(2022)03-98-03
Abstract: Drawing on the OBE teaching concept and combining with the CDIO teaching model, reform on the teaching concepts, modes and methods is carried out for Python programming course of non-computer specialties. By integrating traditional offline teaching and online teaching methods, the knowledge decomposition, stage design, connotation organization, resource integration, teaching methods and effect evaluation are explored and researched. The practical result shows that the teaching mode can integrate teaching and learning, enrich the teaching atmosphere of programming classroom, stimulate students' interest in learning and effectively improve the teaching quality.
Key words: OBE concept; CDIO mode; non-computer specialty; Python programming; teaching quality
0 引言
近年來由于計算機基礎(chǔ)應(yīng)用編程不斷在社會各行各業(yè)得到廣泛應(yīng)用,促使諸多高校針對非計算機專業(yè)的在校學(xué)生開設(shè)程序設(shè)計課程[1-2]。
CDIO(Conceive Design Implement Operate)強調(diào)以學(xué)生為教學(xué)中心主體、將“做中學(xué)”與“基于項目教與學(xué)”結(jié)合、對學(xué)生進行主動學(xué)習引導(dǎo),并采用多元的傳統(tǒng)與現(xiàn)代技術(shù)相結(jié)合的教學(xué)手段[3,4]。
OBE(Outcome-Based Education)則是一種通過預(yù)定學(xué)習效果,反過來組織、實施與評價教學(xué)過程合理性的工程教育理念模式,為應(yīng)用型人才綜合素質(zhì)與能力培養(yǎng)、卓越工程教育體系的建立與改革提供良好的指導(dǎo)方向[4]。王慧等人利用這種模式,對高校Java程序設(shè)計課程教學(xué)進行改革,提出了編程課程改革實施可分解為編程基礎(chǔ)能力、提升編程能力與高級應(yīng)用設(shè)計能力三個階段[5]。
本文針對非計算機專業(yè)學(xué)生的計算機理論、編程技能薄弱的特點,將OBE教育理念與CDIO學(xué)習模式融合,分模塊地將抽象、難懂的程序設(shè)計知識,因材施教地轉(zhuǎn)化成為學(xué)生容易理解掌握的知識點,并選擇Python課程進行實際教學(xué)應(yīng)用實踐。
1 基于OBE與CDIO的課程知識分解
在傳統(tǒng)教學(xué)模式中,教師針對計算機程序設(shè)計課程的教學(xué)普遍采取自我為中心的“一言堂”[6]的形式授課,學(xué)生難以對抽象編程理論知識理解掌握,易產(chǎn)生厭學(xué)情緒[7]。本文將Python知識點進行CDIO分解為四個階段模塊,建立課程教學(xué)內(nèi)容與分層結(jié)構(gòu)[8-9],如圖1所示。驅(qū)動案例分別以求解一元二次方程ax2 +bx+c=0(基礎(chǔ)模塊)、學(xué)生綜合積分管理系統(tǒng)(課后項目實踐及擴展項目模塊)為例。
⑴ 編程基礎(chǔ)模塊(基礎(chǔ)知識能力),結(jié)合編程方法,如語言描述、流程圖、代碼實現(xiàn)等,指導(dǎo)學(xué)生明確程序設(shè)計的基本思路及關(guān)鍵點,尤其是代碼實現(xiàn)的講解與演示。
⑵ 案例驗證與實現(xiàn)模塊(基礎(chǔ)能力驗證的實踐),要求并鼓勵學(xué)生積極主動利用實驗課和課余時間進行相應(yīng)編程基礎(chǔ)訓(xùn)練,完成第一模塊提出的各種操作案例任務(wù)要求。
⑶ 課后項目實踐模塊(提升編程能力),由于不同學(xué)生的邏輯思維、知識接受能力都是不盡相同的,遵循OBE理念依據(jù)不同情況制訂相應(yīng)的項目內(nèi)容,對學(xué)習效果較好的學(xué)生進行初步的擴展項目訓(xùn)練,以鞏固在第1、2模塊學(xué)習中獲得成就感與信心。
⑷ 課后總結(jié)與擴展項目模塊。高級應(yīng)用設(shè)計能力培養(yǎng),要求每位學(xué)生完成對問題求解過程的語言描述、流程圖、fChart方式及Python編程;引導(dǎo)學(xué)習能力強的學(xué)生將基礎(chǔ)能力與擴展項目進行知識點對接,并進一步完成面向?qū)ο蟪绦蛟O(shè)計基礎(chǔ)及擴展項目(如學(xué)生綜合積分管理設(shè)計)的學(xué)習,從而進一步提高學(xué)生對編程能力、知識的學(xué)習興趣。
2 階段教學(xué)實例
傳統(tǒng)的教學(xué)模式,任課教師針對程序設(shè)計教學(xué)引入的實例一般都僅僅是一些與課程相應(yīng)環(huán)節(jié)有關(guān)的示例程序或語句,缺乏互動性與應(yīng)用性[10]。本文改革教學(xué)模式實施以“fChart流程圖方式+程序設(shè)計”框架實例分解教學(xué)階段的實際操作,以求解一元二次方程:ax2+bx+c=0分級編程中的循環(huán)結(jié)構(gòu)為例進行CDIO。
⑴ Conceive,將fChart可視化程序設(shè)計基礎(chǔ)與Python結(jié)合起來,要求學(xué)生利用fChart表達出循環(huán)結(jié)構(gòu)(If-then、while-loop、do-while-loop、For-loop)的流程圖。
⑵ Design,引導(dǎo)學(xué)生如何依據(jù)流程圖進行語言描述:
輸入a,輸入b,輸入c
輸入數(shù)據(jù)的可能性:
① a==0,則一元二次方程就簡化為:bx+c=0、x=-c/b
b==0,則輸出”無解”,否則輸出”x=”, -c/b,即輸出”x=”,x
① a<>0
d=b*b-4*a*c
d<0? 則輸出“無解” (若要寫有解,則為復(fù)數(shù)解)
否則 x1,x2=(-b±sqr(b*b-4*a*c))/(2*a)
輸出”x1=”,x1
輸出”x2=”,x2
⑶ Implement,引導(dǎo)學(xué)生理解流程圖的設(shè)計與程序?qū)崿F(xiàn)的對應(yīng)關(guān)系,分析流程圖設(shè)計的不合理或錯誤與可能產(chǎn)生程序問題的關(guān)系。
⑷ Operate,要求學(xué)生對照流程圖與語言描述,實現(xiàn)ax2+bx+c=0求解的代碼編寫。
3 應(yīng)用實踐
3.1 線上+線下教學(xué)模式
⑴ 創(chuàng)建SPOC(小型在線學(xué)習課程)。利用學(xué)習通平臺為學(xué)生提供學(xué)習資源、建立小型的在線學(xué)習交流、績分制(獲得在線學(xué)習績分按一定比例列入課程成績總評);
⑵ 在線學(xué)習。學(xué)生充分利用在線平臺的資源來自主學(xué)習與反饋,教師根據(jù)學(xué)生在線學(xué)習狀況,進行有的放矢的線下課堂精講;
⑶ 課堂精講。通過在線學(xué)習與輔導(dǎo),適時掌握學(xué)生的學(xué)習動態(tài),為線下教學(xué)提供依據(jù);
⑷ 在線訓(xùn)練。學(xué)生通過線上、線下學(xué)習后,還要完成課后習題及實驗操作,以達到對編程理論知識與技能的有機理解與掌握。
3.2 教學(xué)效果分析
選擇新媒體專業(yè)的不同年級(2015級48人、2017級40人)、同年級不同班級(2019級一班35人、二班35人)進行教學(xué)效果對比,前者實施普通線下教學(xué)模式,后者則融合OBE與CDIO并采用線上、線下結(jié)合教學(xué)模式。課程總評成績按平時成績占10%、階段性考核(三次)成績占15%、實驗操作成績占15%、期末終結(jié)考核成績占60%。
⑴ 不同年級教學(xué)效果統(tǒng)計見表1。
⑵ 同年級不同班級教學(xué)效果統(tǒng)計見表2。
分析表1、表2,可以明顯看出:
① 融合OBE與CDIO教學(xué)模式的課程總評平均成績要優(yōu)于普通教學(xué)模式;
② 各部分成績的高低,均與學(xué)生的考勤成績存在相關(guān)性;融合OBE與CDIO模式的實驗成績不及格率降到零,體現(xiàn)了學(xué)生編程操作的能力明顯優(yōu)于普通教學(xué)模式。
⑶ 調(diào)查問卷。
針對已修讀(包括必修、選修或公共選修)本課程的2017、2018、2019級的180名在校學(xué)生及往屆已畢業(yè)的120名學(xué)生通過網(wǎng)絡(luò)問卷調(diào)查,統(tǒng)計結(jié)果分析如下:
① 對300名學(xué)生問卷調(diào)查的結(jié)果分析,可以發(fā)現(xiàn)53%的學(xué)生認為線上+線下結(jié)合授課方式更適合編程教學(xué),75%的學(xué)生認為問題+成果導(dǎo)向(即OBE)對自己的學(xué)習幫助很大,81%的學(xué)生對編程案例教學(xué)較滿意并認為對學(xué)習很有幫助,89%的學(xué)生認為fChart可視化編程與代碼設(shè)計結(jié)合使編程知識更容易掌握;
② 120名畢業(yè)生中,75%學(xué)生認為非計算機專業(yè)學(xué)生也應(yīng)該學(xué)習編程知識,18%的畢業(yè)生表示從事與編程基礎(chǔ)知識無關(guān)的工作。
4 結(jié)論
通過OBE與CDIO融合的教學(xué)模式,可以大大提高非計算機專業(yè)學(xué)生的主動學(xué)習與應(yīng)用問題的Python編程求解能力的教學(xué)效果,具有一定的推廣應(yīng)用意義。當然,該教學(xué)模式推廣應(yīng)用首先需要建立對應(yīng)課程的足夠豐富、形式多樣的資源(如案例、習題、討論主題等)及內(nèi)容的智能推送、課程考核體系的智能化等,才能取得教學(xué)效果的最大化。
參考文獻(References):
[1] 杜芳芳,趙錦東.非計算機專業(yè)程序設(shè)計課程教學(xué)的探索和實踐[J].教育與職業(yè),2010(26):136-137
[2] 徐曉飛,丁效華.面向可持續(xù)競爭力的新工科人才培養(yǎng)模式改革探索[J].中國大學(xué)教學(xué),2017(6):l3-l7
[3] 杜博.基于CDIO的C語言程序設(shè)計課程教學(xué)的改革與探索[J].微型電腦應(yīng)用,2018,34(3):67-68
[4] 周杰,黃小卉.試論OBE理念下工程教育專業(yè)人才培養(yǎng)方案的改革研究[J].內(nèi)蒙古師范大學(xué)學(xué)報(教育科學(xué)版),2018,31(9):13-18
[5] 王慧,李雷孝,邢紅梅.基于OBE理念的Java程序設(shè)計課程教學(xué)改革探索[J].計算機教育,2020(2):54-57
[6] Yang Fu-rong.Thoughts on interactive teaching[J].ITApplication in Education Sector,2012(4):215
[7] 張軍,吳荻,肖曉強,等.改進互動教學(xué)方式,提高教學(xué)質(zhì)量的探索——論高校《計算機程序設(shè)計》教學(xué)改革[J].計算機工程與科學(xué),2014,36(S1):191-194
[8] 冉娟,張鋼.獨立學(xué)院非計算機專業(yè)Python程序設(shè)計課程教學(xué)改革探索[J].計算機教育,2017(9):15-20
[9] 嵩天,禮欣,黃天羽.Python語言程序設(shè)計基礎(chǔ)(第2版)[M].北京:高等教育出版社,2017
[10] Xiao Li-min,Ruan-li,Zhu Ming-fa.Study on the teaching method of system virtualization[J].Computer Education,2010(13):64-65
3173501908212