黃繼海,劉秋菊,姜 宇,許鑌督
(鄭州工程技術學院 信息工程學院,河南 鄭州 450044)
在計算機與人工智能迅速發展的今天,社會急需一批動手能力強的應用型人才。C語言程序設計作為計算機類本科專業的一門專業基礎課程,是面向對象C+ +程序設計、單片機原理及應用和嵌入式系統等課程的先修課程,適用于智能科學與技術、電子信息工程和物聯網工程等專業軟硬件層次的開發語言,在課程體系中起著至關重要的作用。在課程體系與知識結構上以及在編程思維、實踐能力的塑造性上,這門課程對智能科學與技術專業和電子信息工程專業非常重要,甚至貫穿四年不斷線。
該課程也是大一新生在對專業認識還比較模糊的前提下接觸到的第一門編程課程。如果還是以傳統的教學方法“填鴨式”教學[1],學生學習的積極性會隨著課程難度的增加逐漸降低甚至喪失,直接導致課程的教學效果不佳,進而影響與該課程關聯緊密的課程的學習,教學質量難以保證。具體表現在:以教師為中心,重理論輕實踐,教師講授重在理論教學部分,實踐部分講授指導較少或實踐設計內容較為零散,缺乏專業工程應用;教材內容未能及時融入新技術;考核方式單一,很難準確把握學生對知識的理解。
本文從課程培養目標的重定位、以學生為中心的課程教學設計、產教深度融合模式、加強實踐環節的教學與指導、注重學生實踐能力培養、融入課程思政等幾方面,闡述了基于OBE理念的C語言程序設計課程教學改革方案,在該方案中融入工程教育模式,對進一步深化C語言程序設計課程教學改革與探索具有深遠的意義。
OBE(Outcome Based Education)成果導向教育是遵循結果導向,反向設計教學體系的教育模式[2]。與傳統的以教學內容為中心的理念相比,OBE強調“以學生為中心”“成果導向”與“質量持續改進”。這就要求教師和學生首先要明確教與學的目標,即要取得的學習成果,學習成果不僅包含書本上的知識,也包括能力和素養。其次,在教學內容、教學方法和教學過程的選擇和行為方式上都要以學習成果目標為驅動,以學習成果目標的達成度作為教學評價的重點,采用多元和階梯式的評價標準,在教與學的過程中根據發現的問題及時做出調整,為下一輪教學做準備。
成果導向教育如圖1所示,整個系統是一個閉環反饋系統。

圖1 基于OBE理念的教育模式
在新工科教育背景下,工程教育認證也全面融入了OBE理念。工程教育認證的過程為:首先確定認證專業的培養目標,同時按照工程教育認證的標準給出畢業生所具備的畢業要求,設置課程體系、師資隊伍、教學條件都是圍繞這一要求展開的,對畢業生的畢業要求的達成度則是通過對各個教學環節的實施加以說明的,其中合理的課程體系是達成畢業要求的關鍵,因此,在新工科背景下,基于OBE理念的課程改革勢在必行[3-4]。
本文遵循 OBE教育模式,結合智能科學與技術專業的培養目標及 C 語言課程的教學內容,提出本課程的最終學習成果:
(1)掌握程序設計的基本方法,形成模塊化程序設計的邏輯思維能力,并逐步形成正確的程序設計思想。
(2) 能夠熟練地使用 C 語言進行程序設計,能運用合理的控制流編寫清晰高效的程序,具備分析與解決專業相關的實際問題的能力。
(3)為本專業后繼課程及其他程序設計課程的學習和應用打下良好的知識基礎與技能基礎,同時促使學生養成良好的學習態度,為其將來從事專業活動和未來的職業生涯打下堅實的基礎。
C語言程序設計在許多工科類專業中作為專業基礎課程,具有很強的應用性。以筆者所在學院為例,電子信息工程、物聯網工程和智能科學與技術本科專業都開設這門語言課程,而且這3個專業對C語言程序設計的培養目標基本一致,課程對畢業要求的支撐重點包括3個方面:軟硬件問題分析、設計解決方案、軟件開發與調試[5,6]。由此就可以確定課程的教學目標為:學生通過學習C語言的基本語法規則,熟悉并掌握一些較為簡單的算法,具備計算思維和分析問題的能力;通過實驗環節,增強動手能力,鞏固所學的理論知識,并初步積累編程經驗;通過課程綜合實踐,增強學生分析問題和解決問題的能力,激發計算思維和創新性思維,進一步解決一些比較復雜的程序課題,為今后專業學習奠定堅實的編程基礎。
C語言程序設計課程的培養目標如表1所示。

