朱丹紅,于元隆,張 棟
(福州大學(xué) 數(shù)學(xué)與計算機(jī)科學(xué)學(xué)院,福建 福州 350116)
近年來,工程教育專業(yè)認(rèn)證工作在全國各高等院校如火如荼地開展。該項工作引入先進(jìn)的工程教育理念,對促進(jìn)我國本科工程教育改革,提高教育質(zhì)量具有重要意義[1]。2013年國際工程聯(lián)盟公布的《華盛頓協(xié)議》與我國的《工程教育認(rèn)證標(biāo)準(zhǔn)(2015版)》,明確了本科畢業(yè)要求必須涉及“復(fù)雜工程問題”[2]。因此,在認(rèn)證要求下,對工科專業(yè)觸及“復(fù)雜工程問題”的通識類與專業(yè)類課程改革勢在必行。
在高等學(xué)校本科培養(yǎng)方案中,程序設(shè)計公共基礎(chǔ)課是一門面向全校非計算機(jī)工科專業(yè)的重要通識類課程[3]。教學(xué)內(nèi)容主要包括程序語言基礎(chǔ)知識、結(jié)構(gòu)化程序設(shè)計方法、程序?qū)崿F(xiàn)問題求解等。在工程教育專業(yè)認(rèn)證背景下,課程教學(xué)應(yīng)當(dāng)順應(yīng)人才培養(yǎng)需求,面向?qū)I(yè)領(lǐng)域的“復(fù)雜工程問題”展開,對教學(xué)目的、內(nèi)容、方法與考核的全過程深層剖析,并進(jìn)行相應(yīng)改革,進(jìn)而培養(yǎng)學(xué)生主動利用計算機(jī)程序技術(shù)解決專業(yè)“復(fù)雜工程問題”的實踐能力。
長期以來,程序設(shè)計公共課教學(xué)大多以高校所在省份的計算機(jī)等級考試統(tǒng)考制度為導(dǎo)向,對計算機(jī)技能的推廣普及的確發(fā)揮了重要作用[4],但由于信息技術(shù)發(fā)展迅速,等級考試主動變革的節(jié)奏遲緩,在當(dāng)前工程認(rèn)證背景下,課程教學(xué)存在教學(xué)目標(biāo)不清、教學(xué)內(nèi)容陳舊、教學(xué)方法落后和考核方式單一的問題。
解讀《華盛頓協(xié)議》,基于“復(fù)雜工程問題”對本科畢業(yè)生提出的知識要求第2條為“適用于本學(xué)科的支持分析和建模的以概念為基礎(chǔ)的數(shù)學(xué)、數(shù)值分析、統(tǒng)計、計算機(jī)和信息科學(xué)的通識內(nèi)容”[5]?!豆こ探逃J(rèn)證標(biāo)準(zhǔn)(2015版)》的畢業(yè)要求第5條也明確指出“能夠針對復(fù)雜工程問題,開發(fā)、選擇與使用恰當(dāng)?shù)募夹g(shù)、資源、現(xiàn)代工程工具和信息技術(shù)工具,包括對復(fù)雜工程問題的預(yù)測與模擬,并能夠理解其局限性”[6]。
由此可見,讓學(xué)生掌握和運(yùn)用計算機(jī)與信息技術(shù)是培養(yǎng)其解決“復(fù)雜工程問題”的一個重要方面。作為承載信息技術(shù)的典型課程,程序基礎(chǔ)課要實現(xiàn)對專業(yè)“復(fù)雜工程問題”的支撐,就需要培養(yǎng)學(xué)生:①能全面系統(tǒng)地分析實際工程問題,抽象化描述,建立數(shù)學(xué)模型;②有較強(qiáng)的編程實踐能力,能靈活運(yùn)用所學(xué)知識,設(shè)計多樣化算法并比較算法優(yōu)劣、優(yōu)化算法;③有積極思考、深入探索的主動學(xué)習(xí)興趣,對利用程序解決問題能舉一反三,有創(chuàng)新能力;④對于有一定復(fù)雜性的項目,能較好地分解程序模塊,有良好的分工協(xié)作意識與團(tuán)隊精神。
在認(rèn)證工作指導(dǎo)下,課程教學(xué)須以專業(yè)的“復(fù)雜工程問題”為導(dǎo)向,以經(jīng)典的案例和項目為基礎(chǔ),以先進(jìn)的教學(xué)手段和平臺為載體,以多維度的考核方式為綜合評價,并不斷總結(jié)、反饋、反思和提升,從教學(xué)目標(biāo)、教學(xué)內(nèi)容、教學(xué)方法、考核方式及持續(xù)改進(jìn)5個方面進(jìn)行改革,培養(yǎng)學(xué)生將程序設(shè)計知識真正用于相關(guān)的專業(yè)領(lǐng)域。課程改革如圖1所示。
圖1 課程改革示意圖
首先,明確課程教學(xué)的總體目標(biāo)為掌握程序設(shè)計的基本知識與方法,能夠運(yùn)用程序開發(fā)工具編寫程序,能夠以全局的視角系統(tǒng)分析問題,建立計算機(jī)模型,構(gòu)造求解算法,編程調(diào)試獲得結(jié)果,并初步掌握模塊化的程序?qū)崿F(xiàn)方式。
其次,對采用同一程序語種的不同專業(yè)還須細(xì)化教學(xué)目標(biāo)設(shè)置。以C語言公共基礎(chǔ)課程為例,由于單片機(jī)系列課程是電氣、電子、機(jī)電等相關(guān)專業(yè)的重要課程,能夠為專業(yè)的“復(fù)雜工程問題”提供理論與實踐基礎(chǔ),其軟件編程均采用C語言,因此,這些專業(yè)開設(shè)的 C語言基礎(chǔ)課就應(yīng)當(dāng)針對單片機(jī)系統(tǒng)的開發(fā)要求,側(cè)重底層硬件編程,學(xué)習(xí)C程序的語法規(guī)則和設(shè)計方法。數(shù)學(xué)專業(yè)的C語言,更需學(xué)生學(xué)會編程實現(xiàn)相關(guān)的數(shù)學(xué)問題,如積分、求導(dǎo)等。
由于公共基礎(chǔ)課學(xué)時局限,因此需要精簡課程中部分細(xì)碎繁瑣、缺乏連貫性的基礎(chǔ)知識,并針對專業(yè)“復(fù)雜工程問題”的程序需求,篩選知識點(diǎn),適當(dāng)調(diào)整順序,探討相關(guān)算法,重構(gòu)教學(xué)內(nèi)容。以支持單片機(jī)編程的C語言為例,可以圍繞程序設(shè)計的三大基本結(jié)構(gòu),重點(diǎn)掌握位運(yùn)算、數(shù)組、函數(shù)、指針、宏定義等內(nèi)容,其中,單片機(jī)底層程序涉及大量位運(yùn)算、循環(huán)、數(shù)組的相關(guān)知識,由此,C語言的二進(jìn)制移位與循環(huán)移位、數(shù)組的選擇與冒泡排序、順序與二分查找算法等就應(yīng)當(dāng)作為教學(xué)內(nèi)容的重中之重。此外,程序?qū)崿F(xiàn)“復(fù)雜工程問題”還要求具有全局的思想,因此掌握函數(shù)和宏定義的模塊化設(shè)計方法也是教學(xué)中必不可少的重要內(nèi)容。
在程序設(shè)計基礎(chǔ)課程中培養(yǎng)學(xué)生解決“復(fù)雜工程問題”的能力,要求課程內(nèi)容涉及專業(yè)的實際工程問題,在教學(xué)過程中提高學(xué)生的自主學(xué)習(xí)和團(tuán)隊協(xié)作能力,提升工程意識和設(shè)計技能,因此,需要借助一定的教學(xué)手段,充分調(diào)動學(xué)生的積極性,激發(fā)學(xué)生的學(xué)習(xí)興趣,促進(jìn)學(xué)生主動學(xué)習(xí)。
(1)案例驅(qū)動教學(xué)。課堂教學(xué)可通過程序案例引導(dǎo),讓學(xué)生對相關(guān)知識點(diǎn)產(chǎn)生感性認(rèn)識,從而促進(jìn)其對該知識點(diǎn)具體用法的理解和掌握。另外,案例教學(xué)能夠有針對性地將模型構(gòu)建、系統(tǒng)設(shè)計、算法應(yīng)用、編程實現(xiàn)的綜合過程與專業(yè)的實際工程問題交叉、組合、滲透并融入教與學(xué)中,為學(xué)生應(yīng)用計算機(jī)程序解決“復(fù)雜工程問題”打下基礎(chǔ)。例如,C語言教學(xué)可以采用單片機(jī)“汽車轉(zhuǎn)向燈”實例,其左、右轉(zhuǎn)向及延時控制與C程序的選擇與循環(huán)結(jié)構(gòu)關(guān)聯(lián),知識點(diǎn)涉及選擇結(jié)構(gòu)的if-else 與循環(huán)結(jié)構(gòu)的while,不僅形象地提出新知識,而且能傳授編程實現(xiàn)工程問題的方法。
(2)強(qiáng)化實踐訓(xùn)練。程序設(shè)計課程的上機(jī)實踐是教學(xué)的重要環(huán)節(jié)。通過課內(nèi)與課外實踐的有機(jī)結(jié)合,能夠更好地培養(yǎng)學(xué)生的動手能力和綜合應(yīng)用能力。其中,課內(nèi)實踐由教師演示與自主操作,在完成例題的前提下,設(shè)計與教學(xué)內(nèi)容同步的相關(guān)小項目進(jìn)行實踐。以C語言for循環(huán)語句為例,除了完成累加、求最大數(shù)等常規(guī)習(xí)題,還將其用于延時程序的設(shè)計實現(xiàn)。課外布置與專業(yè)工程相關(guān)的綜合項目,采取小組協(xié)作方式完成。實踐過程中引導(dǎo)學(xué)生從設(shè)計思路、設(shè)計技巧、程序結(jié)構(gòu)等方面分析問題,并啟發(fā)學(xué)生對同一問題設(shè)計多種解決方案,從中選擇最佳方案;同時,要求程序具有良好的書寫風(fēng)格與模塊化的程序設(shè)計思想,從而全面培養(yǎng)學(xué)生程序設(shè)計與工程實踐的綜合能力。
(3)線上線下混合的SPOC課程模式?,F(xiàn)有的“教師課堂講授”模式,以教師為教學(xué)活動主體,忽略學(xué)生的基礎(chǔ)差異與個性化需求,導(dǎo)致學(xué)習(xí)缺乏自主性,阻礙學(xué)生的能力培養(yǎng)。線上線下混合的課堂模式,線上利用網(wǎng)絡(luò)優(yōu)秀的課程資源,借助SPOC平臺,引導(dǎo)學(xué)生課外通過視頻自主學(xué)習(xí);線下通過平臺反饋的學(xué)生學(xué)習(xí)情況,及時調(diào)整教學(xué)進(jìn)度和內(nèi)容,揚(yáng)長避短,優(yōu)化教學(xué)效果。此外,網(wǎng)絡(luò)平臺能夠讓教師方便組織學(xué)生討論,及時答疑解惑,增強(qiáng)師生的交流互動,使學(xué)習(xí)過程更加高效輕松。因此,該教學(xué)方式能激發(fā)學(xué)生主動學(xué)習(xí)的興趣,提高學(xué)生的探索創(chuàng)新能力、協(xié)作溝通能力等,從而為解決專業(yè)“復(fù)雜工程問題”的能力培養(yǎng)提供很好的支持。
程序設(shè)計基礎(chǔ)課支撐專業(yè)的“復(fù)雜工程問題”,考查需要綜合反映學(xué)生的程序設(shè)計能力、自主學(xué)習(xí)能力與工程實踐能力,因此采用多維度的考核評價方式。其中,程序設(shè)計能力由線上練習(xí)答題情況和期末考試成績判定;自主學(xué)習(xí)考量學(xué)生的出勤情況、課堂表現(xiàn)、線上課程視頻學(xué)習(xí)情況、線上討論回答情況等;工程實踐能力根據(jù)分組協(xié)作的綜合項目完成情況評定。在對項目評判時,應(yīng)設(shè)置多項指標(biāo)檢驗,包括算法選取優(yōu)劣、程序書寫風(fēng)格(如變量或標(biāo)識符命名、是否縮進(jìn)、是否注釋等)、函數(shù)設(shè)計與調(diào)用、界面美觀程度、小組分工的模塊化合理性等。最終考核結(jié)果可以根據(jù)專業(yè)實際情況,對程序能力、自主學(xué)習(xí)、實踐能力設(shè)定權(quán)重并加權(quán)而得。
工程教育專業(yè)認(rèn)證要求有良好的質(zhì)量監(jiān)控機(jī)制對教學(xué)過程進(jìn)行跟蹤評估,通過階段性評估與總結(jié)性評價,對教學(xué)內(nèi)容、教學(xué)方法等進(jìn)行持續(xù)改進(jìn)。
首先是階段性評估。教師對照課程的教學(xué)大綱,分階段自查教學(xué)內(nèi)容、進(jìn)度等;通過平臺學(xué)習(xí)情況、上機(jī)實踐效果、分組協(xié)作的項目進(jìn)展等,評估學(xué)生的知識掌握程度與實踐水平。由此,教師不僅能及時發(fā)現(xiàn)自身的教學(xué)問題,改進(jìn)教學(xué)方法,還能實時關(guān)注學(xué)生的學(xué)習(xí)狀態(tài),指導(dǎo)學(xué)生改善學(xué)習(xí)方法,鞏固之前學(xué)習(xí)過的知識。
其次是總結(jié)性評價。學(xué)期末,教師對學(xué)生的各項考核成績進(jìn)行合理性分析,確認(rèn)教學(xué)目標(biāo)的完成情況。另外,設(shè)計學(xué)生評價調(diào)查問卷表,側(cè)重于學(xué)生“評學(xué)”,了解學(xué)生在課程學(xué)習(xí)與項目完成之后,對程序?qū)嵺`能力提升的自我評價。通過課程考核的合理性分析與學(xué)生的自我評價,教師對整個學(xué)期的教學(xué)進(jìn)行總結(jié)、反思與改進(jìn),緊緊圍繞程序設(shè)計支撐專業(yè)“復(fù)雜工程問題”的解決,促進(jìn)教學(xué)質(zhì)量提升。
最后依托學(xué)校教學(xué)督導(dǎo)的相關(guān)政策,確保階段性與總結(jié)性的評價結(jié)果用于課程的持續(xù)改進(jìn)。通過各種渠道收集反饋信息,如教研組的教師座談會、學(xué)生的隨機(jī)訪談、高年級學(xué)生用程序解決“復(fù)雜工程問題”的能力調(diào)查等方式,綜合考察教學(xué)改進(jìn)的實際情況。
程序設(shè)計公共基礎(chǔ)課作為非計算機(jī)類工科專業(yè)的一門重要通識課程,培養(yǎng)學(xué)生學(xué)習(xí)程序設(shè)計基本知識,掌握軟件開發(fā)的基本技能,最終能夠運(yùn)用計算機(jī)程序求解專業(yè)的實際工程問題,是工程教育不可或缺的組成部分。面向?qū)I(yè)的“復(fù)雜工程問題”對課程的教學(xué)目標(biāo)、教學(xué)內(nèi)容、教學(xué)方法、考核方式、持續(xù)改進(jìn)5個方面改革,能夠提高課程的教學(xué)質(zhì)量,激發(fā)學(xué)生的主動學(xué)習(xí)興趣,提升學(xué)生的探索創(chuàng)新意識,培養(yǎng)學(xué)生解決“復(fù)雜工程問題”的綜合素質(zhì)和能力,從而為全面推進(jìn)工程教育認(rèn)證工作打下基礎(chǔ)。
參考文獻(xiàn):
[1]周克寧, 羅朝盛, 康敏. 植入“復(fù)雜工程問題”的教學(xué)體系改革探索[J]. 中國大學(xué)教學(xué), 2016, 18(10): 51-54.
[2]蔣宗禮. 本科工程教育: 聚焦學(xué)生解決復(fù)雜工程問題能力的培養(yǎng)[J]. 中國大學(xué)教學(xué), 2016(11): 27-30.
[3]李廉. 以計算思維培養(yǎng)為導(dǎo)向 深化大學(xué)計算機(jī)課程改革[J]. 中國大學(xué)教學(xué), 2013(4): 188.
[4]張徐. 江蘇省高等學(xué)校計算機(jī)等級考試的反思及策略研究[J]. 中國大學(xué)教學(xué), 2014(11): 89-92.
[5]林健. 如何理解和解決復(fù)雜工程問題: 基于“華盛頓協(xié)議”的界定和要求[J]. 高等工程教育研究, 2016(5): 17-26.
[6]中國工程教育專業(yè)認(rèn)證協(xié)會. 工程教育認(rèn)證標(biāo)準(zhǔn)[EB/OL]. [2017-09-01]. http://www.ceeaa.org.cn/main!newsList4Top.w?menuID=01010702 .