李銀地 楊花雨
(商丘工學(xué)院信息與電子工程學(xué)院 河南商丘 476000)
近年來,隨著社會的進(jìn)步,科技的發(fā)展,互聯(lián)網(wǎng)的迅速普及,以及各種新興傳播媒介的出現(xiàn),社會對于各個領(lǐng)域應(yīng)用型專業(yè)人才的需求缺口也越來越大,因此,高等教育界也逐漸認(rèn)識到教學(xué)改革的必要性和重要性,很多高校都在鼓勵各科教師進(jìn)行教學(xué)改革和創(chuàng)新,從而提高教學(xué)質(zhì)量,也能順應(yīng)社會發(fā)展趨勢,讓培養(yǎng)的學(xué)生符合社會對應(yīng)用型人才的需要。很多應(yīng)用型本科高校開始把人才培養(yǎng)方案改為工程認(rèn)證模式,我校計算機(jī)類各專業(yè)人才培養(yǎng)方案也已轉(zhuǎn)為工程認(rèn)證模式,相關(guān)的專業(yè)課程更應(yīng)該改革教學(xué)大綱和教學(xué)模式。計算機(jī)類專業(yè)的核心課程程序設(shè)計類課程需要改革傳統(tǒng)的填鴨式的教學(xué)模式。
經(jīng)過多方調(diào)研分析高校程序設(shè)計類型課程的教學(xué)現(xiàn)狀,存在關(guān)鍵問題如下:
1.教學(xué)過程中主要以教授基礎(chǔ)知識語法為主,大部分情況是理論課講語法知識,上機(jī)實驗課調(diào)程序驗證語法知識。教學(xué)案例也僅僅是針對某個具體的語法點(diǎn)知識點(diǎn)進(jìn)行設(shè)計直接編碼,由于課時關(guān)系,教師經(jīng)常會忽略掉需求分析、數(shù)據(jù)結(jié)構(gòu)、算法的設(shè)計過程,在教學(xué)過程中用大量時間分析教師已經(jīng)事先編好的代碼,上機(jī)時也多是驗證教師給定的程序,不需要學(xué)生動腦思考,以至于學(xué)生對程序類課程缺乏了學(xué)習(xí)動力和學(xué)習(xí)熱情。
2.由于課堂上教師講授大多是采用填鴨式的方法教授學(xué)生理論知識,案例是為了教授語法而設(shè)計,并不來源于現(xiàn)實生活,并且學(xué)生多是驗證給定的程序,導(dǎo)致學(xué)生缺乏自己解決現(xiàn)實問題的能力。學(xué)生學(xué)習(xí)的理論知識總歸是要用來處理現(xiàn)實中的問題,但是由于教師的教學(xué)模式及對學(xué)生的惰性,使得大部分學(xué)生對于現(xiàn)實生活中的問題缺乏分析解決的思路和方法。學(xué)生即使掌握了高級語言的各種語法知識,但是由于缺乏思路和方法,并不能真正用來處理問題指導(dǎo)實踐,不能把現(xiàn)實問題很好地用計算機(jī)的方式實現(xiàn)。當(dāng)代大部分學(xué)生往往存在著“一聽就會,一做就廢”的眼高手低的現(xiàn)象。
3.大部分課程仍然采用筆試的形式,主要考核語言的語法知識,部分高校也一直停留在培養(yǎng)學(xué)生的應(yīng)試能力上,甚至有些高校教師為了凸現(xiàn)自己的教學(xué)水平和教學(xué)質(zhì)量,在教學(xué)和考核時都會選擇較為淺顯的語法知識,忽視了學(xué)生的分析問題設(shè)計程序的能力的培養(yǎng),部分程序設(shè)計類教材在編撰的教學(xué)內(nèi)容上也存在此類問題。這些都會影響對學(xué)生程序設(shè)計能力的培養(yǎng),有些教材和教師在教學(xué)中雖然略有貫穿軟件工程的思想,但是重點(diǎn)往往仍然是語法知識,而不是解決問題的方法和思路。
4.考核方式和考核內(nèi)容不合理。程序設(shè)計類課程現(xiàn)行的考核方式大多仍是閉卷筆試,雖然也有平時考勤、課堂表現(xiàn)、作業(yè)情況、上機(jī)情況,實驗報告等內(nèi)容,但這些考核內(nèi)容所占比例太低,對總評成績影響不大。該考核體系不能考核學(xué)生的情感因素、團(tuán)隊協(xié)作能力、創(chuàng)新精神等非智力因素,評價內(nèi)容欠科學(xué),對于學(xué)生的綜合能力水平?jīng)]有很好地進(jìn)行評估,評估結(jié)果不利于學(xué)生了解自身解決實際問題的真實能力。
1.教師教學(xué)能力和教學(xué)水平參差不齊,部分程序設(shè)計類教師不是軟件工程專業(yè)出身,甚至從大學(xué)學(xué)生畢業(yè)即直接從事高校教學(xué)工作,缺乏真實項目經(jīng)驗,并且自身對軟件工程體系缺乏系統(tǒng)的認(rèn)知,不具備將軟件工程思想貫穿到自己課堂教學(xué)的能力。
2.以商丘工學(xué)院為例,信息與電子工程學(xué)院各個本科專業(yè)都開設(shè)有程序設(shè)計課程,教學(xué)計劃中大部分課時理論+上機(jī)一共64 學(xué)時,有的是48 學(xué)時,學(xué)時太少,而程序設(shè)計類課程內(nèi)容較多,教師為了完成教學(xué)內(nèi)容,每節(jié)課不得不加快進(jìn)度,很少給學(xué)生留出自主分析思考討論的時間,往往采用“滿堂灌”的方式,把教學(xué)大綱中的教學(xué)內(nèi)容都灌輸給學(xué)生。而我校學(xué)生自主學(xué)習(xí)能動性普遍較差,教師所講知識很難消化吸收,再加上沒有時間給學(xué)生上習(xí)題課、答疑課、討論課,影響教學(xué)效果。
3.傳統(tǒng)的教學(xué)模式和方法不適用于編程語言的教學(xué)。程序設(shè)計類課程是實踐性比較強(qiáng)的課程,學(xué)生學(xué)習(xí)該類課程的終極目的是能夠把現(xiàn)實社會中的問題用計算機(jī)來解決,因此在課程教授中應(yīng)該把教學(xué)重點(diǎn)放在實踐上,放在分析現(xiàn)實問題解決現(xiàn)實問題上,放在培養(yǎng)學(xué)生將理論知識應(yīng)用到現(xiàn)實世界的能力上,而不是應(yīng)試能力上。
因此,為解決上述問題,改善教學(xué)質(zhì)量和提高教學(xué)效果,程序設(shè)計類課程的教學(xué)模式及教學(xué)內(nèi)容需要進(jìn)行改革,應(yīng)該用把軟件工程的思想貫穿于教學(xué)過程中。
近年來,CDIO 工程教育模式是國際上工程教育改革的最新有效成果。CDIO 代表構(gòu)思(Conceive)、設(shè)計(Design)、實現(xiàn)(Implement)、運(yùn)行(Operate),是“做中學(xué)”和“基于項目的教育和學(xué)習(xí)”的集中概括和抽象表達(dá)。它以產(chǎn)品研發(fā)到產(chǎn)品運(yùn)行的生命周期為載體,意指將工程教育與工程實踐相結(jié)合,在產(chǎn)品的構(gòu)思、研發(fā)、應(yīng)用到再改進(jìn)的全生命周期中,提升學(xué)生的實踐動手能力、鍛煉吃苦耐勞的精神、提高團(tuán)隊合作與社會認(rèn)知水平,為以后的工作和生活積累寶貴的經(jīng)驗[1]。
國內(nèi)高等工科教育的任務(wù)是培養(yǎng)與國際接軌的專業(yè)工程師,然而我國工科的教育實踐中如上分析還存在很多問題,如重理論輕實踐、重視知識學(xué)習(xí)而輕視開拓創(chuàng)新的培養(yǎng)等問題。在中國工程教育發(fā)生大變革和邁向國際化的背景下,為了凝聚各方共識和匯聚各方力量,搭建工程教育交流和研討的平臺,我國已成立“CDIO 工程教育聯(lián)盟”[2]。目前,該聯(lián)盟中已有100 余所高校,聯(lián)盟高校運(yùn)用CDIO 工程教育模式進(jìn)行教學(xué)試點(diǎn),已經(jīng)取得了良好的成效,培養(yǎng)出的學(xué)生符合社會與企業(yè)的需求,得當(dāng)多方的認(rèn)可?;贑DIO 的工程教學(xué)模式比較適合注重培養(yǎng)應(yīng)用型人才的高校,當(dāng)前我國很多高校開始嘗試基于CDIO 工程教育模式進(jìn)行教學(xué)改革研究和實踐。
目前,有很多基于程序設(shè)計類課程的特點(diǎn)提出一些教學(xué)改革建議,比如周本海在“基于程序設(shè)計課程的創(chuàng)新教學(xué)模式研究”中提出的項目驅(qū)動式教學(xué)方法在培養(yǎng)學(xué)生自主研究、團(tuán)隊協(xié)作及創(chuàng)新能力上是一個非常有效的教學(xué)方法[3]。也有人相繼提出在教學(xué)過程中采用基于CDIO 模式的教學(xué)方法,但由于我校開展基于CDIO 工程教育模式研究的時間較短,對此方法尚缺少完善的理論和方案支持。我們以項目方式對CDIO 模式開展研究和實踐,將深入研究項目的規(guī)劃、項目的實施、項目之間的聯(lián)系等內(nèi)容。分析我院程序設(shè)計類課程教學(xué)的現(xiàn)狀,做到切實培養(yǎng)學(xué)生的學(xué)習(xí)興趣,促進(jìn)應(yīng)用型人才的培養(yǎng)。
以軟件工程專業(yè)為例,在制定人才培養(yǎng)方案時,應(yīng)該綜合考慮各門課程的先后關(guān)系,軟件工程導(dǎo)論課程應(yīng)該放在C#語言、面向?qū)ο蟪绦蚓幊痰日n程的后面,讓學(xué)生先有軟件工程的理論知識,在上程序設(shè)計類課程時就可以用工程的思想指導(dǎo)軟件開發(fā)。
1.明確程序設(shè)計類課程教學(xué)目標(biāo)。CDIO 工程教育模式主要是為了培養(yǎng)學(xué)生的綜合素質(zhì)和實踐能力,因此,在制定大綱時,要基于此目標(biāo)進(jìn)行設(shè)計。運(yùn)用該模式進(jìn)行教學(xué),學(xué)生邊做邊學(xué),不僅能學(xué)習(xí)到編程語言的語法應(yīng)用等基礎(chǔ)知識和基本技能,還能提升學(xué)生的分析調(diào)研能力、應(yīng)用實踐能力和創(chuàng)新意識。
2.設(shè)計綜合實訓(xùn)項目作為實踐教學(xué)內(nèi)容。在進(jìn)行實訓(xùn)項目設(shè)計時,不能僅限于分散無關(guān)聯(lián)的小問題的驗證,要設(shè)計出貫穿整個教學(xué)過程的綜合型實訓(xùn)項目,讓學(xué)生對同一個項目學(xué)習(xí)C(構(gòu)思)—D(設(shè)計)—I(實現(xiàn))—O(運(yùn)行)的工程過程,從而增加學(xué)生的項目經(jīng)驗。
在編寫教案設(shè)計教學(xué)過程時,充分考慮采用軟件工程思想指導(dǎo)的軟件項目開發(fā)的各個階段的任務(wù)特征,結(jié)合構(gòu)思、設(shè)計、實現(xiàn)、運(yùn)行的工程過程,作者以C#語言程序設(shè)計課程的教學(xué)進(jìn)行改革試點(diǎn)采用此方法進(jìn)行了教學(xué)設(shè)計并得以成功實施。
在設(shè)計C#語言程序設(shè)計課程的課程設(shè)計時,選用了《C#.NET 程序設(shè)計項目化教程》這本教材,該教材以典型的項目出發(fā),采取課內(nèi)外項目并行的模式,系統(tǒng)地介紹了C#語言的常用技術(shù)和方法。為貫徹“項目驅(qū)動、案例教學(xué)、理論實踐一體化”的教學(xué)理念,每個項目內(nèi)容都有情境導(dǎo)入、項目任務(wù)、基礎(chǔ)知識點(diǎn)任務(wù)、重難點(diǎn)、任務(wù)實現(xiàn)、小結(jié)和拓展等環(huán)節(jié)。對應(yīng)知識點(diǎn)任務(wù),教師提前在學(xué)習(xí)通或者智慧樹平臺或微信群及QQ 群發(fā)布相關(guān)學(xué)習(xí)視頻,由學(xué)生提前預(yù)習(xí),以便在課堂上跟得上教師講的項目任務(wù)。另外,教師會精心設(shè)計結(jié)合職業(yè)崗位工作場景的工程項目任務(wù),由學(xué)生分組在實訓(xùn)課來完成。每個實訓(xùn)任務(wù)結(jié)合多個C#知識點(diǎn),相對較復(fù)雜,主要為了提高學(xué)生的軟件系統(tǒng)需求分析、系統(tǒng)設(shè)計、軟件開發(fā)等能力。
結(jié)合應(yīng)用程序開發(fā)的生命周期以及CDIO 模式,每個工程任務(wù)分為構(gòu)思、設(shè)計、實現(xiàn)、運(yùn)行四個階段實施。首先,由教師指導(dǎo)學(xué)生分解出工程項目的各個階段的子任務(wù),并指導(dǎo)學(xué)生按工程項目開發(fā)的過程先進(jìn)行需求分析,然后設(shè)計程序所用的數(shù)據(jù)結(jié)構(gòu)和算法,進(jìn)而編碼調(diào)試實現(xiàn),最后進(jìn)行測試與運(yùn)行。該過程以小組分工合作的方式來完成各個階段的任務(wù),即能讓學(xué)生們將所學(xué)理論知識更好地運(yùn)用到實踐項目中,又能鍛煉學(xué)生的團(tuán)隊合作能力,讓學(xué)生獲取更多的項目參與經(jīng)驗。
程序設(shè)計類課程是應(yīng)用性實踐性較強(qiáng)的課程,教師在選擇教學(xué)方法時應(yīng)該選擇能夠讓學(xué)生深度參與的項目驅(qū)動法、案例法、討論法、翻轉(zhuǎn)課堂等方法,并且課堂要增加與學(xué)生多方位的互動,確實做到以學(xué)生為主體進(jìn)行教學(xué),避免“填鴨式”的被動教育。
在程序設(shè)計類課程施教過程中,現(xiàn)行的評價體系大多仍然以期末考試為主,雖然也結(jié)合了平時的作業(yè)、考勤、實驗課現(xiàn)場表現(xiàn)、實驗報告等內(nèi)容,但這些內(nèi)容在總體成績中占成分太少,以商丘工學(xué)院的程序設(shè)計類課程為例,教學(xué)大綱中課程考核均為平時成績10%、實驗成績20%,而期末考試成績?yōu)?0%,雖然期末考試均已改革為上機(jī)考試,但是僅評完成兩個小時的一個小題目并不能真實考核出學(xué)生的真正水平?;贑DIO 模式的過程教學(xué),在考核時應(yīng)該關(guān)注學(xué)習(xí)的過程,而非一次偶然的結(jié)果。在本次課程教學(xué)改革中,筆者以所帶的“C#語言程序設(shè)計”課程為例,在課程教學(xué)過程中,按照教學(xué)進(jìn)度及工程項目的任務(wù)完成情況,適時地分段進(jìn)行考核評價,并及時將評價結(jié)果反饋給學(xué)生,讓學(xué)生了解自己的學(xué)習(xí)情況,有利于學(xué)生把握好任務(wù)進(jìn)度并及時調(diào)整學(xué)習(xí)方法等,同時也能調(diào)動學(xué)生的學(xué)習(xí)熱情和學(xué)習(xí)興趣。期間,任課教師要定期與小組長進(jìn)行見面會,由小組長反饋各小組的學(xué)習(xí)情況并給老師提出建議,這樣能讓教師及時了解學(xué)生的學(xué)習(xí)進(jìn)展,及時合理微調(diào)教學(xué)進(jìn)度及調(diào)整教學(xué)方法。最后,在學(xué)期末,要對學(xué)生的學(xué)習(xí)情況進(jìn)行綜合評價,由于學(xué)生分組完成在進(jìn)行總評時要結(jié)合小組成員的內(nèi)部成員打分情況,盡量做到公正公平合理。課程的綜合評價時間最好提前到學(xué)期結(jié)課前,在學(xué)期初安排教學(xué)授課計劃時要留出少量課時用于給學(xué)生反饋評價,教師基于學(xué)生的學(xué)業(yè)綜合考核結(jié)果為學(xué)生們的發(fā)展給出進(jìn)一步的指導(dǎo)和學(xué)習(xí)建議,為學(xué)生指明進(jìn)一步學(xué)習(xí)的方向和方法,以達(dá)到課程教學(xué)效果的長效化。
在程序設(shè)計類課程教學(xué)實踐中,通過基于CDIO 模式的教學(xué)模式教學(xué),學(xué)生能夠把理論知識應(yīng)用到實際項目中,有利于培養(yǎng)學(xué)生的知識應(yīng)用能力、理論聯(lián)系實際的能力和創(chuàng)新能力,達(dá)到學(xué)校培養(yǎng)應(yīng)用型人才的目標(biāo)。因為同一工程項目每個階段的任務(wù)在功能上具有一定的連貫性和完整性,并且子任務(wù)之間也存在著相輔相成的邏輯關(guān)系。因此,工程項目任務(wù)的完成能夠讓學(xué)生在逐步深入逐漸完善的過程中,讓學(xué)生體會到一步步成功的喜悅,讓學(xué)生一步步擁有越來越多的成就感,能夠提高學(xué)生的編程興趣,增加學(xué)生的學(xué)習(xí)動力。項目是按照程序設(shè)計的生命周期進(jìn)行劃分任務(wù),因此,學(xué)生全程參與了工程項目開發(fā)的所有環(huán)節(jié),熟悉工程項目開發(fā)的整個過程,積累了軟件開發(fā)的相關(guān)經(jīng)驗?;贑DIO 工程教育模式的項目驅(qū)動教學(xué)讓學(xué)生邊做項目邊學(xué)習(xí),能夠提高學(xué)生的實操能力和解決實際問題的能力,增加了學(xué)生的社會責(zé)任感和團(tuán)隊協(xié)作能力,為以后的工作和生活積累寶貴的經(jīng)驗。改善了教學(xué)質(zhì)量,對于學(xué)校提高應(yīng)用型創(chuàng)新人才培養(yǎng)質(zhì)量具有重要意義,體現(xiàn)了學(xué)校應(yīng)用型人才培養(yǎng)的定位。