高級語言程序設計教學重塑與創新

時間:2022-06-16 15:31:57

導語:高級語言程序設計教學重塑與創新一文來源于網友上傳,不代表本站觀點,若需要原創文章可咨詢客服老師,歡迎參考。

高級語言程序設計教學重塑與創新

摘要:為了解決高級語言程序設計課程在教學實踐中存在的問題,本文提出了課程重塑創新方案,并在教學內容、教學模式以及教學評價三個方面提出了具體實施的措施。改革的實踐結果表明,本文的方案能夠有效解決傳統教學存在的問題。

關鍵詞:案例教學法;內容重塑;混合式學習;翻轉課堂

1引言

目前,許多高校在課程建設和教學創新探索上進行了積極地探索,擺脫了舊有的知識框架,形成新的分析和解決問題的思路,以全面提升學生的素質、能力、思想。《高級語言程序設計》作為計算機學院重要的學科基礎課,在課程矩陣中占有核心地位。區別于其他將該門課程作為通識選修課的專業,計算機專業的學生在該門課程上不僅僅要掌握編程語言的具體語法規則及簡單應用,更重要的是通過C語言這門計算機編程語言使得學生理解計算機結構化程序設計的基本思想、掌握結構化編程的技術與方法,進而能夠在此基礎上解決一些具有一定復雜度的工程問題。這也為后面的一系列有助于學生深度理解數據結構與算法、面向對象的程序設計以及編譯原理等人-機交互原理和方法的專業核心課打下重要基礎[1-2]。這門課程的教學希望達成以下目標:(1)知識目標:要求學生能夠舉例闡釋C語言的三大流程控制結構、數組、函數、結構體、指針、文件等基本語法規則,并在此基礎上閱讀、分析一般程序運行結果。(2)能力目標:要求學生能夠靈活運用結構化程序設計的方法設計、編寫、調試C程序,并解決具有一定規模的實際問題。(3)素養目標:要求學生具備科學思維、工程思維、創新思維、團隊合作與溝通能力以及自主學習能力[3]。然而多年的教學實踐發現,上述課程目標中的能力目標和素養目標達成度一直偏低。通過這門課程的學習,學生往往只掌握了編程語言的語法規則和簡單應用,未能內化結構化程序設計的思維和方法,編程解決實際問題的能力非常有限。為解決如上問題,本文從教學資源與內容、過程與方法、教學評價等方面進行了卓有成效的改革與創新,形成了具有一定推廣價值的做法。

2課程教學存在問題

本課程的課程建設和教學創新著眼于解決如下三個突出的問題:(1)缺乏興趣與內驅力。由于課程本身的性質和特點,很多學生覺得編寫程序是一項很困難、很枯燥的事情,解決問題耗時過長,造成他們缺乏學習獲得感、成就感,影響進一步學習的內驅力,課堂參與度低。(2)能力目標達成度低。該課程授課對象是大一學生。這類學生缺乏人-機交流經驗,計算思維還沒有建立起來,一邊要學編程語言的具體語法規則(外顯知識),一邊又要學習解決問題的思維邏輯(算法,內隱知識)。外顯知識易掌握,但是內隱知識的習得卻是一個較為漫長且困難的過程,需要大量的編程經驗積累。因而第一門編程課往往看似聽懂了課堂的全部知識,但是當動手編程時卻困難重重。他們在編程模仿后面比較容易實現,但是當綜合運用所學知識解決新問題時又存在較大困難。(3)核心思維與創新能力弱。在教學過程中,學生容易陷入在對具體問題的解決上,往往出現學過的、見過的題目會求解,未學過的問題則沒有思路,缺乏深度思考、分析對比、歸納總結等科學思維,在舉一反三、觸類旁通的知識遷移能力、想象與創新能力、綜合實踐應用等核心方面的能力難以提升。

3內容與資源創新

3.1線上優質資源

