吳運兵, 余小燕
(福州大學(xué) 數(shù)學(xué)與計算機科學(xué)學(xué)院,福建 福州 350108)
工程教育專業(yè)認(rèn)證是國際通行的工程教育質(zhì)量保障制度,也是實現(xiàn)工程教育國際互認(rèn)和工程師資格國際互認(rèn)的重要基礎(chǔ)[1]。2016年6月,我國全票通過正式成為《華盛頓協(xié)議》的成員之一,標(biāo)志著我國工程教育已達到國際水平,對提升我國工程教育的國際競爭力具有十分重要意義[2]。2018年10月,教育部、工業(yè)和信息化部、中國工程院聯(lián)合發(fā)布《關(guān)于加快建設(shè)發(fā)展新工科實施卓越工程師教育培養(yǎng)計劃2.0的意見》,明確指出要全面落實“學(xué)生中心、產(chǎn)出導(dǎo)向、持續(xù)改進”的先進工程教育理念,持續(xù)提升工程人才培養(yǎng)水平[3]。
工程教育的核心理念是以學(xué)生為中心、以產(chǎn)出為導(dǎo)向、持續(xù)改進[4~9],主要目標(biāo)是培養(yǎng)學(xué)生深入運用工程原理和各種工程知識,分析和解決實際復(fù)雜工程問題[10]。計算機程序設(shè)計類公共基礎(chǔ)課作為高校非計算機專業(yè)學(xué)生的一門必修通識類課程,是培養(yǎng)學(xué)生計算思維能力,利用計算機解決實際復(fù)雜工程問題的重要課程,也是支撐不同專業(yè)工程教育認(rèn)證的重要基礎(chǔ)課程之一。而程序設(shè)計類的實驗教學(xué)是加強學(xué)生理解課程理論知識的重要基礎(chǔ),也是培養(yǎng)學(xué)生編程能力、解決復(fù)雜實際工程問題等重要途徑,因此,在當(dāng)前工程教育專業(yè)認(rèn)證背景下,如何提升程序設(shè)計類的實驗教學(xué)效果和質(zhì)量,支撐不同專業(yè)的學(xué)生畢業(yè)要求達成條件,是擺在計算機公共基礎(chǔ)教育者面前亟待解決的重要問題。
本文以程序設(shè)計類公共基礎(chǔ)課C語言程序設(shè)計實驗教學(xué)為例,探索服務(wù)于工程教育專業(yè)認(rèn)證下實驗教學(xué)改革,構(gòu)建了基本驗證性實驗、線上拓展性實驗、綜合設(shè)計性實驗三種實驗并舉的實驗教學(xué)總體方案,達到提高實驗教學(xué)質(zhì)量,進而提升計算機公共基礎(chǔ)課程序設(shè)計類教學(xué)效果,滿足不同專業(yè)的工程教育認(rèn)證需要。
計算機程序設(shè)計類公共基礎(chǔ)課是承載著培養(yǎng)非計算機專業(yè)學(xué)生計算思維能力的一門重要通識類課程,也是培養(yǎng)學(xué)生利用計算機解決實際復(fù)雜工程問題能力的重要途徑[11]。當(dāng)前,各高校的公共基礎(chǔ)課程序設(shè)計類通常包含理論課程和實驗課程,理論課程主要講解程序設(shè)計的基本語法、程序設(shè)計結(jié)構(gòu)等知識,而實驗課程通常是為了鞏固課程理論知識進行上機實驗,旨在培養(yǎng)學(xué)生編程能力,以及解決實際問題能力等,其教學(xué)質(zhì)量直接影響課程理論知識學(xué)習(xí)效果。然而,現(xiàn)有實驗教學(xué)仍存在著諸多不盡人意的地方,并未有效達到課程教學(xué)目標(biāo),難以支撐不同專業(yè)學(xué)生畢業(yè)要求達成條件的指標(biāo)點。具體存在以下幾個問題:
(1)實驗教學(xué)方法較為傳統(tǒng)。當(dāng)前,程序設(shè)計類實驗教學(xué)方法多數(shù)仍延用傳統(tǒng)教學(xué)模式,即教師提前發(fā)布實驗任務(wù),并對實驗任務(wù)中所涉及到的算法進行逐一講解,學(xué)生依據(jù)實驗任務(wù)進行代碼編寫、運行調(diào)試、代碼糾錯、提交實驗結(jié)果等。這種傳統(tǒng)教學(xué)模式導(dǎo)致學(xué)生過于依賴教師講解,缺乏自主思考、自主實驗等,同時,教師和學(xué)生也只關(guān)注實驗結(jié)果,忽視了整個實驗過程描述[12],導(dǎo)致學(xué)生實驗意識淡薄,無法達到提高學(xué)生獨立思考能力,以及實驗教學(xué)效果和目標(biāo),對提升學(xué)生計算思維能力效果不明顯。
(2)缺乏綜合性實驗項目。由于受到課程學(xué)時限制,實驗教學(xué)僅圍繞課程理論知識點進行驗證性實驗,缺乏綜合性實驗項目訓(xùn)練。學(xué)生完成課程學(xué)習(xí)后,基本無法達到系統(tǒng)性的分析、設(shè)計、開發(fā)、測試等要求,對于支撐各專業(yè)工程教育認(rèn)證所需計算機技術(shù)要求相差甚遠(yuǎn),難以滿足學(xué)生畢業(yè)要求達成的指標(biāo)點[13],即能夠利用計算機技術(shù)進行設(shè)計和開發(fā)簡單工程問題的解決方案。
(3)學(xué)生自覺編程意識較弱。非計算機專業(yè)的計算機程序設(shè)計類公共基礎(chǔ)課通常安排在大一階段學(xué)習(xí)(一、二學(xué)期均有),這個階段的學(xué)生還不太適應(yīng)大學(xué)學(xué)習(xí)生活,學(xué)習(xí)自律意識比較薄弱,且樂于參與各種社團活動,學(xué)習(xí)態(tài)度較為散漫,僅局限于完成實驗教學(xué)課堂中的實驗任務(wù),較少能在課后自覺進行編程練習(xí)。
按照工程教育專業(yè)認(rèn)證畢業(yè)要求達成指標(biāo)點[13],結(jié)合上述程序設(shè)計類課程實驗教學(xué)存在問題,筆者經(jīng)過多次調(diào)研,從學(xué)校實際情況出發(fā),構(gòu)建了程序設(shè)計類實驗教學(xué)總體方案,如圖1所示。具體實施是以C語言程序設(shè)計課程實驗教學(xué)為例。
圖1 實驗教學(xué)總體方案圖
基本驗證性實驗項目是指圍繞課程理論知識中的基本語法、程序結(jié)構(gòu)、常用算法等進行上機實驗驗證,是檢驗學(xué)生對課程理論知識掌握程度的重要途徑。
為了能讓學(xué)生更好了解程序基本流程、基本結(jié)構(gòu)、處理過程等,提升學(xué)生計算思維能力[14~15],筆者設(shè)計了驗證性實驗IPO(Input-Processing-Output)圖,具體如圖2所示。要求學(xué)生在驗證性實驗項目中,如果涉及到算法設(shè)計時,需填寫算法設(shè)計的IPO,以此加深學(xué)生對程序?qū)崿F(xiàn)過程的理解,促進學(xué)生自主思考,達到培養(yǎng)學(xué)生計算思維能力的目標(biāo)。
圖2 基本驗證性實驗IPO圖
從圖2可以看出,學(xué)生提交的IPO圖中,涉及到輸入要求、輸入?yún)?shù)說明、輸出結(jié)果、算法處理流程、以及是否需要調(diào)用函數(shù)等項目。目的是讓學(xué)生明確解決實驗項目中所需參數(shù)、調(diào)用模塊(函數(shù))、算法具體步驟、期待運行結(jié)果等,培養(yǎng)學(xué)生掌握計算機解決問題的方法和規(guī)律。
線上拓展性實驗項目是指依托在線教學(xué)輔助平臺,對課程理論知識點進行拓展,滿足不同程度的學(xué)生對實驗項目的需求,同時,也督促缺乏主動編程意識的學(xué)生能在課后自覺學(xué)習(xí)編程。
當(dāng)前,隨著信息技術(shù)與教育教學(xué)深度融合的不斷發(fā)展,出現(xiàn)大量的教學(xué)智慧工具、教學(xué)輔助平臺等,形成了多元協(xié)同、內(nèi)容豐富、應(yīng)用廣泛的高等教育服務(wù)體系,為學(xué)生擺脫學(xué)習(xí)上的時空限制提供極大便利。本文實驗教學(xué)依托浙江大學(xué)開發(fā)的程序設(shè)計類實驗輔助教學(xué)平臺PTA(Programming Teaching Assistant),開展線上拓展性實驗項目。目前,該平臺上注冊教師數(shù)達2789人,使用高校達500多所,建設(shè)題目數(shù)量擁有50萬題左右,注冊學(xué)生達到97萬左右,是用于開展線上拓展性實驗的較好平臺。
圖3是按照課程理論知識章節(jié)分類設(shè)置題目集,各題目集中的題型有選擇題、填空題、編程題等,教師可以依據(jù)自己班級情況自行設(shè)計題目,也可以利用其他高校教師建設(shè)的習(xí)題,有針對性的選擇使用。
圖3 PTA實驗教學(xué)項目
圖4是針對課程理論中循環(huán)結(jié)構(gòu)設(shè)計了在線拓展性實驗題目。從圖4可以看出,部分題目是循環(huán)結(jié)構(gòu)的基本習(xí)題,目的是讓學(xué)生充分利用業(yè)余時間,進行一步加強編程練習(xí),而部分題目是為了滿足不同程度學(xué)生的需求,拓展學(xué)生算法能力(如圖4中7-5、7-7兩題),另外,也可以查看每個學(xué)生完成習(xí)題所提交次數(shù)、提交時間、總體代碼通過率等情況。
圖4 循環(huán)結(jié)構(gòu)實驗習(xí)題
依托在線輔助教學(xué)平臺,開展線上拓展性實驗項目,不僅能有效提高學(xué)生自主學(xué)習(xí),提升編程能力,而且,對于缺乏自覺編程意識的學(xué)生也起到督促作用;另外,在線輔助教學(xué)平臺通常具備記錄學(xué)生學(xué)習(xí)情況詳細(xì)數(shù)據(jù)的功能,利用這些數(shù)據(jù)對學(xué)生學(xué)習(xí)情況進行分析統(tǒng)計,能及時發(fā)覺學(xué)生學(xué)習(xí)中存在問題,從而反饋到課程理論教學(xué)中,以便及時調(diào)整教學(xué)方案,提升課程理論教學(xué)效果。
綜合設(shè)計性實驗項目是指綜合運用課程理論知識,設(shè)計和開發(fā)簡單工程問題,目的是培養(yǎng)學(xué)生分析問題、解決問題等能力,以及文檔寫作與團隊合作精神等,能支撐不同專業(yè)的工程教育認(rèn)證畢業(yè)要求達成指標(biāo)點。
結(jié)合C語言程序設(shè)計課程理論知識特點,實驗教學(xué)安排了兩個綜合設(shè)計性實驗項目。第一個綜合設(shè)計性項目是安排在完成程序結(jié)構(gòu)、數(shù)組和函數(shù)理論知識后,由教師提供限定性題目,要求學(xué)生獨立完成,編寫代碼量在50到100行之間,并用IPO圖描述算法處理過程。其目的是通過簡單綜合性實驗項目,讓學(xué)生理解和鞏固基本語法知識、程序設(shè)計結(jié)構(gòu)、數(shù)組應(yīng)用、函數(shù)間的參數(shù)傳遞、函數(shù)調(diào)用等。通過第一個簡單綜合設(shè)計性實驗項目,學(xué)生能初步掌握結(jié)構(gòu)化程序設(shè)計的基本思想。
第二個綜合設(shè)計性實驗項目是安排在課程理論知識全部結(jié)束后,綜合利用結(jié)構(gòu)體、共用體、鏈表、文件等知識,設(shè)計和開發(fā)一個小型系統(tǒng)。題目是開放式,不同專業(yè)學(xué)生可以結(jié)合本專業(yè)領(lǐng)域自行設(shè)計相關(guān)題目,并進行開發(fā)和設(shè)計(如電子信息類的學(xué)生可以結(jié)合單片機的嵌入式開發(fā),管理類的學(xué)生可以設(shè)計小型信息系統(tǒng)等)。要求以小組為單位(每個小組3人),編程代碼量在300行以上,項目需涉及到結(jié)構(gòu)體、鏈表、文件等知識點,最終要求小組提交項目分析、設(shè)計方案、運行代碼、相關(guān)文檔等,并以小組答辯形式進行評價考核。
通過綜合設(shè)計性實驗項目,不僅能提高學(xué)生編寫代碼能力、實際問題的分析和解決能力,同時,也加強培養(yǎng)學(xué)生團隊合作精神,達到支撐不同專業(yè)的工程教育認(rèn)證下,利用計算機解決復(fù)雜工程問題,滿足專業(yè)認(rèn)證的畢業(yè)要求達成指標(biāo)點。
依據(jù)工程教育專業(yè)認(rèn)證的畢業(yè)要求達成指標(biāo)點,遵循“以學(xué)生為中心、以產(chǎn)出為導(dǎo)向、持續(xù)改進”的先進教學(xué)理念,對程序設(shè)計類實驗教學(xué)實施改革,經(jīng)過一年多來的改革實施情況來看,取得一定效果,具體如下:
首先,增加學(xué)生編程代碼量。通過設(shè)置基本驗證性實驗、線上拓展性實驗和綜合設(shè)計性實驗,學(xué)生需編寫大量習(xí)題代碼,整個課程結(jié)束后,每個學(xué)生編程代碼總量約在1500行以上,基本達到非計算機專業(yè)學(xué)習(xí)程序設(shè)計的要求。
其次,提升學(xué)生綜合實踐能力。結(jié)合專業(yè)需求,設(shè)計相關(guān)領(lǐng)域綜合設(shè)計性實驗項目,并以小組為單位進行分析、設(shè)計、開發(fā)等環(huán)節(jié),提升學(xué)生分析問題、解決問題等綜合實踐能力,能基本解決復(fù)雜實際工程問題;同時,也培養(yǎng)學(xué)生團隊合作精神。
最后,提升課程理論教學(xué)效果和質(zhì)量。以2018級電子信息類專業(yè)為例,對比實施改革前(2017級)和改革后(2018級)的C語言程序設(shè)計課程期末考試卷面成績,具體情況如圖5所示。從圖5可以看出,在實施實驗教學(xué)改革后,課程期末卷面考試成績有明顯的提升,其中成績?yōu)閮?yōu)秀率(90~100分)提高了約15%,良好率提高了約11%,而不及格率下降了約6%。另外,班級學(xué)生多人次參加校級和省級的非計算機專業(yè)程序設(shè)計大賽,均獲得較好成績,個別同學(xué)還參加了全國單片機嵌入式開發(fā)比賽,獲得優(yōu)秀獎。
圖5 課程期末考試卷面成績對比圖
然而,從實施改革情況來看,也存在著一些不足之處,具體如下:
(1)在基本驗證性實驗中,部分學(xué)生在兩節(jié)實驗課中只完成少數(shù)幾題實驗,過于依賴教師講解,缺乏獨立思考,同時,在提交IPO圖時,部分學(xué)生存在抄襲現(xiàn)象。
(2)在線上拓展性實驗中,由于在線評測系統(tǒng)具有嚴(yán)格的輸入輸出等格式要求,多數(shù)學(xué)生因不清楚格式等要求,同一題目要多次修改格式等問題,最終才能評測正確,這種現(xiàn)象會挫傷學(xué)生學(xué)習(xí)積極性;另外,從部分學(xué)生提交次數(shù)來看,也能發(fā)現(xiàn)拷貝等現(xiàn)象。
(3)在綜合設(shè)計性實驗中,部分學(xué)生過于依賴組長,并未有效參與實驗項目的分析、設(shè)計、開發(fā)等環(huán)節(jié),甚至整個項目由組長一人完成;另外,在提交綜合設(shè)計實驗項目相關(guān)文檔時,部分小組提交材料不完整,甚至極個別小組為了應(yīng)付實驗項目,直接從網(wǎng)上下載一個項目來完成任務(wù),以至于最終實驗項目答辯時,并不能回答相關(guān)問題等。
總之,在當(dāng)前工程教育專業(yè)認(rèn)證背景下,程序設(shè)計類實驗教學(xué)效果直接關(guān)系著課程理論教學(xué)質(zhì)量。通過對實驗教學(xué)進行改革,非計算機專業(yè)學(xué)生在編寫程序、設(shè)計與開發(fā)、應(yīng)用計算機解決實際工程問題等方面的能力均有明顯提升,進而提高課程教學(xué)整體質(zhì)量,達到該課程作為支撐不同專業(yè)的工程教育認(rèn)證畢業(yè)要求達成指標(biāo)點。
當(dāng)前,各高校都在大力開展工程教育專業(yè)認(rèn)證工作,以工程教育新理念提升課程教學(xué)質(zhì)量。程序設(shè)計類公共基礎(chǔ)課作為培養(yǎng)非計算機專業(yè)學(xué)生掌握計算思維、利用計算機解決實際工程問題的重要課程,而實驗教學(xué)效果是直接關(guān)系到課程理論知識的教學(xué)效果和質(zhì)量。本文對實驗教學(xué)改革提出了總體方案,實踐表明,該方案能有效提升學(xué)生編程興趣,培養(yǎng)學(xué)生分析問題、解決問題能力等,滿足支撐不同專業(yè)的工程教育認(rèn)證。今后,還將繼續(xù)對實驗教學(xué)改革實施中遇到的問題進行分析與研究,進一步提升實驗教學(xué)質(zhì)量,為工程教育專業(yè)認(rèn)證下的程序設(shè)計類實驗教學(xué)提供參考與借鑒。