李梅蓮
(許昌學(xué)院 信息工程學(xué)院,河南 許昌 461000)
許昌學(xué)院是河南省首批“地方本科高校轉(zhuǎn)型發(fā)展試點(diǎn)單位”和“示范性應(yīng)用技術(shù)類型本科院?!保脒x國(guó)家“十三五”產(chǎn)教融合發(fā)展工程應(yīng)用型本科院校建設(shè)項(xiàng)目。學(xué)院堅(jiān)持“地方性、應(yīng)用型、服務(wù)性、國(guó)際化”辦學(xué)定位,堅(jiān)持以內(nèi)涵提升和創(chuàng)新引領(lǐng)為核心轉(zhuǎn)型發(fā)展思路。為此,催生一批課程要轉(zhuǎn)型發(fā)展,達(dá)到讓學(xué)生學(xué)得會(huì)、有得用,培養(yǎng)出適合企業(yè)實(shí)際需求的具有豐富理論知識(shí)與動(dòng)手實(shí)踐能力的綜合素質(zhì)人才。
《C++面向?qū)ο蟪绦蛟O(shè)計(jì)》是學(xué)院數(shù)字媒體與技術(shù)專業(yè)重要基礎(chǔ)課程,C++具有兼容C、面向?qū)ο?、封裝性好、應(yīng)用廣泛、移植性高的優(yōu)點(diǎn),在PC、移動(dòng)設(shè)備、網(wǎng)絡(luò)、通訊、圖像、游戲、硬件驅(qū)動(dòng)、嵌入式等行業(yè),都獲得了足夠的市場(chǎng)份額,可開發(fā)大型游戲、項(xiàng)目,同時(shí)為人工智能、分布式數(shù)據(jù)存儲(chǔ)、大數(shù)據(jù)等提供開發(fā)支持。目前,C++人才缺口較大,為緩和高校教育與軟件產(chǎn)業(yè)發(fā)展需要的矛盾,滿足新時(shí)期軟件產(chǎn)業(yè)對(duì)高質(zhì)量學(xué)生的要求,為數(shù)字媒體與技術(shù)專業(yè)本科學(xué)生打好C++基礎(chǔ)勢(shì)在必行??紤]到該課程基礎(chǔ)階段網(wǎng)絡(luò)資源比較成熟,合理使用優(yōu)質(zhì)資源輔助教學(xué),將有助于學(xué)生夯實(shí)基礎(chǔ),多維度、多材料的教學(xué)有助于豐富課堂內(nèi)容,提高學(xué)生學(xué)習(xí)興趣,從而提高學(xué)習(xí)效果。而是在“互聯(lián)網(wǎng)+”教育背景下,利用網(wǎng)絡(luò)資源不是照搬照抄,要有甄別的“拿來(lái)”,對(duì)課程要有整體計(jì)劃和思路,要重視教學(xué)質(zhì)量監(jiān)控,重視學(xué)生學(xué)習(xí)效果。
對(duì)應(yīng)用型本科院校而言,人才培養(yǎng)強(qiáng)調(diào)應(yīng)用型人才培養(yǎng)。然而,C++編程語(yǔ)言實(shí)際教學(xué)過(guò)程中存在理論教學(xué)重于實(shí)踐教學(xué),容易局限于某個(gè)教材、照搬某個(gè)高校課程教學(xué)等問(wèn)題。
C++課程教材種類繁多,部分教材僅在舊版本基礎(chǔ)上更新?lián)Q代,實(shí)質(zhì)內(nèi)容并未得到提升。計(jì)算機(jī)技術(shù)發(fā)展速度大于C++課程教材更新速度。如果教材選用不當(dāng),加上部分教師依據(jù)C++課程教材制定教學(xué)計(jì)劃,導(dǎo)致教學(xué)內(nèi)容陳舊,實(shí)際運(yùn)用效果大打折扣,難以滿足企業(yè)需求。
課時(shí)縮減情況下,部分C++教師為趕教學(xué)進(jìn)度,課堂上,重視理論知識(shí)講授,甚至對(duì)著課件,照本宣科,在“知識(shí)點(diǎn)講完,學(xué)不學(xué)是學(xué)生的事”的思想指導(dǎo)下,課講得沒(méi)有聲色,重點(diǎn)不突出,學(xué)生聽得乏味,大大降低了課堂授課效果。
(部分)學(xué)生學(xué)習(xí)主動(dòng)性和自覺(jué)性差,如果教師給學(xué)生硬性作業(yè)和可操作的實(shí)踐項(xiàng)目,或給學(xué)生定量作業(yè)和實(shí)踐項(xiàng)目,卻不進(jìn)行批改和反饋,對(duì)學(xué)生不作為不管不問(wèn),好學(xué)生得不到鼓勵(lì),差學(xué)生得不到幫助,加上課程本身難度及枯燥理論,學(xué)生的惰性就會(huì)占主導(dǎo),互相比著不學(xué)習(xí),學(xué)習(xí)氛圍和學(xué)習(xí)風(fēng)氣不濃,混日子到期末,很難取得好成績(jī)。
高校招收學(xué)生層次不同,培養(yǎng)目標(biāo)和定位也有差別。教師不能因材施教,照搬照抄重點(diǎn)高校的教學(xué)模式往往得不到應(yīng)有的效果。
C++編程語(yǔ)言是一門兼具理論性與實(shí)踐性的面向?qū)ο蟮木幊陶n程。課程目標(biāo)是讓學(xué)生充分掌握C++相關(guān)技術(shù)知識(shí),將技術(shù)知識(shí)轉(zhuǎn)化為社會(huì)與企業(yè)所需要的職業(yè)技能,提高學(xué)生C++編程語(yǔ)言的實(shí)踐運(yùn)用能力。
理論教學(xué)要擴(kuò)大技術(shù)知識(shí)深度與廣度。學(xué)院C++課程在二年級(jí)下開設(shè),學(xué)生有了一定的編程基礎(chǔ)能力,制定的課程教學(xué)大綱涵蓋C++面向?qū)ο蠡A(chǔ)、Windows編程基礎(chǔ)、MFC編程基礎(chǔ)三大塊內(nèi)容,為學(xué)生進(jìn)一步學(xué)習(xí)計(jì)算機(jī)圖形學(xué)打基礎(chǔ)。教材選取有一定難度,考慮到知識(shí)的科學(xué)性、正確性要求,選取權(quán)威性高的教材。從面向?qū)ο蠡A(chǔ)理論方面,推薦國(guó)家級(jí)精品課教材,清華大學(xué)鄭莉教授的《C++語(yǔ)言程序設(shè)計(jì)》(第3版)[1,9]。對(duì)于Windows編程,推薦使用國(guó)家級(jí)精品課教材,清華大學(xué)黃維通教授《Visual C++面向?qū)ο笈c可視化程序設(shè)計(jì)》(第4版)[10],兩位教師在學(xué)堂在線都提供教學(xué)MOOC資源,且可以用智能手機(jī)登錄學(xué)習(xí)。課程提供的C++知識(shí)與時(shí)代接軌,采用編程工具軟件都是公司流行的VS2012及以上,知識(shí)點(diǎn)視頻及在線作業(yè)可以輔助學(xué)生學(xué)習(xí)。學(xué)生課下通過(guò)這些網(wǎng)絡(luò)資源豐富理論知識(shí),擴(kuò)大專業(yè)視野,教師課堂上就重點(diǎn)難點(diǎn)內(nèi)容采用設(shè)問(wèn)的方式與學(xué)生探討,為學(xué)生奠定堅(jiān)實(shí)理論基礎(chǔ)。
實(shí)踐要建立在扎實(shí)的理論基礎(chǔ),實(shí)踐教學(xué)——提升理論知識(shí)轉(zhuǎn)化為實(shí)踐運(yùn)用的能力[2-3]。學(xué)生編程能力是課程實(shí)踐教學(xué)的重要目標(biāo),培養(yǎng)學(xué)生在軟件開發(fā)過(guò)程中綜合運(yùn)用編程方法的能力。C++編程語(yǔ)言是門技術(shù)應(yīng)用強(qiáng)的課程,對(duì)學(xué)生實(shí)踐能力要求極高。實(shí)操效果在很大程度上是通過(guò)學(xué)生將C++編程語(yǔ)言運(yùn)用至程序設(shè)計(jì)、編寫程序來(lái)體現(xiàn)的。因而,在教授理論知識(shí)的同時(shí),加強(qiáng)學(xué)生對(duì)C++編程語(yǔ)言課程的理論實(shí)踐,培養(yǎng)工程推理技能、問(wèn)題解決技能、以及系統(tǒng)思維及利用程序設(shè)計(jì)語(yǔ)言解決實(shí)際工程問(wèn)題的能力。C++實(shí)踐需要強(qiáng)化做題,強(qiáng)化動(dòng)手編程,以量變達(dá)到質(zhì)的升華,國(guó)內(nèi)外有一些較好的OJ刷題系統(tǒng)比較適合強(qiáng)化學(xué)生編程能力。比如在基礎(chǔ)編程階段,可以使用PTA|程序設(shè)計(jì)類實(shí)驗(yàn)輔助教學(xué)平臺(tái),該平臺(tái)有400多所院校參與,教師共建共享題庫(kù),供學(xué)生練習(xí),且能自動(dòng)評(píng)閱,學(xué)生可隨時(shí)隨地通過(guò)互聯(lián)網(wǎng)登錄做題,對(duì)錯(cuò)立馬見分曉,及時(shí)的反饋培養(yǎng)學(xué)生嚴(yán)謹(jǐn)?shù)木幊趟季S。引入課程學(xué)習(xí)后,學(xué)生與400多所高校70多萬(wàn)學(xué)生同臺(tái)競(jìng)技,增強(qiáng)了學(xué)習(xí)熱情,學(xué)習(xí)效果得到較大的提升。進(jìn)階階段可以使用LintCode網(wǎng)站,此網(wǎng)站是國(guó)內(nèi)較大的在線編程與測(cè)評(píng)網(wǎng)站,提供各大IT公司的算法面試題類型,分門別類,由簡(jiǎn)單到中等,再到難,便于不同水平的學(xué)生刷題練習(xí)。網(wǎng)站支持多種語(yǔ)言(Java、Python、C++),方便不同語(yǔ)言特長(zhǎng)學(xué)生利用進(jìn)行刷題練習(xí),對(duì)于不同編程能力水平、不同職位需求的人來(lái)說(shuō)都是非常有用的刷題網(wǎng)站。更進(jìn)一步的刷題系統(tǒng)如中文RQNOJ、VIJOS偏重于基礎(chǔ)算法,對(duì)于學(xué)有余力的學(xué)生POJ、SGU、Codeforces等英文刷題系統(tǒng)也是不錯(cuò)的,這些刷題系統(tǒng)具有挑戰(zhàn)性,更能激發(fā)學(xué)生學(xué)習(xí)激情。更重要的是,讓學(xué)生充分準(zhǔn)備好相關(guān)程序,更好地發(fā)揮實(shí)踐教學(xué)的作用。
教學(xué)過(guò)程中既不能局限于課本,也不能照搬別人的作法,要根據(jù)學(xué)生實(shí)際情況因材施教,課堂上靈活多樣[4-7],既有理論講解,也穿插優(yōu)質(zhì)視頻分析,還可能是典型題目討論和解析,也有對(duì)網(wǎng)絡(luò)上的相關(guān)資源的查閱和討論。教學(xué)手段和方法不搞形式,百花齊放,緊緊圍繞教學(xué)目的與培養(yǎng)方案。教學(xué)語(yǔ)言要有激情,能調(diào)動(dòng)學(xué)生學(xué)習(xí)積極性。
除了作業(yè)和實(shí)驗(yàn),中途可進(jìn)行中期隨堂檢測(cè),目的是加強(qiáng)學(xué)習(xí)過(guò)程監(jiān)控,避免學(xué)生學(xué)習(xí)前松后緊,臨到期末考試才緊張起來(lái)。筆者曾提出制作在線單元晉級(jí)型測(cè)試系統(tǒng)[8],旨在創(chuàng)建有一定難度的單元測(cè)試任務(wù)進(jìn)行單元過(guò)關(guān)晉級(jí),此單元不過(guò)關(guān),就不能進(jìn)入下一關(guān),一方面遵循學(xué)習(xí)規(guī)律循序漸進(jìn),一步一個(gè)腳印,另一方面激勵(lì)性鞭策學(xué)生夯實(shí)基礎(chǔ)知識(shí)。
教師合理選用教材及優(yōu)質(zhì)MOOC資源,不斷加強(qiáng)學(xué)習(xí)監(jiān)控,采用OJ系統(tǒng)多給學(xué)生布置富有挑戰(zhàn)性的程序設(shè)計(jì)作業(yè)。作業(yè)設(shè)置相應(yīng)的分?jǐn)?shù),學(xué)生課下練習(xí)時(shí),因?yàn)榭勺詣?dòng)批閱,馬上就能看到程序是否正確及在班內(nèi)的排名,學(xué)習(xí)積極性大大提高,主要體現(xiàn)在:①創(chuàng)建課程交流群,學(xué)生就刷題系統(tǒng)作業(yè)遇到的問(wèn)題進(jìn)行討論激烈;②學(xué)生平均成績(jī)較往年得以提高;③通過(guò)問(wèn)卷調(diào)查,學(xué)生對(duì)課程的滿意度大大增加;④學(xué)生主動(dòng)學(xué)習(xí)能力大大提升,會(huì)主動(dòng)涉獵高一級(jí)的編程;⑤學(xué)生參與程序設(shè)計(jì)競(jìng)賽獲獎(jiǎng)名次及數(shù)量增加。
為培養(yǎng)適應(yīng)社會(huì)與企業(yè)需要的人才,提升學(xué)生實(shí)踐創(chuàng)新能力,教師本身要時(shí)刻關(guān)注課程改革和發(fā)展,關(guān)注企業(yè)需求,借助互聯(lián)網(wǎng),要主動(dòng)有甄別教學(xué)資源,用“拿來(lái)”思維提供給學(xué)生學(xué)習(xí),并提供策略和方法,引導(dǎo)學(xué)生自主涉獵專業(yè)知識(shí),與實(shí)際需求接軌,強(qiáng)化學(xué)生C++專業(yè)基礎(chǔ)。