本課程采用自建資源為主、同步引入中國大學MOOC和網易公開課中的部分資源為輔助資源,將自建資源在線上按章節編排形成較為系統的課程。輔助資源適合課堂“吃不飽”和“吃不消”的兩級學生。不同學習基礎和能力的學生都有對應的學習路徑,從而實現個性化學習。自2017到2021年,本課程混合式教學目前開展到了第5輪。在多輪混合式教學實踐過程中,伴隨著新工科的最新人才培養要求以及學校、專業修訂的最新人才培養方案,課程內容和資源也經過了不斷地重構、迭代更新完善,形成了有效助力教學目標達成的教學視頻資源庫、習題庫、項目案例庫、教學案例庫,以及用于拓展學生思維和能力的拓展材料、主題討論集。資源的建設充分踐行了“以學生為中心”的理念。很多教學微視頻資源庫的錄制采集于學生結合例證講解算法的教學視頻。在教學案例庫中,大量富有啟發性、爭議性和探索價值的“一題多解、一題多變、老題新解”的案例則來源于課堂上案例教學過程,由學生對于一個問題的不斷追問、奇思妙想以及學生小組對于教師給出的算法不斷優化、總結得來的。大部分實踐案例庫由往屆學生小組開發的優秀案例集錦而成。這些實踐案例對于學生有著非常強大的正向激勵作用,促進他們仔細地觀摩、學習、創新、超越。

3.2階梯式教學案例庫

在課程教學改革中,以內容為王。本著以學生發展為中心,牢牢抓住課堂是能力培養、價值塑造的主陣地,為將課堂打造成互聽互學互辯的學習共同體氛圍,著力進行內容重塑。結合課程難且抽象的特點和,以及學生會學不會做、會做不會用的實際學情,為把案例教學法開展得有深度,需要設計非常恰當的案例作為教學內容。經過多年教學積累,課程已經形成了非常豐富的案例資源庫。按照難度和知識點密度劃分,分為低階、中階、高階三階案例,難度呈階梯上升的方式。在教學推進的不同階段,選用對應的適當難度的案例對學生進行知識鞏固、能力培養和思維啟發。低階案例知識密度小,一般在教學內容的初級階段設置,案例設計和選擇上多以“老題新解、一題多解、一題多變”的案例為主。“老題新解”促進學生前后知識關聯與有效建構,“一題多解、一題多變”培養學生觸類旁通、舉一反三的知識遷移能力。這些案例在教學過程中,通過設置很多啟發性問題、有爭議的結論以及尚未解決的難點層層推進,為學生留有大量的思辨、提問和動手實踐空間,將解決問題的方法逐漸推向最優化方向。按照建構主義的基本觀點,學習最終是學生主動地建構自己的知識經驗的過程,他人無法取代。而教學是激發學生建構知識的過程。在中階和高階案例的設計和選擇上,需要具備有難度、有多解、有價值、有趣味等特點。選擇知識難度適當、知識密度大且足夠有啟發性和探索價值的來源于生活實際場景或工程實踐中的案例,有助于課堂深度開展CBL(Case-BasedLearning)案例教學。

4教學過程與方法創新

課程采用基于翻轉課堂的混合式教學模式,線上自主學習基礎知識,并完成教學活動和教學測驗,對基礎語法知識形成初步認知,帶著問題進入課堂[4]。課堂則采用CBL案例教學法實現“做中學”,將理論和實踐統一起來,加強師生互動、生生互動,激發學生的學習參與熱情,推動學生積極思考、勤于動手。通過在課程教學中引入大量生動有趣、有探索價值的案例,串聯知識點,將語法知識放在實際應用場景中,幫助學生進行知識應用和遷移。在案例中設置層層遞進的問題,以問題促思考,培養學生的計算思維、分析問題、算法設計、動手編程解決問題的能力[5-7]。

4.1課前線上自主學習

學生課前通過自主學習教師發布的教學微課,形成對于本節知識的初步認知。通過完成該節內容的前測,對線上學習任務進行自我評估,完成鞏固測驗,參加討論活動,了解知識漏洞,生成個性化的問題。課堂聽課時既是鞏固深化知識的過程,同時也是解決課前知識疑難的過程。教師課前利用信息技術、智慧工具收據學習數據,準確把握學情,以學定教,確定本節的教學重難點,重塑案例及案例中的啟發性問題。課中通過講解演示、二次測驗等形式確認重難點掌握情況,確認低階知識目標的達成。

4.2課堂CBL案例教學

