孫偉峰, 楊 華, 齊玉娟, 萬 勇
(中國石油大學(xué)(華東)信息與控制工程學(xué)院,山東青島266580)
程序設(shè)計(jì)語言C/C++是面向我校電子信息工程、自動(dòng)化、測控技術(shù)與儀器、電氣工程及其自動(dòng)化4個(gè)電氣信息類專業(yè)大一新生開設(shè)的程序設(shè)計(jì)語言入門課程,也是學(xué)習(xí)后續(xù)專業(yè)課程如微機(jī)原理、單片機(jī)原理與接口等的基礎(chǔ)課程。編程作為理工科專業(yè)學(xué)生必備的基本工具與技能,其掌握程度將直接影響到后續(xù)相關(guān)課程的學(xué)習(xí)[1],甚至以后的科研與工作。
本課程理論與實(shí)驗(yàn)并重,由32學(xué)時(shí)的理論課與24學(xué)時(shí)的上機(jī)實(shí)驗(yàn)課組成,實(shí)驗(yàn)單獨(dú)設(shè)課,教學(xué)內(nèi)容包括面向過程的程序設(shè)計(jì)與面向?qū)ο蟮某绦蛟O(shè)計(jì)兩部分,涉及到的內(nèi)容多,概念抽象,語法、規(guī)則繁多,實(shí)踐性強(qiáng)。目前,該課程的教學(xué)面臨以下問題:①依照我校計(jì)算機(jī)系列課程的“Bus”培養(yǎng)模式,取消了先修課程計(jì)算機(jī)文化基礎(chǔ),部分學(xué)生計(jì)算機(jī)基礎(chǔ)薄弱;②學(xué)時(shí)少與內(nèi)容多之間的矛盾突出;③理論課與實(shí)驗(yàn)課作為獨(dú)立的教學(xué)單元,兩者之間銜接不暢,沒有充分發(fā)揮出實(shí)驗(yàn)教學(xué)對(duì)本課程的支撐與促進(jìn)作用;④為了便于學(xué)生管理,大一的學(xué)生不允許帶電腦到學(xué)校,學(xué)生只能在24學(xué)時(shí)的實(shí)驗(yàn)課上進(jìn)行上機(jī)編程,實(shí)踐練習(xí)的機(jī)會(huì)少,不利于課程知識(shí)的掌握與學(xué)生編程能力的培養(yǎng)。學(xué)生普遍反映該課程比較抽象、難學(xué),“課上能聽懂,程序能看懂,上機(jī)不會(huì)編”“遇到問題也不知道如何去調(diào)試,實(shí)際編程能力較弱”,學(xué)生學(xué)習(xí)興趣不高,學(xué)習(xí)效果不盡人意。
作為一門實(shí)踐性很強(qiáng)的課程,上機(jī)實(shí)踐是學(xué)習(xí)程序設(shè)計(jì)語言最為有效的方法[2],尤其對(duì)于大一新生而言,他們的計(jì)算機(jī)文化基礎(chǔ)較為薄弱,理解及應(yīng)用程序設(shè)計(jì)語言的能力不強(qiáng),只有通過不斷上機(jī)編寫、調(diào)試程序,發(fā)現(xiàn)并改正錯(cuò)誤,才能真正理解并掌握程序設(shè)計(jì)語言的語法、結(jié)構(gòu)及程序設(shè)計(jì)的基本思路與方法,才能逐漸培養(yǎng)計(jì)算思維[3]。因此,編程實(shí)踐在程序設(shè)計(jì)類課程的教學(xué)中具有十分重要的作用,強(qiáng)化實(shí)踐能力是提高本課程教學(xué)效果的重要途徑。
為了解決本課程教學(xué)過程中遇到的學(xué)時(shí)少與內(nèi)容多、理論與實(shí)驗(yàn)教學(xué)銜接不暢、尤其是因條件所限導(dǎo)致學(xué)生上機(jī)實(shí)踐機(jī)會(huì)少等問題,在信息技術(shù)與教學(xué)深度融合的大趨勢下,課程組以提高學(xué)生的上機(jī)編程能力為目標(biāo),將智能手機(jī)、互聯(lián)網(wǎng)等信息技術(shù)發(fā)展成果引入到課程教學(xué)中,建立了智能手機(jī)端編程、網(wǎng)絡(luò)在線編程與實(shí)驗(yàn)室上機(jī)實(shí)驗(yàn)相結(jié)合的多元協(xié)同實(shí)驗(yàn)平臺(tái),為學(xué)生編程實(shí)踐提供了更多途徑。
對(duì)注重編程實(shí)踐的程序設(shè)計(jì)類課程而言,實(shí)驗(yàn)教學(xué)不僅僅是理論教學(xué)的輔助,能夠幫助學(xué)生加深、鞏固對(duì)理論教學(xué)內(nèi)容的理解,更是學(xué)習(xí)程序設(shè)計(jì)的一種重要途徑,對(duì)學(xué)生發(fā)現(xiàn)問題、分析問題、解決問題的能力以及計(jì)算思維、創(chuàng)新能力的培養(yǎng)都具有重要作用,學(xué)生只有通過編程實(shí)踐才能真正掌握程序設(shè)計(jì)的思想和方法。因此,實(shí)驗(yàn)教學(xué)對(duì)程序設(shè)計(jì)類課程的教學(xué)質(zhì)量具有至關(guān)重要的作用,教學(xué)效果最終要體現(xiàn)在學(xué)生的編程能力上。
程序設(shè)計(jì)實(shí)驗(yàn)課程目前大多采用單獨(dú)設(shè)課的方式,理論課程與實(shí)驗(yàn)課程獨(dú)立進(jìn)行,分別由不同的教師執(zhí)教。理論課教師主要負(fù)責(zé)程序設(shè)計(jì)基礎(chǔ)知識(shí)、基本語法及程序設(shè)計(jì)方法的講解,實(shí)驗(yàn)課教師根據(jù)理論課程進(jìn)度指導(dǎo)學(xué)生上機(jī)編程練習(xí)。在這種教學(xué)模式下,①學(xué)生在理論課上只能“紙上談兵”,老師講的理論知識(shí)及演示實(shí)驗(yàn)都能看得“懂”,但由于無法親自編程實(shí)踐,這種“懂”僅限于淺層的理解,很多情況下學(xué)生并未真正明白,由此,就會(huì)出現(xiàn)學(xué)生上機(jī)編程時(shí)需要翻課本、看課件,比照例題“照葫蘆畫瓢”的現(xiàn)象,也即學(xué)生所說的“上課能聽懂,上機(jī)不會(huì)編”“面對(duì)題目無從下手,面對(duì)錯(cuò)誤束手無策”。②實(shí)驗(yàn)課上由1位老師指導(dǎo)眾多學(xué)生,學(xué)生在編程調(diào)試過程中遇到問題往往得不到及時(shí)解答,理論課教師又不能及時(shí)了解學(xué)生遇到的問題,理論課與實(shí)驗(yàn)課銜接不暢。實(shí)驗(yàn)課由于學(xué)時(shí)少等原因在培養(yǎng)學(xué)生編程能力方面的作用受限,學(xué)生缺乏編程實(shí)踐的機(jī)會(huì),導(dǎo)致課程整體教學(xué)效果不佳。
許多高校都意識(shí)到了編程實(shí)踐對(duì)程序設(shè)計(jì)類課程的重要性,開展了系列實(shí)驗(yàn)教學(xué)改革。例如,劉光蓉[4]在C程序設(shè)計(jì)課程中采用理實(shí)一體化的教學(xué)模式,將理論知識(shí)融入到實(shí)驗(yàn)教學(xué)中,讓學(xué)生在練習(xí)中理解理論知識(shí)。黃云等[5]基于云平臺(tái)改革程序設(shè)計(jì)基礎(chǔ)實(shí)踐教學(xué)體系,建立實(shí)踐教學(xué)資源庫,搭建了課程實(shí)踐教學(xué)平臺(tái)。許小東等[6]基于MOOC理念,構(gòu)建了集資源管理、過程控制、考核評(píng)價(jià)于一體的程序設(shè)計(jì)開放實(shí)驗(yàn)平臺(tái),提升了學(xué)生的自主學(xué)習(xí)意識(shí)和創(chuàng)新實(shí)踐能力。陳婷[7]提出將階梯式教學(xué)、案例教學(xué)、項(xiàng)目驅(qū)動(dòng)教學(xué)等方法應(yīng)用于程序設(shè)計(jì)實(shí)驗(yàn)教學(xué)中。張彥航等[8]提出一種基于虛擬實(shí)踐平臺(tái)的C語言實(shí)踐教學(xué)模式,開發(fā)了自主式虛擬作業(yè)系統(tǒng)及考試系統(tǒng),促進(jìn)學(xué)生的自主學(xué)習(xí)。曾慶江等[9]將實(shí)驗(yàn)教學(xué)與云課堂相結(jié)合進(jìn)行計(jì)算機(jī)程序設(shè)計(jì)探索性實(shí)驗(yàn)教學(xué),訓(xùn)練學(xué)生綜合利用知識(shí)和解決實(shí)際問題的能力。何文廣等[10]引入自動(dòng)評(píng)分系統(tǒng)來輔助程序設(shè)計(jì)課程實(shí)驗(yàn)教學(xué)。陳昕等[11]提出采用階梯式遞進(jìn)的分階段考核方式,注重對(duì)學(xué)生編程能力的培養(yǎng)。
綜上所述,當(dāng)前程序設(shè)計(jì)類課程實(shí)驗(yàn)教學(xué)改革的關(guān)注點(diǎn)都集中在內(nèi)容體系、教學(xué)方法、教學(xué)組織形式、考核評(píng)價(jià)等方面,而對(duì)于實(shí)驗(yàn)得以有效進(jìn)行的物質(zhì)載體—實(shí)驗(yàn)場所與編程環(huán)境,很少有研究涉及,上機(jī)實(shí)驗(yàn)基本局限在實(shí)驗(yàn)室內(nèi)進(jìn)行,學(xué)生在規(guī)定的時(shí)間內(nèi)到實(shí)驗(yàn)室,在教師指導(dǎo)下圍繞特定的實(shí)驗(yàn)內(nèi)容進(jìn)行集中實(shí)驗(yàn);而平時(shí)機(jī)房資源緊張,即使學(xué)生自己有計(jì)算機(jī),也不便隨時(shí)隨地隨身攜帶,學(xué)生在圖書館、自習(xí)室等場所寫作業(yè)或突然冒出一個(gè)好的想法想編程驗(yàn)證,但苦于手邊沒有計(jì)算機(jī),只能暫時(shí)放棄,想“等實(shí)驗(yàn)課的時(shí)候驗(yàn)證一下”,但實(shí)驗(yàn)課上卻已遺忘,編程實(shí)踐在時(shí)間及空間上都受到很大約束,缺乏靈活性,不利于學(xué)生的自主、即時(shí)學(xué)習(xí)。
隨著信息技術(shù)在教育領(lǐng)域的滲透和融入的深化,其在教育教學(xué)方面的助推作用越來越顯著,信息技術(shù)與教學(xué)深度融合已經(jīng)成為當(dāng)今教育教學(xué)的一個(gè)重要發(fā)展方向[12]。為了給學(xué)生提供優(yōu)質(zhì)的實(shí)驗(yàn)教學(xué)環(huán)境,讓學(xué)生獲得更多編程實(shí)踐的機(jī)會(huì),讓編程實(shí)踐融入程序設(shè)計(jì)教學(xué)的每個(gè)環(huán)節(jié),借助業(yè)已普及的智能手機(jī)與互聯(lián)網(wǎng)技術(shù),課程組建立了多元協(xié)同的C/C++實(shí)驗(yàn)教學(xué)平臺(tái)。
為了有效解決傳統(tǒng)的實(shí)驗(yàn)室教學(xué)因時(shí)空受限帶來的諸多問題,讓學(xué)生做到“隨時(shí)有想法,隨時(shí)可編程”,切實(shí)提高課程的教學(xué)質(zhì)量,有必要探索多樣化的實(shí)驗(yàn)教學(xué)手段,構(gòu)建多元化的實(shí)驗(yàn)教學(xué)環(huán)境。課程組在多年教學(xué)實(shí)踐的基礎(chǔ)上,通過與學(xué)生多次溝通交流,在信息與教學(xué)深度融合的教育教學(xué)背景下,逐步發(fā)展建立了基于智能手機(jī)編程、網(wǎng)絡(luò)在線編程、實(shí)驗(yàn)室上機(jī)實(shí)驗(yàn)相結(jié)合的C/C++課程多元實(shí)驗(yàn)教學(xué)模式。
當(dāng)前,智能手機(jī)已經(jīng)成為大學(xué)生的必需品,學(xué)生對(duì)手機(jī)的依賴越來越強(qiáng),上課玩手機(jī)的現(xiàn)象及報(bào)道層出不窮,很多學(xué)校都想方設(shè)法限制學(xué)生課堂使用手機(jī)。但是,“堵而抑之,不如疏而導(dǎo)之”,如果能引導(dǎo)學(xué)生合理地使用智能手機(jī),就可以將其變成一種有效的學(xué)習(xí)工具。基于智能手機(jī)的移動(dòng)教學(xué)與學(xué)習(xí)將成為未來主要的學(xué)習(xí)方式之一[13-14],能夠提高學(xué)生學(xué)習(xí)的自主性和積極性,在促進(jìn)高校課堂教育教學(xué)方面有著無限的潛力。
智能手機(jī)在某種程度上相當(dāng)于一臺(tái)移動(dòng)電腦,具有獨(dú)立的操作系統(tǒng)和運(yùn)行空間,可以接入無線網(wǎng)絡(luò),且具有無可比擬的便攜性—本身便于攜帶,學(xué)生也樂于攜帶,給隨時(shí)隨地學(xué)習(xí)提供了可能。運(yùn)行蘋果iOS與Android系統(tǒng)的智能手機(jī)都可以安裝C/C++開發(fā)環(huán)境,智能手機(jī)對(duì)程序設(shè)計(jì)語言課程的教學(xué)具有更為重要的意義。
目前,已經(jīng)有多種可以在智能手機(jī)上安裝運(yùn)行的C/C++編譯應(yīng)用程序。例如,可以在蘋果手機(jī)上安裝的應(yīng)用軟件有 Dmitry Kovba開發(fā)的“C++Programming Language-Compiler with Reference”(只能聯(lián)網(wǎng)使用),踏宇科技開發(fā)的C/C++開發(fā)應(yīng)用等;可以在 Android手機(jī)上安裝的應(yīng)用軟件有 C4droid、MySpringC、AIDE、C++compiler IDE、CppDroid 等。目前,應(yīng)用最為廣泛的是Android系統(tǒng)下的C4droid,本節(jié)以其為例介紹基于智能手機(jī)的C/C++編程方法。
C4droid是Android平臺(tái)下的一款界面友好、功能強(qiáng)大的C/C++集成開發(fā)環(huán)境 ,默認(rèn)以tcc(tiny c compiler)為編譯器,具有如下特征:能夠以離線的方式編輯、編譯、運(yùn)行C/C++程序;支持 ANSI C與 ISO C99標(biāo)準(zhǔn);源代碼編輯器提供語法高亮、代碼完整性檢查等功能;安裝gcc插件后,支持C++11標(biāo)準(zhǔn),能夠進(jìn)行斷點(diǎn)調(diào)試,非常適合初學(xué)者使用。下面以使用cin及cout語句進(jìn)行輸入輸出的程序?yàn)槔?,介紹使用C4droid進(jìn)行編程的過程。首先,打開軟件并新建一個(gè)cpp文件,在編輯窗口中編寫C/C++程序,在編輯窗口的最下端,有“編譯”及“運(yùn)行”兩個(gè)控制命令按鈕,如圖1所示。
圖1 程序編輯窗口
程序編輯完成后,執(zhí)行“編譯”命令對(duì)程序進(jìn)行語法檢查,若程序無語法問題,則會(huì)提示“編譯成功”;若存在語法問題,會(huì)給出錯(cuò)誤提示。例如,將語句“sum=a+b;”后面的“;”去掉,則會(huì)給出圖2所示的錯(cuò)誤信息提示。需要注意的是,對(duì)于存在多個(gè)語法錯(cuò)誤的程序,C4droid每次只會(huì)顯示一個(gè)錯(cuò)誤,需要通過多次編譯才能發(fā)現(xiàn)并解決所有的問題。
圖2 錯(cuò)誤信息提示示例
程序編譯通過后,點(diǎn)擊“運(yùn)行”命令執(zhí)行程序,出現(xiàn)終端仿真器(Terminal Emulator)界面,從鍵盤輸入“5 6”后回車,運(yùn)行結(jié)果如圖3所示。
圖3 運(yùn)行結(jié)果示例
若發(fā)現(xiàn)運(yùn)行結(jié)果有問題,可以對(duì)程序添加斷點(diǎn)進(jìn)行調(diào)試。點(diǎn)擊行號(hào)旁邊的區(qū)域即可添加斷點(diǎn),如圖4所示。添加斷點(diǎn)后,執(zhí)行“運(yùn)行”命令可以打開調(diào)試窗口,如圖5所示。調(diào)試窗口中提供了“添加監(jiān)視”功能,可以在調(diào)試過程中實(shí)時(shí)查看程序中變量的當(dāng)前取值。例如,對(duì)上述程序中的變量“a,b,sum”添加監(jiān)視后,可以觀察3個(gè)變量在程序執(zhí)行過程中的取值變化。調(diào)試窗口中提供了“繼續(xù)、步進(jìn)、單步、斷開”4個(gè)調(diào)試功能,“繼續(xù)”是指從斷點(diǎn)處繼續(xù)向下運(yùn)行,直到遇到下一個(gè)斷點(diǎn)時(shí)暫停;“斷開”的作用是斷開所有斷點(diǎn),直接運(yùn)行至程序結(jié)尾處;“步進(jìn)”與“單步”均能從斷點(diǎn)處開始逐條語句執(zhí)行,其區(qū)別在于,遇到函數(shù)調(diào)用時(shí),“步進(jìn)”功能能夠跟蹤到被調(diào)用函數(shù)內(nèi)部執(zhí)行,而“單步”則會(huì)整體跳過函數(shù)調(diào)用語句。
圖4 添加斷點(diǎn)示例
圖5 程序調(diào)試窗口
在智能手機(jī)上安裝C4droid及其插件后即可單機(jī)運(yùn)行,不需要連接互聯(lián)網(wǎng),使用非常方便。
以智能手機(jī)為主要終端的移動(dòng)互聯(lián)網(wǎng)已經(jīng)成為人們重要的學(xué)習(xí)工具與途徑,除了可以在智能手機(jī)上安裝C/C++集成開發(fā)環(huán)境之外,在網(wǎng)絡(luò)環(huán)境下還可以利用在線C/C++編譯器進(jìn)行程序的編輯及編譯運(yùn)行。我校目前已經(jīng)實(shí)現(xiàn)了無線網(wǎng)絡(luò)的全校園覆蓋,“互聯(lián)網(wǎng)絡(luò)高速泛在”,為網(wǎng)絡(luò)在線C/C++編程提供了條件。
常用的C/C++在線編譯器有 codepad、ideone、C++ shell、dooccn、JDoodle、codechef、wandbox、TutorialsPoint、onlineGDB等,不同的在線編譯器具備的功能也不盡相同,表1給出了常用的C/C++在線編譯器在交互輸入、錯(cuò)誤信息提示、程序執(zhí)行方式等方面的對(duì)比。
表1 常用C/C++在線編譯器功能對(duì)比
C/C++在線編譯器的響應(yīng)速度視網(wǎng)速及手機(jī)性能而定,但整體比使用離線版本的編譯器編譯執(zhí)行速度慢。在線編譯器的優(yōu)點(diǎn)是無需安裝集成開發(fā)環(huán)境,在裝有瀏覽器的手機(jī)上即可使用。對(duì)上述編譯器進(jìn)行了大量實(shí)驗(yàn)測試,根據(jù)響應(yīng)速度、功能、易用性等方面的性能比較,推薦使用 C++shell、ideone、onlineGDB 3款C/C++在線編譯工具,其中,onlineGDB還具備程序調(diào)試的功能。
學(xué)生在初學(xué)程序設(shè)計(jì)時(shí),往往會(huì)遇到各種各樣的問題,并且很多問題都具有共性,如果問題得不到及時(shí)解決,會(huì)挫傷他們學(xué)習(xí)的積極性,滋生畏難情緒,逐漸喪失學(xué)習(xí)信心和興趣;相反,如果能夠及時(shí)引導(dǎo)學(xué)生圍繞這些問題積極開展討論,則會(huì)讓學(xué)生在思考、討論中對(duì)涉及到的編程知識(shí)有更深刻的認(rèn)識(shí)。QQ或微信群是當(dāng)前學(xué)生普遍采用的即時(shí)通信方式,建立C/C++討論QQ群或微信群,課程組教師及研究生助教都加入群中,學(xué)生在學(xué)習(xí)過程中遇到問題時(shí),可以及時(shí)方便地以文字或圖片(比如代碼截圖、編譯系統(tǒng)提示的錯(cuò)誤信息截圖等)的形式發(fā)到群中,教師適當(dāng)引導(dǎo),讓學(xué)生充分展開討論,體現(xiàn)出“協(xié)同學(xué)習(xí)”的優(yōu)勢[15]。討論有助于引起學(xué)生對(duì)問題的深刻思考,在理解并掌握編程知識(shí)的同時(shí),也能形成良好的學(xué)習(xí)氛圍。同時(shí),學(xué)生在提出解決方案時(shí)會(huì)獲得成就感與認(rèn)同感,能夠進(jìn)一步增強(qiáng)學(xué)生的學(xué)習(xí)興趣。
基于QQ群或微信群的即時(shí)討論建立了師生互動(dòng)、學(xué)生互動(dòng)的平臺(tái),學(xué)生遇到困惑時(shí)可以采用文字、拍照、截圖等方式快捷、直觀地提出問題,并能夠得到老師與同學(xué)們的及時(shí)響應(yīng),不會(huì)引起問題的“積壓”;同時(shí),這些問題也可以讓教師掌握學(xué)生的學(xué)習(xí)現(xiàn)狀,及時(shí)發(fā)現(xiàn)教學(xué)過程中的不足之處并進(jìn)一步改進(jìn),形成良性循環(huán)。另外,在教學(xué)實(shí)踐中發(fā)現(xiàn),平時(shí)在課堂上“沉默寡言”的同學(xué),在討論組中卻變得異常活躍,群內(nèi)討論也給這部分學(xué)生提供了良好的交流平臺(tái)。
以C4droid作為編譯工具的智能手機(jī)端編程與以C++shell、ideone等作為編譯環(huán)境的網(wǎng)絡(luò)在線編程構(gòu)成了 C/C++編程的“移動(dòng)實(shí)驗(yàn)室”,與以 Visual C++6.0作為編譯環(huán)境的實(shí)體實(shí)驗(yàn)室以及方便即時(shí)討論的QQ群或微信群共同構(gòu)成了C/C++編程的多元協(xié)同實(shí)驗(yàn)教學(xué)平臺(tái),如圖6所示。
圖6 多元協(xié)同實(shí)驗(yàn)教學(xué)平臺(tái)構(gòu)成
其中,移動(dòng)實(shí)驗(yàn)室C/C++編程適合編寫小規(guī)模程序,主要用于理論課上與課下對(duì)知識(shí)點(diǎn)及基礎(chǔ)驗(yàn)證性實(shí)驗(yàn)進(jìn)行編程驗(yàn)證,以及對(duì)設(shè)計(jì)性與創(chuàng)新性實(shí)驗(yàn)中局部代碼的驗(yàn)證,其特點(diǎn)是方便、靈活,可隨時(shí)隨地進(jìn)行編程實(shí)踐。借助移動(dòng)實(shí)驗(yàn)室,理論課教學(xué)可以采用“體驗(yàn)式”的教學(xué)方法,在講解程序設(shè)計(jì)知識(shí)的同時(shí)同步讓學(xué)生進(jìn)行編程驗(yàn)證,學(xué)生在學(xué)中做,做中學(xué),邊做邊學(xué),促進(jìn)學(xué)生對(duì)知識(shí)的深度理解,體會(huì)到編程給其帶來的成就感,增強(qiáng)學(xué)生的學(xué)習(xí)興趣,實(shí)現(xiàn)“教學(xué)做一體化”,提高課堂教學(xué)效率及效果。實(shí)體實(shí)驗(yàn)室主要用于開展綜合設(shè)計(jì)性與實(shí)踐創(chuàng)新性實(shí)驗(yàn)項(xiàng)目,在實(shí)驗(yàn)課前學(xué)生編寫出初步的代碼并利用移動(dòng)實(shí)驗(yàn)室對(duì)局部關(guān)鍵代碼進(jìn)行驗(yàn)證,在實(shí)驗(yàn)課上主要進(jìn)行程序的綜合調(diào)試及開展問題討論,有效提高實(shí)驗(yàn)課的效率。學(xué)生不論利用移動(dòng)實(shí)驗(yàn)室編程還是在實(shí)體實(shí)驗(yàn)室編程時(shí)遇到問題,都可以通過QQ群或微信群開展即時(shí)討論。
移動(dòng)實(shí)驗(yàn)室可以讓學(xué)生有效地利用碎片時(shí)間,彌補(bǔ)了現(xiàn)有實(shí)驗(yàn)教學(xué)環(huán)境及資源存在局限的不足,從時(shí)間與空間兩個(gè)維度對(duì)現(xiàn)有的實(shí)驗(yàn)教學(xué)模式進(jìn)行了拓展,改善了現(xiàn)有的實(shí)驗(yàn)教學(xué)環(huán)境,緩解了課程學(xué)時(shí)少與內(nèi)容多之間的矛盾,有助于培養(yǎng)學(xué)生的自學(xué)能力,滿足學(xué)生個(gè)性發(fā)展的需求。3種實(shí)驗(yàn)方式相輔相成,相得益彰,協(xié)同實(shí)現(xiàn)了“理實(shí)一體化”,使編程實(shí)踐貫穿整個(gè)程序設(shè)計(jì)教學(xué)及學(xué)習(xí)過程。以該實(shí)驗(yàn)平臺(tái)為基礎(chǔ),可對(duì)程序設(shè)計(jì)理論與實(shí)驗(yàn)教學(xué)在教學(xué)內(nèi)容、教學(xué)方法、考試方法等方面開展系列教學(xué)改革,不斷提升課程教學(xué)效果。
采用構(gòu)建的C/C++編程多元協(xié)同實(shí)驗(yàn)環(huán)境,改革與之相適應(yīng)的教學(xué)方法,在自動(dòng)化、測控技術(shù)與儀器兩個(gè)專業(yè)2014~2016級(jí)學(xué)生中進(jìn)行了教學(xué)實(shí)踐。結(jié)果表明,大部分學(xué)生都樂意使用移動(dòng)實(shí)驗(yàn)室編程方式,“感覺手機(jī)有了超出娛樂之外更高層次的功能”,很多學(xué)生對(duì)編程產(chǎn)生了濃厚興趣;學(xué)生在對(duì)程序設(shè)計(jì)基本知識(shí)與方法的理解、動(dòng)手編程能力、計(jì)算思維等方面,整體水平都有了明顯提高。表2中列出了未使用多元協(xié)同實(shí)驗(yàn)環(huán)境的2013級(jí)與使用該實(shí)驗(yàn)?zāi)J降?014~2016級(jí)學(xué)生在期末考試平均成績、期末考試程序設(shè)計(jì)題平均得分率以及實(shí)驗(yàn)平均成績的對(duì)比情況。
表2 編程實(shí)踐相關(guān)成績對(duì)比
由表2中的數(shù)據(jù)可以看出,隨著多元協(xié)同實(shí)驗(yàn)平臺(tái)的逐步應(yīng)用,學(xué)生的平均成績,尤其是與編程實(shí)踐緊密相關(guān)的程序設(shè)計(jì)題的得分率與實(shí)驗(yàn)課平均成績均逐年提高,從一個(gè)側(cè)面反映出構(gòu)建的實(shí)驗(yàn)平臺(tái)對(duì)程序設(shè)計(jì)課程學(xué)習(xí)的助推作用。
信息技術(shù)的快速發(fā)展為教育教學(xué)提供了越來越多的新手段,如何將更多先進(jìn)的信息技術(shù)有效融入到程序設(shè)計(jì)語言課程的教學(xué)過程中,開展系列教學(xué)改革[16],充分發(fā)揮好信息技術(shù)對(duì)教學(xué)的助推作用,為此提出并構(gòu)建了結(jié)合智能手機(jī)端編程、網(wǎng)絡(luò)在線編程與實(shí)驗(yàn)室上機(jī)實(shí)踐相結(jié)合的C/C++編程多元協(xié)同實(shí)驗(yàn)平臺(tái),強(qiáng)化對(duì)學(xué)生編程實(shí)踐能力的培養(yǎng),3種編程手段與基于QQ群或微信群的即時(shí)討論協(xié)同實(shí)現(xiàn)了理論教學(xué)與實(shí)驗(yàn)教學(xué)的良好銜接,為學(xué)生提供了多樣化的編程實(shí)踐平臺(tái),使編程實(shí)踐貫穿程序設(shè)計(jì)教學(xué)的全過程。教學(xué)實(shí)踐表明,建立的多元協(xié)同實(shí)驗(yàn)教學(xué)模式對(duì)學(xué)生編程能力及計(jì)算思維的培養(yǎng)起到了積極的促進(jìn)作用,有利于推進(jìn)學(xué)生自主學(xué)習(xí),提高課程的教學(xué)效果。