表1 C語言程序設計課程的培養目標
受傳統大學學科教育的影響,在C語言程序設計的課程教學中,沿襲以教師為中心的傳統教學模式,注重知識的傳授,忽視學生能力的培養。教學內容偏理論化,強調知識體系的完整性、全面性,缺乏趣味性。教師雖然能夠很容易地進行教學的組織管理和教學過程的調控,但學生被動地接受知識,學習效果欠佳。
表1中的“實現環節”就打破了傳統的教學方式,為了實現學習目標,結合現代網絡技術與信息技術,以學生為中心,實施學生線上自主學習、線下面授有機結合的方式開展翻轉課堂與混合式教學。以具體案例為驅動,課前通過教師提出問題,學生線上自主預習學習,課堂教師組織對案例分析,解決學生學習過程中的疑問;在實驗課中安排小組討論,教師講解語法與總結常見錯誤等不斷提升學生參與課堂的積極性,避免了教師的一味說教。結合案例分析介紹知識點,重視計算思維的培養,提倡算法的多樣化,同時拓展創新思維,發揮師生的創新能力,使學生不僅從應用的角度汲取知識,而且還要為了解決問題而主動去挖掘知識點,學生的學習能力和實踐能力不斷得到提升。真正做到“教師強起來”,“學生忙起來”。例如,在講解循環結構時,為了完成學習目標,制定該模塊的教學過程如表2所示。

表2 循環結構模塊教學過程
在課堂教學中,注重學生創新思維的培養以提高學生的達成度。在設計任務時結合實際項目讓學生進行拓展訓練,項目選取的是課程組設計的一款智能化產品——醫用智能配藥機。該醫用智能配藥機是依據“藥品集中配置理論”模型和“靜脈用藥配置工藝標準化”概念研發而成,能夠通過無線模塊多機聯合使用,具有快速、精準、安全、輕松配藥的優點,目前已經在很多三甲醫院的靜脈用藥調配中心使用。把項目的軟件部分提取過來讓學生進行創新訓練,該醫用配藥機的總任務框圖如圖2所示。
基于智能科學與技術專業的培養目標,以 OBE 教學理念的最終學習成果為出發點,并結合具體的情境來設計教學內容,以便有效地培養學生分析問題、解決問題的能力和創造性思維。基于上述項目設計出“智能配藥機控制系統”作為教學案例,將C語言課程知識點構建在綜合項目當中,讓學生“從做中學”,有助于鞏固已學知識。 在研究和分析“智能配藥機控制系統”所需要的知識結構的基礎上,本文根據該綜合項目對應的 C 語言知識點,將項目劃分為 9個子模塊,每個子模塊包含了達到其實際能力所要完成的任務,涵蓋了教學內容的所有知識點,并遵循了知識的連續性和擴展性,如表3所示。

圖2 醫用智能配藥機任務框圖
通過對醫用智能配藥機的分析,引導學生注重身邊存在的實際需求,培養學生的創新性思維,通過程序調試、測試機器的功能等過程,讓學生有滿滿的成就感,也極大地激發他們自主學習的興趣和對專業知識領域的探索欲望。利用以學生為中心的課中授課,有效解決了學生的疑問,提高了學生分析問題和解決問題的能力,從而提升課程的高階性,突出課程的創新性,增加課程的挑戰度。