課堂以面向解決實際問題的編程案例為載體,與學生一起進行高效優質的交互,從提出假設、大膽嘗試,到編程求證、結果改進、反思總結,以科學研究的范式去進行教與學。教師首先將本節重點、難點貫穿到案例中,在分析難點、重點問題的同時,演示編程。接著利用2-3個案例,引導學生以小組形式分析討論算法,動手編程解決問題,各組上傳最終結果。最后教師將各組結果同屏展示,引導小組間互評互辯,分析各組算法優劣。課堂借助智慧教學工具,師問生答、生問生答、生講生練,分組合作、組間競賽等多種教學方式深化知識、培養能力、啟發思維,多角度激發學生的學習內驅力、獲得感與成就感。

4.3課后拓展延伸

學生在課后需要完成個人和小組兩部分作業。個人作業有基礎必做和能力提升兩類作業。小組C語言開發項目貫穿整個學期,隨著教學內容的推進逐步分階段完成。學期初自選開發方向和課題,學期內邊學邊做,自主探索、查閱資料、協作探究、方案設計,最后以程序來實現課題。在整個過程中,有階段匯報和教師指導。學期末進行演示答辯、項目驗收考核。“做中學,學中做”的方式推動學生挑戰自我、超越自我,從而解決會聽不會做、會做不會用的問題。

5教學評價創新

5.1能力為主的評價

按照工程教育認證標準,課程評價以OBE產出為導向,對標人才培養要求,從過去的知識為主轉變為以能力為主的評價[8]。編程語言的基礎語法規則屬于外顯的知識。這部分知識的記憶、理解及簡單應用在整個課程評價中只占30%。其余70%的分數則是對能力的考核和評價,著重在平時作業、實驗以及期末考試中評價學生針對實際問題的算法設計能力、程序編寫和調試能力以及實踐項目開發能力。

5.2多元化評價方式

課前、課中、課后采用全流程評價可以更加科學、客觀、公平地評測學生的學習成果以及課程目標達成度,最終實現以評促學、以評促教。評價方式多元化:診斷性+形成性+終結性評價;定量評價+定性評價。評價主體多元化:教師評價+學習平臺智慧終端評價+小組評價+個人自評。評價內容多元化:課前基礎知識掌握情況+課堂小組算法實現情況+課后個人編程實驗完成情況+小組實踐項目開發情況。具體的學業評價如表1所示。

6創新特色與教學成效

該門課程基于翻轉課堂模式開展線上線下混合式教學。學生線上進行基礎知識自主學習,課堂則開展CBL案例教學,以案例為載體,推動學生不斷分析問題,利用編程解決問題,在課堂的師生、生生深度交互中培養學生的計算思維和編程能力。按照學生的認知規律,教學案例按難度和知識密度分為高中低三階,在教學內容推進的不同階段采用不同的案例,非常有效地推動學生進行知識建構。全流程多元評價的方式對學生的知識、能力和素養進行科學客觀地評價,達到了以評促學的效果。該門課程自教學改革創新以來,取得了良好的教學成效,近兩年課程的能力目標達成度由改革前三年的年均65%上升到了74%。學生在項目開發大作業上也表現優異,由原來的只能編寫一些小程序轉變為基于工程規范開發具有一定復雜度的工程問題。特別是近兩年來,在工程教育認證大背景下,課程以產出為導向,由對知識的評價逐步轉變為對能力的評價。在最近的一輪期末考試中,基礎知識和程序設計能力考查比例由原來的60:40(100分試卷)變成了40:60,難度上升非常明顯,但是及格率由原來的低于75%提升到89.1%,優良率(期末卷面成績在80分以上的人數)為51.1%,平均分75.9分,標準差14.6。這說明,在教學改革與創新過程中,學生真正在能力和核心思維層面達到了預期教學目標。在最近一輪結課時對學生的教學質量問卷調查結果顯示,86%的學生在學完之后,對該門課程比較感興趣;73.64%的學生認為教學效果很好,對教師教學的滿意度打出了95.33的高分。教學改革與創新始終本著以學生發展為中心的人才培養理念,在前面經驗和最新學生學情的基礎上不斷的迭代更新,逐步反思前行,力求提升教學成效,從而為國家和社會培養一流人才。

作者:劉淼 單位:北方民族大學計算機科學與工程學院