楊小瑩,張萬禮
(宿州學院 信息工程學院,安徽 宿州 234000)
程序設計基礎是計算機類專業的第一門程序設計課程,在構建學生編程體系方面起著很大的作用,是許多后續專業課程開設的前提和基礎.在教學過程中,大部分教師采用“講—聽—記—練”的教學模式,以教師為中心,學生處于被學地位,課后學生學習較為單一,僅以作業為主.整個教學過程學生缺乏主動性,師生互動極為貧乏,期末考核方式單一,僅僅進行傳統的卷面考試.這種以教師教為中心的教學效果欠佳,學生無法獲得程序設計的思維,無法提高程序設計實踐能力.
OBE(Outcome Based Education)是“以 學生為本、以成果為導向”的教育理念[1],這種教育理念注重學生的學習效果以及綜合能力的提高.本文通過將OBE教育理念應用到《程序設計基礎》課程教學中,鍛煉培養學生編程思維,為后續專業課程的學習打下扎實的理論和實踐基礎,提高學生工程實踐能力和綜合競爭力.
OBE教育理念源于西方教育改革,注重學生具備的學習能力,本質是以“定義—實現—評估” 預期學習成果為主線開展教學活動[2-3],通過評估學生學習成果持續改進教學質量,如圖1所示.首先根據社會需求和學校定位制訂專業人才培養目標,依此制定畢業要求,畢業要求決定了教學中需要達到的指標點,根據指標達成情況確定、修改、完善課程體系[4-5].依據指標點以及課程教學效果改進完善課程教學大綱,大綱決定采用何種教學方法,通過多元評價來評價課程和指標點的達成情況,形成教學反饋,形成持續改進、動態調整的人才培養機制[6-7].

圖1 基于OBE培養:持續改進機制
教學活動開始之前,首先明確程序設計基礎的教學、學習目標,據此設計選擇相應的課程內容、采取對應的教學方式和能充分體現學習教學效果的考核方法.以本校軟件工程專業為例,培養目標(Training Objectives,TO)分為知識結構、能力結構和素質結構三種結構,具體如表1所示.

表1 培養目標
畢 業 要 求(Graduation requirements,GR)分為12條及相應的指標點,根據程序設計基礎課程支撐的培養目標和畢業要求確定課程教學目標,從而確定程序設計基礎課程的教學內容.按照知識點分為6個課程模塊(Course Module,CM),各個模塊對應不同的學習單元,根據難易程度合理分配各個學習單元不同學時,具體如表2所示.課程支撐的培養目標、畢業要求及其指標點、課程目標以及課程模塊的關系如表3所示.

表2 課程模塊內容

表3 課程支撐關系
在基于OBE的程序設計基礎正向教學實施過程中,提出“線上教學+線下教學+綜合考核+學科競賽”四位一體的教學體系,如圖2所示.將線下、線上教學環境相結合,教學過程考核與課程結束的最終考核相結合,將競賽要求引入教學過程,良好的教學過程促進優秀競賽結果的形成,二者相輔相成,充分培養學生創新能力,全方位提升程序設計基礎課程的教學質量.

圖2 “四位一體”教學體系
在學校網絡教學平臺上,建設程序設計基礎精品資源共享課,“網絡課程”系統結構如圖3所示.教學活動前,學生充分利用學校的網絡教學平臺回顧課前知識和預習新課知識,帶著問題進入教學過程,能夠更加有針對性地進行聽課學習,提高課堂聽課效率.教師在網教平臺布置不同級別的習題,對必須達到的教學目標設置為必須完成,對難度較大的知識點或擴展知識點設置為可選完成,通過加分的形式充分調動學生完成的積極性,真正實現“因人而教”的目的.通過構建網絡學習平臺,增加學生的學習途徑,提高學生的學習自主性和靈活性.

圖3 網絡課程系統結構
課堂上教學采用“以學生為中心”的教學模式,具體教學流程如圖4所示.

圖4 “以學生為中心”教學模式
課堂教學具體分為三部分,第一部分,學生對教師課前發布的問題在課堂上講解,包括上節課知識的復習回顧以及本節課知識的理解,其余學生根據自己課前預習情況進行討論提問.第二部分完成課堂任務,教師拋出本節課要掌握知識的相關問題,學生以問題為導向自主學、思,分小組進行討論,老師加以輔導.第三部分由老師結合輔導過程以及課堂討論情況進行重難點講解,對本節課內容進行總結歸納.這樣,課前學習、課中講授以及課后練習答疑有機結合.在整個教學過程中,調動學生學習的積極性和主動性,既鍛煉學生團結協作、相互溝通的能力,也有效增強了分析、解決問題的實踐能力,體現了以學生為中心的教育理念.
傳統教學中,程序設計基礎期末考核均采用卷面筆試的單一方式進行,無法有效體現學生實踐以及解決問題的能力[8].因此,為了更加有效地檢驗學生綜合分析、通過編程解決問題的能力,采用考試系統進行考核.考試系統中有5套習題,隨機進行抽取,避免了傳統考試中的死記硬背.習題有選擇、填空、程序閱讀、程序改錯和編寫程序五項構成,前四項主要考查編程基礎知識,編寫程序考查學生利用程序設計知識解決實際問題的能力,由于考試是在規定時間機房統一進行,充分檢驗了學生真正解決問題的能力.課程考核評價根據平時成績20%(包括出勤40%,作業40%,課堂討論20%)、實驗成績(30%)以及機試成績(50%)決定.由此,課程考核由原來單一的筆試轉變為“課堂研討+課后作業+實驗考核+自動化機試”相結合的綜合性考核,整個考核過程貫穿課前、課中、課后整個教學過程,形成了課程的閉環培養反饋機制,促進課程教學不斷改進.
課外,鼓勵學生積極參加“藍橋杯程序設計大賽”“中國大學生計算機設計大賽”等程序設計類比賽項目,培養學生學習程序設計的興趣,激發學生編程的潛能,提高學生創新實踐能力以及團隊協作能力,把握新的發展動向,改進完善課程教學體系,以賽促學、以賽促教,同時提高師生兩方面的綜合素質.
為驗證《程序設計基礎》課程改革的效果,將19軟件1班作為實驗班,19計算機1班作為普通班,進行綜合測評成績和調查問卷數據分析,其中綜合測評成績對比如表4所示,可以看出,實驗班成績高于普通班成績.

表4 期末綜合測評成績對照表
在課程結束后,在實驗班和普通班分別做問卷調查, 統計結果如表5所示.可以看出,學習主動性、解決問題與分析問題的能力以及教學滿意度,實驗班比普通班更具優勢.

表5 調查問卷表
本文將 OBE 教育理念引入程序設計基礎課程教學中,根據課程目標要求,反向設計教學過程,采用“線上教學+線下教學+綜合考核+學科競賽”四位一體的教學體系,正向實施教學,將課堂教學與網絡教學平臺深度融合,通過鼓勵學生參與程序設計相關比賽,培養了學生創新、編程應用能力,激發學生學習程序設計的興趣;設置多元化的考核評價機制.實踐結果表明:基于 OBE 的程序設計基礎課程教學改革提高了學生主動學習的積極性,增強了學生綜合應用、編程能力,有效提高《程序設計基礎》課程的學習效果.