摘要:程序設(shè)計課程是高校的一門必修課,其重要性不言而喻,而實踐是學(xué)好該課程的不二選擇,只有多動手編程,才能達到熟練掌握并應(yīng)用的目的。在強化實踐、強調(diào)動手方面,我校做了一系列的改革,包括教學(xué)技術(shù)、教學(xué)方法、教學(xué)手段、實踐平臺等,激發(fā)了學(xué)生的學(xué)習(xí)興趣,取得了很好的教學(xué)效果。
關(guān)鍵詞 :程序設(shè)計;實踐;教學(xué)
中圖分類號:G433 文獻標(biāo)識碼:B 文章編號:1009-3044(2018)32-0146-03
眾所周知,程序設(shè)計類課程具有綜合性和實踐性等特點。只有多上機,多動手,在不斷地嘗試中才能把課程內(nèi)容全部消化、接收,進而達到運用自如的程度,也才能真正掌握程序設(shè)計的思想與方法。目前,眾多高校普遍存在著學(xué)生深陷語法而編不出程序的現(xiàn)狀。鑒于此,強化實踐教學(xué)就成為改進計算機程序設(shè)計類課程教學(xué)質(zhì)量的途徑與方向。為此,我校采取了以下做法,并取得了較好的教學(xué)效果,希望能為同行提供借鑒與參考。
1 教學(xué)模式的改進之將上課地點由教室改在機房
傳統(tǒng)的程序設(shè)計課程,采用的教學(xué)模式一般都是先由教師在教室講授理論課,然后安排實驗教學(xué),老師在機房進行輔導(dǎo)。這樣做的弊端是,聽課與上機練習(xí)之間存在時間差,學(xué)生課上即便全部聽懂、理解了,但上實驗課時,也需要重新復(fù)習(xí),才能再上手編寫程序,從而致使課堂教學(xué)效果不盡理想,同時也無法突出對學(xué)生實踐能力的培養(yǎng)?;谶@種考慮,我校將非計算機專業(yè)學(xué)生的程序設(shè)計課程,包括《C語言程序設(shè)計》《Visual Basic程序設(shè)計》《Python程序設(shè)計》及《計算機文化基礎(chǔ)》等課程,全部都安排在了機房授課,每個學(xué)生有一臺計算機,并安裝了“教學(xué)控制軟件”來輔助教學(xué),其核心功能有:屏幕廣播、收取作業(yè)、示范教學(xué)等等。首先,教師在教師機上利用廣播教學(xué)進行內(nèi)容的講授。需要學(xué)生練習(xí)時,采用練習(xí)模式,將學(xué)生機的控制權(quán)交還給學(xué)生。這樣,學(xué)生能夠根據(jù)教師的講解,立刻動手進行程序的編寫,此時,教師可以進行輔導(dǎo),并觀察學(xué)生的掌握情況,見圖1。大部分學(xué)生編寫完后,教師就可以有針對性地進行糾正、點評。這樣的好處是能夠讓學(xué)生及時練習(xí)所學(xué)習(xí)的內(nèi)容,“趁熱打鐵”,提高學(xué)習(xí)效率,收到很好的學(xué)習(xí)效果。并且,針對不同掌握程度的學(xué)生,基于所講例題,教師可以拋出不同難度的要求,以滿足不同學(xué)生的學(xué)習(xí)情況。
2 教學(xué)方法的改進之推行項目式教學(xué)
為了提高學(xué)生學(xué)習(xí)興趣與積極性,推行項目式教學(xué)[1]。即:將課程的教學(xué)內(nèi)容分解在一個完整、難度適中的項目中,隨著項目的逐步推進,教學(xué)內(nèi)容也逐步完成。項目式教學(xué)能夠把理論教學(xué)與實踐教學(xué)有機地結(jié)合起來,在應(yīng)用中講解理論知識點,將理論知識融合在實踐——即項目的完成中。
學(xué)生通過項目的完成,能夠了解并把握課程的整體架構(gòu)及每個環(huán)節(jié)所需要的知識,有效地避免了知識點的割裂感。教師由“主角”轉(zhuǎn)變?yōu)椤芭浣恰?,同時強調(diào)小組的協(xié)作,培養(yǎng)學(xué)生團結(jié)合作的能力。如《Visual FoxPro程序設(shè)計》以完成一個完整的“學(xué)生成績管理系統(tǒng)”為例,將內(nèi)容分解為:登錄界面的設(shè)計、增刪改界面的設(shè)計、查詢界面的設(shè)計,菜單與報表等六大部分(見圖2)。學(xué)生逐步完成每一部分,結(jié)課時,就能完成一個自己設(shè)計的、完整的管理系統(tǒng),學(xué)生獲得一種很強的習(xí)得感和成就感。
我校實行“項目式”教學(xué)已有三年了。三年期間,不斷改進考核方式、調(diào)整教學(xué)內(nèi)容,最終形成了完善的項目式教學(xué)體系,被列為四大“校級重點教改項目”之一,并入選內(nèi)蒙古自治區(qū)高等學(xué)校教學(xué)改革項目。
3 教學(xué)手段的改進之推行基于SPOC的混合式教學(xué)
SPOC(Small Private Online Course 即小規(guī)模限制性在線課程),最早由美國加州大學(xué)伯克利分校的Armando Fox教授提出。我校進行了基于SPOC的混合式教學(xué)模式的推進[2][3],實現(xiàn)線上線下結(jié)合、課內(nèi)課外互補的混合式教學(xué),為學(xué)生“隨時上課”提供保障。
混合式教學(xué)對教師的要求較高,一方面需要教師掌握混合式教學(xué)理念,不能為了混合而混合。另一方面,需要教師對教學(xué)有清晰的規(guī)劃與把控,要事先設(shè)計好資源(包括導(dǎo)學(xué)單、課件、微視頻、討論、作業(yè))與活動,并要隨時關(guān)注學(xué)生的線上與線下學(xué)習(xí)情況,及時進行指導(dǎo)與分析。
為此,我校引進了清華大學(xué)的優(yōu)慕課平臺作為混合式教學(xué)的支持系統(tǒng)。圖3所示為某門程序設(shè)計課程的建設(shè)平臺。其中,教師可以布置課前或者課后作業(yè),檢驗學(xué)生的學(xué)習(xí)效果,查看學(xué)生的學(xué)習(xí)記錄(包括在線時長、視頻的學(xué)習(xí)時間),組建討論小組,并根據(jù)學(xué)生的各項完成情況給出分?jǐn)?shù),計入期末成績等。
經(jīng)過一年的使用,證明混合式教學(xué)模式能夠充分利用線上、線下多時空資源,為學(xué)生提供更加靈活的學(xué)習(xí)途徑與時間,激發(fā)學(xué)習(xí)興趣,提高教學(xué)活動的參與度,從而大幅增加學(xué)生對教學(xué)的滿意度。
4 教學(xué)平臺的改進之構(gòu)建實踐操作平臺
程序設(shè)計課程是實踐性很強的課程,學(xué)習(xí)并掌握它需要進行相當(dāng)數(shù)量且有針對性的綜合性訓(xùn)練。為了便于學(xué)生練習(xí),我校開發(fā)了多套輔助教學(xué)系統(tǒng),成為學(xué)生練習(xí)的重要平臺。
1) 基于Docker的大數(shù)據(jù)教學(xué)與實驗開放平臺
在大數(shù)據(jù)時代,為了讓師生可以更方便地進行大數(shù)據(jù)的教學(xué)與科研,我校自主開發(fā)了大數(shù)據(jù)教學(xué)與實驗開放平臺。
該平臺通過應(yīng)用Docker技術(shù),以少量機器虛擬大量實驗集群,為學(xué)生提供真實實驗環(huán)境,可供大量學(xué)生同時擁有多套集群進行試驗。其優(yōu)點是:每個學(xué)生的實驗環(huán)境不僅相互隔離,能夠方便高效地完成實驗,而且實驗彼此不干擾,即使某個實驗環(huán)境被破壞,對其他人也沒有影響,一鍵重啟就可以擁有一套新集群。
該平臺以Web形式提供,學(xué)生只需登錄,就可以擁有屬于自己的、真實的、多節(jié)點的各種集群,包括Hadoop、Spark、YARN、Storm等各種大數(shù)據(jù)基礎(chǔ)的實驗環(huán)境,均可一鍵搭建,見圖4,這樣學(xué)生在擁有了自己的集群后,就可以根據(jù)平臺提供的實驗資源(課件與視頻)進行練習(xí),包括進行分布式數(shù)據(jù)的采集、存儲、分析等大數(shù)據(jù)處理的相關(guān)程序設(shè)計。
該平臺大幅度節(jié)省了硬件和人員管理的投入成本,降低了師生學(xué)習(xí)與研究大數(shù)據(jù)的門檻,被列為我校重點教改項目之一。它不僅可以為非計算機類的學(xué)生提供大數(shù)據(jù)的分析,而且也可以為計算機類學(xué)生進行大數(shù)據(jù)課程的研究與學(xué)習(xí)所用,為高校進行大數(shù)據(jù)的教學(xué)與科研開辟了一條新的道路。目前是內(nèi)蒙古首個由高校自主開發(fā)的大數(shù)據(jù)平臺。
2) 基于Web的自主學(xué)習(xí)平臺
我校開發(fā)了基于Web的自主學(xué)習(xí)平臺,目前在C、VB、Python三門課程中使用,見圖5所示。該系統(tǒng)采取分章節(jié)的方式,將各個章節(jié)的重點、難點均進行了講解、標(biāo)注,并設(shè)置了各種類型的練習(xí)題目,包括選擇、填空、編程等,目前均能夠?qū)崿F(xiàn)自動評分[2]。學(xué)生可以登錄系統(tǒng),進行課程內(nèi)容的學(xué)習(xí),然后做題。并可以就某個題目,與教師互動。學(xué)生做題會得到相應(yīng)的積分,該積分可以供教師參考。我校是將該平臺作為程序設(shè)計類課程的課堂練習(xí)或者完成課下作業(yè)使用,積分計入平時成績。
以上所列舉的實踐操作平臺均由我校一線任課教師自己開發(fā),因此在功能的設(shè)置、題目的編制等方面都很接地氣。投入使用后,受到師生的一致好評。其優(yōu)點在于:一方面讓學(xué)生能真正動手進行程序的開發(fā),另一方面也減輕了任課教師批改作業(yè)的工作量。同時積累了很多教學(xué)數(shù)據(jù),為下一步做教育大數(shù)據(jù)的分析、實現(xiàn)“精準(zhǔn)教學(xué)”奠定了基礎(chǔ)。
“紙上得來終覺淺,絕知此事須躬行”,程序設(shè)計類課程更是如此,而且“教學(xué)有法,教無定法”,這就需要我們不斷探索更多、更適合學(xué)生的方法、途徑與形式來增強實踐環(huán)節(jié)的訓(xùn)練,提高教學(xué)質(zhì)量,這樣就能夠更好地增強學(xué)生實踐能力、創(chuàng)新能力,從而幫助他們更好地適應(yīng)社會需求。
參考文獻:
[1] 王猛.以“項目開發(fā)”為導(dǎo)向的VFP教學(xué)改革[J].電腦知識與技術(shù),2014.10:6914-6915.
[2] 徐揚,黃迎久,李海榮.計算機技術(shù)基礎(chǔ)課程SPOC混合教學(xué)模式探究[J].中國教育信息化,2017(23):73-76.
[3] 王世蓉,高騰剛,黃政.程序設(shè)計課程混合教學(xué)模式改革與實踐[J].大學(xué)教育,2017.5:29-30.
[4] 尹存燕,劉奇志,陳家駿. 激發(fā)學(xué)生編程興趣的程序設(shè)計實驗教學(xué)實踐[J].計算機教育,2018(3):81-83.
[5] 袁鳳玲.計算機程序設(shè)計類課程實踐教學(xué)的有效性研究[J].遼寧科技學(xué)院學(xué)報,2016,18(3):52-53.
[6] Jia L., Han M., Gao S., Zhang Y., Sun G. Research and Practice on Advanced Language Programming Teaching Mode Based on O2O[C]. eLEOT 2018: e-Learning, e-Education, and Online Training, vol 243: 33-40, Springer, Cham
【通聯(lián)編輯:聞翔軍】