表3 C語言課程模塊化教學任務表
C語言程序設計課程的實踐教學包括課內實驗8學時、一周的課程設計和課外的開放性實驗、創新性實驗。實踐環節是增強學生動手能力、創新能力、分析問題解決問題能力的關鍵環節。為了更好地達到實踐環節的培養目標,課內實驗一般提倡學生在業余時間先寫好,課內有限的時間主要是用來調試和解決錯誤,避免學生把大部分課內時間都用于錄入代碼。課內實驗環節的考核成績按照學生任務的完成情況確定。課程設計主要選取綜合的應用,課外的開放性實驗和創新性實驗主要是通過學生參與到學校的開放實驗室項目、創新創業項目和教師的課題進行的,鼓勵學生自主創新和創造發明。在指導教師的帶領和學生的積極參與下,學院也給予經費支持,學生的創新能力得到進一步提升。
學生參與課程組利用C語言編寫的“鄭州市寵物管理系統”“醫用智能配藥機項目”“自行車運動員機能狀態數據分析平臺”,取得了“鄭州市科技進步二等獎”“全國創新創業大賽二等獎”等成績,學院學生參加2019年全國大學生電子設計競賽,智能巡線機器人項目獲得國賽二等獎1項、河南省一等獎3項的好成績。學生的學習能動性、課程學習的廣度、解決問題的思路、實踐動手能力都得到了提升。
課程組教師在進行教學改革中,也充分挖掘課程思政元素,把思政點和育人元素融入課堂教學中,達到實時育人、課課育人的功能,最終實現思想政治教育和專業知識教育二者的有機統一,教書和育人有機統一,實現“潤物無聲”的育人效果。
在C語言程序設計中,每個課程內容模塊都可以設置一個思政點,表4中給出了思政教育目標、思政教學內容和部分課程知識單元的對應關系。

表4 思政教育目標、思政教學內容與部分課程知識單元的對應關系
通過表4不難發現,課程的思政元素、價值觀本身就能夠深深地吸引學生參與到課堂中,引起學生的思考和感悟,自然也能激發學生的學習熱情,在一定程度上體現了教育理念的轉變,課堂教學由以教師為中心轉變到以學生為中心,從“教師教”轉向“學生學”,從學習知識的傳授轉變為學習效果的達成。這就要求教師要正確引導學生,樹立正確的價值觀,看待問題客觀公正,激發學生的實業報國信心和勇氣,達到立德樹人的效果。
基于OBE的課程改革,也要轉變傳統的一張紙決定考核的方式,采取多元的考核方式,注重過程性考核。以學生學習效果為導向完善考核方式。考核的各個模塊及所占的比例為:線上學習和線上考試占25%,平時表現占25%,期末考試(筆試或機試)占50%。線上學習和線上考試主要考查學生線上學習過程,在中國大學MOOC和雨課堂等平臺上都能記錄學生的學習過程,如觀看視頻的時間及進展、練習題的提交情況、參與互動的情況等,測試主要以選擇題、判斷題、填空題等客觀題為主。平時表現主要包括出勤、課堂討論、實驗報告的書寫、實驗考核成績等環節的綜合評定。期末考試根據需要可以采用筆試或機試,考試的結果要進行分析并給出改進措施,用于持續改進。
筆者所在學院從2017年開始進行C語言程序設計課程改革,從課前預習、課中授課到課后作業整個評價過程形成一個閉環培養反饋機制,每次評價可以為下一次教學改進提供依據。實踐表明,學生學習的積極性和課堂的參與度進一步提高了,學生培養目標的知識目標、能力目標和素質目標基本達到,說明基于OBE理念的課程改革效果良好。
C語言程序設計課程是工科類本科專業開設的一門專業基礎課程,是今后從事專業工作與進行科學研究的基礎。學生對該課程學習的積極性與教師的教學效果都至關重要。以OBE教育理念為導向的教育模式逐漸在各院校展開,教育部關于一流本科課程建設的實施意見中明確指出“必須把教學改革成果落實在課程建設上”。通過C語言程序設計課程改革的實踐證明,教學質量得到進一步的提升,最終達到培養高素質應用型人才的目的。在今后的教學中,我們課題組將繼續完善、創新與實踐,探索新的教學模式提高課程的教學效果和教學質量。