馬超 張宏國 張淑麗



摘? 要:針對目前程序設計基礎課程存在的教學方式單一化、考核環節集中化等問題,文章以OBE-CDIO教育理念為指導,對于該課程的課程教學模式、課程設計和課程考核方式等方面的改革進行了有益的探索與研究。我們將工程教育認證中學生的畢業要求作為制定教學目標的依據,將MOOC、雨課堂等現代化教學資源融入課堂教學,采用CDIO教學理念指導課程設計,實現教學環節與考核環節的科學化與多元化,全面地培養學生的綜合實踐能力。
關鍵詞:OBE-CDIO;MOOC;課堂教學
中圖分類號:G642? ? ? ? ?文獻標志碼:A? ? ? ? ?文章編號:2096-000X(2020)01-0089-03
Abstract: In view of the simplification of the teaching methods and the centralization of the assessment processin the current course Fundamentals of Programming. Under the guidance ofthe OBE-CDIO educational concept, this paper has made explorations and researches for the reform of the course teaching mode, curriculum design and course assessment methods. We use the graduation requirements of engineering education certification for middle school studentsas the basis for setting teaching objectives, integrating modern teaching methods such as MOOC and rain classroom into classroom teaching and adopting CDIO teaching conceptto guide curriculum design to realize the scientific and diversified teaching links and assessment links and comprehensively develop students' comprehensive practical ability.
Keywords: OBE-CDIO; MOOC; classroom teaching
引言
程序設計基礎是軟件工程、數據科學與大數據技術等計算機類專業的第一門程序設計課程,該門課程會對學生程序設計體系的構建起著至關重要的作用、對后續的專業課程的學習產生深遠的影響。在程序設計基礎課程的教學中,教師多數沿用傳統教學模式,教學進程可概括為“講-聽-記-練”,在課堂教學中,以教師為中心,教師系統地講解基礎知識和經典實例,學生被動地接受,在課后只是通過作業督促學生學習,教學過程缺乏有效互動,期末考試采用筆試形式。這種教學模式導致了課程教、學效率低下,不能幫助學生在短時間內獲得程序設計的思維,以及程序設計實踐能力,具體表現為:學生學習的積極性和主動性不強,在上機實踐時,對于要解決的問題,不知道如何設計算法,不知道怎樣用程序設計語言描述算法;在程序出現錯誤后,不知道如何調試修改。時間長了,自然而然對程序設計的學習失去興趣,畏首畏尾。為此,我們必須通過引入先進的教育理念,來指導程序設計基礎課程的教改工作,探索新的教學模式,研究新的教學方法。
OBE(Outcome Based Education)是學習成果導向的教育理念,源于上世紀90年代的西方教育改革,其強調按照學生在畢業時需要達到的學習成果即具備的學習能力為目標制定課程的教學目標和教學計劃,以改善學生的學習成果作為教學改革的驅動力,而不再是教科書或教師經驗,培養學生真正具備從事相關領域工程實踐工作的能力[1]。CDIO(Conceive構思、Design設計、Implement實現、Operate運作)是工科教育的一種創新教學模式,它也是西方教育改革的先進成果[2][3],它以工程項目的生命周期為載體,強調讓學生通過在參與工程項目的過程中,主動地學習課程知識、鍛煉學生完成工程項目的實踐能力[4]。針對新工科專業對課程的新要求,將OBE與CDIO進行融合,以OBE-CDIO理念為指導科學的、合理的引導程序設計基礎課程的教學改革探究。
一、課程教學目標的設計
為了在程序設計基礎課程的教學改革中充分貫徹OBE教育理念,首先要設計課程的教學目標,在設計教學目標時,首先需確定程序設計基礎課程需要支撐哪些畢業要求指標點,即通過學習本課程,學生在畢業時能夠達成哪些能力,然后設計課程的教學目標,以及課程目標與畢業要求指標點之間的支撐關系。經過近幾年的教學實踐,我們總結了程序設計基礎課程需要支撐的畢業要求指標點,如表1所示。
為此,我們設計了本課程教學目標:目標1.能夠利用現代信息技術學習C/C++語言的基本知識和程序設計的基本方法;目標2.能夠使用先進工具編寫、編譯、調試、運行C/C++語言程序;目標3.能夠運用C/C++語言的基本知識和程序設計的基本方法,獨立進行程序設計、程序分析;目標4.具有自主學習和終身學習的意識和能力;目標5.能夠對算法進行分析與設計。
其中,目標1支撐畢業要求指標點12.1,目標2支撐畢業要求指標點5.2,目標3支撐畢業要求指標點9.1,目標4支撐畢業要求指標點12.2,目標5支撐畢業要求指標點3.2。在遵循OBE理念設計完教學目標之后,實際上就清楚了課程教學需要達到什么樣的目標,下一步需要解決的問題是如何高效的達到這一目標。
二、課程教學改革
實際上,目前的課程教學仍然存在以下幾方面的問題[5][6]。
1. 課程知識點過多且缺乏關聯性,僅僅實現了對知識點的縱向聚類,即按章節對其進行了劃分,而不同章節的知識點之間尚未很好的建立聯系,這無疑加大了學生學習基礎知識的難度,隨著新知識點的持續學習,學生對課程的興趣度會逐漸下降。
2. 多數課堂上仍就主要是教師講授,學生被動的聽取,課堂缺乏有效互動。有的課堂即便是加入了討論環節,但是由于討論的題目引起不了學生的興趣,導致學生缺乏自主學習、探索的意識,自主學習能力未獲得有效培養。
3. 教學資源現代化程度不高,教學方法單一、陳舊,教師缺乏及時獲得學生學習情況反饋的渠道;不同學生對基礎知識的掌握情況存在差異,導致學生對知識的學習需求呈現差異化,目前的教學方法無法有效解決這一難題。
4. 考核方式仍然是“一考定成績”,憑借期末考試的一張試卷來簡單的評價學生一學期的學習情況,這會導致學生期末突襲復習,而忽視日常學習,間接導致了學生實踐能力偏弱。
為有效地解決上述問題,我們主要從課程教學模式、課程設計和課程考核方式等方面進行改革。
(一)課程教學模式的改革
目前課堂教學大多以教師為中心,以知識傳遞為主,注重教師的教學外在,忽略學生的學習體驗,缺乏課堂內外的師生互動與生生交流,不利于培養學生批判性思維、實踐能力和創新能力,并且存在教學信息反饋片面、滯后、被動等現象,不利于激發學生學習的積極性、主動性和創造性。
為了解決這一問題,我們采用線上線下(Online To Offline)混合教學模式,將傳統的課堂轉變為以學生為中心的智慧課堂,形成“教學方式與學習方式變革”的教育新形態,如圖1所示。
本課程的教學遵循OBE理念,為達成課程目標,需以學生為中心,強調教學過程的輸出,強調學生學到什么和能做什么,重視能力培養,鼓勵批判性思考、推理、評論、反饋和行動。因此在教學環節的創新設計方面,以雨課堂為主,以MOOC和牛客網等其他技術手段為輔,實現課堂的智慧升級。智慧課堂分為三個階段:
階段1(課前-雨課堂和MOOC):課前推送自學任務,學生自學并完成檢測,提交思考、討論題作業。在推送自學任務環節,還需借助MOOC,將需要自學的視頻地址告知學生,由學生自行完成在線學習;然后讓學生完成檢測學習效果的客觀題,以及引導學生思考如何將知識用于工程項目的主觀題。
階段2(課上-雨課堂):讓學生更好的融入教學環節,實現課堂上的在線測試與在線互動,充分調動起學生的學習熱情。具體環節包括:課上老師對試卷進行點評,講解重點和難點;引導學生共同完成改錯、填空等互動;間隙再檢測錯誤率較高的知識點;思考題完成較好的同學展示交流;教師點評等。
階段3(課后-雨課堂、牛客網、微信等):推送拓展學習內容,布置訓練作業,該環節還需借助牛客網,讓學生以在線編程的方式完成課后作業,讓學生通過在線編輯、編譯、調試等活動,掌握編程能力。此外,教師、學生在雨課堂、微信上進行交流互動。
除上述的改革措施之外,特別注重對課堂討論環節的精巧設計,以引起學生的興趣,提升學生的參與度。我們采用的方式,將國內外知名公司的面試、筆試題中與基礎知識相關的內容作為討論的題目,一方面,拓展了學生的視野,另一方面通過實踐的例子告訴學生掌握好基礎知識的重要性。
如圖2所示,左上角內容是題目的原題,需要學生閱讀題目,并分析輸出是什么。此題初始一看,以為輸出的是str: Hello。但是仔細閱讀程序之后會發現,改題目的執行會出錯,這個時候學生應該回想起圖2右上角的經典例子,更進一步的,通過圖2右下角的程序可以幫助學生建立知識點的映射,這樣學生就可以完成對出錯程序的修正。雖然,這是一個小例子,但在這個過程中,需要引導學生學會對知識點的溯源、映射,不但要掌握好基礎知識,更要學會靈活的運用知識。
(二)課程設計的改革
課程設計的目標是培養學生的工程實踐能力。為此,在整個課程設計工程中,我們遵循CDIO理念,首先,引導學生完成對項目課題的業務理解與需求分析,接著指導學生完成對項目的詳細設計,然后由學生課下完成對項目的開發,即代碼的編寫與調試,最后采用項目答辯的形式,讓學生對系統進行展示,教師對系統的不足進行點評,指導學生完成對軟件系統的改進,并提交報告。其中,在具體的實現技術選擇上,建議能力較強的學生依次采用結構的程序設計方法(C語言編寫)和面向對象的程序設計方法(C++語言編寫),對同一個項目課題實現迭代的開發,這樣一方面學生的工程實踐能力獲得了充分的鍛煉,另一方面學生對于不同的程序設計開發會有更深入的體會,使得學生具有選擇合適開發方法的能力。
學生通過課程設計會完成構思、設計、實現、運作全過程的實踐工作,有利于樹立大工程的理念。
(三)課程考核方式的改革
本課程采用形成性考核方式,注重對每個學生的學業情況進行跟蹤,及時評價、及時反饋,促進學生更加注重能力形成的過程,引導學生天天勤奮學習,讓學生的進步在一點一滴積累中完成,幫助學生實現課程目標。
考核方式一方面要實現對學生全課程學習周期情況的綜合考察,另一方面要實現對學生工程實踐能力的重點考察,因此,改革后的考核環節主要包括:環節1-對課堂討論的評價;環節2-對在線學習與在線答題的評價;環節3-對課程設計程序的演示與答辯、課程設計報告的完成情況的評價;環節4-對期中和期末在線編程情況的評價。
通過線上與線下的結合,過程與結果的結合,即全面地考核了學生的整體學習情況,也重點考核了學生的工程實踐能力。
三、結束語
本文遵循OBE-CDIO教育理念,從教學目標、課堂教學、課程設計與考核方式等方面,對程序設計基礎這一門核心的專業基礎課程的改革進行了有益的探索與研究。解決了傳統的程序設計基礎課程課堂氣氛沉悶、學習方法單一等問題,激發了學生的學習興趣,加強了學生的工程實踐能力。
參考文獻:
[1]楊毅,剛孟斌,王偉楠.基于OBE模式的技術創新能力培養[J].高等工程教育研究,2015(06):24-30.
[2]葉民,孔寒冰,許星.新工科實踐路徑探討:基于扎根理論的CDIO轉換平臺建構[J].高等工程教育研究,2018(04):11-17+100.
[3]朱曉東,顧榕蓉,吳立保.基于CDIO理念的創新創業教育與專業教育融合發展研究[J].江蘇高教,2018(02):77-80.
[4]顧佩華,沈民奮,李升,等.從CDIO到EIP-CDIO-汕頭大學工程教育與人才培養模式探索[J].高等工程教育研究,2008(01):12-20.
[5]張亞紅,陳輝.新工科背景下的C語言教學改革探索[J].教育教學論壇,2019(17):125-126.
[6]郭晶晶,劉伯運,梁英杰,等.以學員為中心的C語言教學改革模式探討[J].教育教學論壇,2019(12):261-262.