摘?要:目前,大學本科計算機基礎課程《C++程序設計》尚存在些許不足,使得課程的教學目標沒有達到理想效果,本文深入解析了高等院校在該門課程上存在的缺憾,詳細闡述了基于OBE概念改進的《C++程序設計》的指標點與目標間的關聯,以及如何實現教學過程中以成果為導向的教學方式。
關鍵詞:OBE;成果導向;指標點;專業認證
一、緒論
自2013年6月我國正式成為《華盛頓協議》會員后,中國工程教育認證體系已日趨完善。在協議框架下,國內綜合性大學計算機學院對“C++程序設計”課程教學大綱中“學習產出的教育模式(Outcomesbased?Education,簡寫為OBE)”已達成共識和認可。“C++程序設計”教學大綱提出OBE概念后,其教學內容更加科學和完善。作者所在計算機學院根據OBE教學模式,為達到“構建教學過程以成果為導向”的目標,組織教學骨干,依據計算機專業學生畢業要求指標點與課程目標之間的對應關系,在對以往教學模式與OBE教學模式進行反復對比和分析后,得出“C++程序設計”課程教學目標與指標點的分配關系及任課老師具體完成指標點的明細表。結合2020年我校啟動“本科人才工程認證方案修訂”工作,依據“專業認證標準”,堅持“成果導向”的OBE概念,合理配置了適應“C++程序設計”專業理論教學和上機實驗課程體系。
縱觀本科生計算機教學大綱修訂過程,我們以OBE概念貫穿整個工程教育認證標準[1],以“學生學習成果為起點,反向軟件設計人才的培養”方案,圍繞學生就業問題、層次化構建培養目標,從畢業要求變更到畢業要求指標點分解,再到課程體系與教學內容形成一個演化關聯網絡,科學、高效推進了人才培養的持續改進。
(一)傳統教學大綱的不足
《C++程序設計》教學內容的撰寫很難符合當今大數據時代對于信息化人才的需求;現象之一:有些高校的教材太過陳舊,教材的內容不能跟上知識迭代更新的頻率。比如:2019年的C++課程還在使用VC++6.0[2]作為代碼編譯工具,學生上課實踐時沒有強調使用較新的Visio?Studio等IDE工具[3]。現象二:有的高校在教學中優先選擇自己編撰的教材,且與其他學科沒有前后連貫性,更沒有前瞻性。選用這些教材,會為學生的學習設置一道障礙。除此之外,一些高校的C++課程太過偏重于上機實踐,則計算機上機編程時間占據了授課學時。作為一門面向對象編程的基礎理論課,是學生打基礎的重要課程,所以在安排理論與上機實踐時間時,應側重理論課而減少上機課。
教學模式過于古板,從教學方式上來說,信息化水平低,傳統的教學模式以面授為主,以教師為中心,在這種模式下,教師授課以填鴨式為主,沒辦法通過課堂教學了解學生的個性化需求,因此無法指導學生做產出性教學。另外,雖然C++課程一般都配置上機實踐,但實驗課一般采用老師布置任務,學生做完后教師再抽樣檢查,這樣會增加教師的工作量,也無法準確搜集到學生的任務完成情況。由于沒有設置學生分組討論,所以學生無法明確了解C++面向對象程序的特點,很難讓學生深入思考與探究,從而增強其思辨能力。
課程考核的方式不盡合理也不夠公平,該課程一般采取“平時成績”+“期末考試”的加權方式進行評估,而平時成績多由考勤所得,這樣的考核方式過于單一、形式化,無法對學生進行全方位評估。比如很多學生到教室打考勤,但可能根本沒興趣聽老師講課,既然我們希望以OBE概念培養出符合工程認證的學生,則需要修改考核學生成績中存在的一些漏洞。如上機試題庫需要跟上時代的發展,而不能十年不變。期末試卷的分值也應該緊密契合大綱指標點。
(二)OBE概念C++課程大綱的比較與分析
根據畢業要求指標點設計課程體系,對于C++程序設計這門課,我從基礎和專業相互兼顧為著力點,對其知識要點不斷迭代更新,緊追當前的技術前沿性及實用性。所以課程體系構建對達成學習成果尤為重要。
教學目標1:了解軟件項目管理中的基本概念、方法和原理,掌握軟件項目管理的基本原則,了解計算機工程管理基本流程,培養學生對復雜工程問題的分析和解決能力。(支撐畢業要求指標點3.3:了解計算機領域的前沿技術和理論,在計算機工程項目設計和開發過程中具有創新意識,并能夠綜合考慮經濟、社會、法律、安全、健康、文化、環境等因素。)
教學目標2:掌握項目管理相關規范的基本原理和思想,能夠針對具體項目案例的優缺點、改進方法、應用背景等問題,選擇和使用恰當的管理方法對項目開發進行標準化規劃。(支撐畢業要求指標點7.1:能夠理解專業工程實踐與環境、社會可持續發展的辯證關系。)
教學目標3:通過學習與交流,了解計算機工程管理的國內外發展狀況和前沿技術,并能夠就當前工程管理相關的熱點案例發表自己的見解。(支撐畢業要求指標點11.1:掌握工程管理與經濟決策的基本原理,掌握計算機工程項目全生命周期各個過程管理的基本方法。)
《計算機倫理學與工程管理》是為計算機類專業高年級學生開設的一門跨學科基礎課。本課程是討論、研究并教育學生如何使用工程管理技術來管理整個軟件工程的過程,掌握軟件工程管理使項目能夠按照預定的成本、進度、質量順利完成入門課程。通過本課程的學習,使學生掌握計算機工程管理基本原則和分析方法。從應用的角度掌握大型項目的整個軟件生命周期都能在管理者的控制之下,以預定成本按期、按質的完成軟件并交付給用戶使用。
課程采用理論授課及作業相結合的方式,在講授計算機工程管理基礎知識的基礎上,引導學生了解該領域的前沿發展;通過具體案例指導學生進行軟件工程管理學習,深入理解課程知識的原理,掌握現代工具的使用方法;以團隊協作的模式完成作業,培養學生解決復雜工程問題的能力、溝通交流能力,提升學生的自主、終身學習意識及創新思維。
三、基于OBE改進C++課程的實例
我們利用比較新的深度學習算法、機器學習算法,針對傳統C++程序設計課程大綱中陳舊的部分,遵循工程教育專業認證的三個基本理念,對C++程序設計教學進行改革。
(1)改變教學理念。針對有些工科學院,應確立C++程序設計課程的重要地位,將它作為工科學院的一門公共課,提高學生對面向對象編程思維的認識,為后續的計算機算法學習打下堅實的基礎。因此,高等學校在C++程序設計課程課時分配中,應給予課時傾斜,除教學學時、實驗學時外,還需為該課程配套一定的研討學時,該學時主要給學生討論C++程序設計語言編程應用。特別強調的是由于C++程序設計這門課涉及的知識比較專業,其中不僅有計算機的編碼計算、數據類型、位運算等基礎知識,更有程序的流程控制、數據運算、抽象與分類、繼承與多態等編程知識,所以任課老師必須是來自于計算機專業的人才。同時,應定時舉辦關于該課程的教學培訓、教學研討會,從源頭上給予該課程充分重視。
(2)優化教學內容。重新分配課程章節的指標點,以學生產出為導向進行量身定制教材,所以教材的選取需要優中擇優。作者在教學時選用的教材是由清華大學出版社出版,鄭莉老師編撰的《C++語言程序設計》[4]。該書內容包含了較新的C++程序設計和面向對象程序設計的概念,基礎知識和函數,類與對象,數據的存儲和訪問屬性,指針與字符串,繼承與派生,群體類和群體數據的組織,泛型程序設計與STL,異常處理和Windows程序設計特點,以上內容基本囊括了本科生編程基礎知識。特別是該教材對程序的分析較為透徹,能夠配合老師更好的傳授編程方法給學生,因其理論知識量大,所以要確保足夠的課堂理論教學,有充分的時間讓學生融會貫通。對課程中比較晦澀的知識點,老師應加以修飾、潤色后,用通俗易懂的教學語言與學生互動,比如:類與對象章節中的復制構造函數調用的問題,學生很難弄清楚為什么用對象“A”初始化對象“B”時,會自動調用拷貝構造函數,如果老師把對象“A”換成對象“Tony”,對象“B”換成對象“Jerry”,把對象“A”初始化對象“B”這句話用通俗的語言解釋為若“Tony”和找“Jerry”是形影不離的好朋友,“Jerry”的一些性格就會影響到“Tony”,這種性格的影響就相當于調用拷貝構造函數。
(3)改變傳統成績考核的方式;本人認為學生的成績評定應更加全面化、多元化、公平化[5]。在統計學生平時成績時,除了教學綜合平臺的“課堂簽到”次數之外,還應增加更多豐富多元化的考察信息,如學生的課堂討論、平時作業完成情況、是否參加學術會議、是否參與項目開發活動等。期末上級考試成績可以是精心設計的系統功能的一個子模塊,或者是一個算法的C++語言實現,既可方便老師在下一年出題時能合理的更新試題庫,且能夠讓老師緊抓當前公司對C++程序設計的每一個知識點的實際需求。這樣便能使其出題的難度、覆蓋范圍在一個均衡、合理范圍。最后,教師通過對各類平時成績指標以及期末考試成績加權,給出最終的學習成績。
四、結語
本文我們探討了大學C++程序設計語言課程中的一些不足,提出了一種基于OBE反向設計的C++程序設計語言的教學改革的具體方案。其中,利用現代化的信息技術和工程認證OBE概念輔助教學改革,教學大綱的標準化和教學內容的精細化是方案的重點。通過這次教學改革,我院學生對于C++程序設計這門課程的興趣和學習的積極性有所增強,考試掛科率從13%下降到2%,其計算機基礎水平和解決問題的能力有了長足的進步。
參考文獻:
[1]李志義.解析工程教育專業認證的成果導向理念[J].中國高等教育,2014(17):710.
[2]王華,岳麗全,岳志高.MSComm控件在VC++6.0串口通信中的應用[J].長春工程學院學報(自然科學版)(1):7576+94.
[3]SaulCandib.Visio?2003?ShapeStudio形狀開發入門[J].Msdn開發精選,(2):8994.
[4]鄭莉.C++語言程序設計案例教程[M].2005.
[5]趙淑蘭.考試鑒定模塊化在“社會調查方法”課程中的應用研究[J].機械職業教育,(9):2628.
基金項目:1.2020湛江市非資助科技攻關計劃項目(2020B01287);2.R20049廣東海洋大學博士啟動項目
作者簡介:趙一(1984—?),男,湖北武漢人,博士,副教授,研究方向:軟件工程。