国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

程序設(shè)計(jì)教學(xué)生態(tài)建設(shè)與應(yīng)用

2021-06-25 14:17:50周會(huì)平毛新軍徐建軍
軟件導(dǎo)刊 2021年6期
關(guān)鍵詞:程序設(shè)計(jì)程序學(xué)習(xí)者

周會(huì)平,毛新軍,徐建軍

(國(guó)防科技大學(xué) 計(jì)算機(jī)學(xué)院,湖南 長(zhǎng)沙 410003)

0 引言

計(jì)算機(jī)程序設(shè)計(jì)是一門實(shí)踐性很強(qiáng)的課程,通常依托一門高級(jí)程序設(shè)計(jì)語言培養(yǎng)計(jì)算思維和問題求解能力。程序設(shè)計(jì)課程是一門容易教但又難以教好的課程,因?yàn)橹v授一門程序語言的語法和語義很容易,但培養(yǎng)學(xué)生的問題求解能力很難,特別是兼顧不同基礎(chǔ)、不同接受能力的學(xué)生培養(yǎng)更難。工程教育認(rèn)證對(duì)本科畢業(yè)要求有明確規(guī)定,其中與程序設(shè)計(jì)課程相關(guān)的有兩條[1]:①工程知識(shí):能夠?qū)?shù)學(xué)、自然科學(xué)、工程基礎(chǔ)和專業(yè)知識(shí)用于解決復(fù)雜工程問題;②使用現(xiàn)代工具:能夠針對(duì)復(fù)雜的工程問題選擇與使用恰當(dāng)?shù)募夹g(shù)、資源、現(xiàn)代工程工具和信息技術(shù)工具,包括對(duì)復(fù)雜工程問題的預(yù)測(cè)與模擬,并能夠理解其局限性。這需要依托程序設(shè)計(jì)課程培養(yǎng)兩個(gè)能力:①針對(duì)具體問題建立計(jì)算模型并求解的能力;②選擇程序語言、開發(fā)環(huán)境、輔助工具等對(duì)復(fù)雜工程問題進(jìn)行分析、設(shè)計(jì)和編程實(shí)現(xiàn)的能力。為了達(dá)成能力培養(yǎng)目標(biāo),有的老師將課程實(shí)踐和競(jìng)賽引入課堂[2],引入機(jī)試進(jìn)行課程考核改革[3],創(chuàng)建MOOC[4]、線上線下混合式教學(xué)[5]等,嘗試通過更多的編程實(shí)踐提高學(xué)生的編程能力。

國(guó)防科技大學(xué)程序設(shè)計(jì)課程依托C++語言,面向大學(xué)一年級(jí)新生,學(xué)生個(gè)體差異性很大:①基礎(chǔ)差異。有的學(xué)生中學(xué)就參加過信息類競(jìng)賽,學(xué)習(xí)過某種高級(jí)語言,掌握了一定的編程技巧;有些學(xué)生上大學(xué)前從來沒有接觸過電腦,使用電腦時(shí)畏手畏腳。讓所有學(xué)生在一起學(xué)習(xí)同樣的東西,做同樣的練習(xí),按同樣的步伐齊步走明顯不合適。面對(duì)這個(gè)問題的共識(shí)是“好的學(xué)生不需教,差的學(xué)生盡量帶,跟不上也沒辦法,只需要把大多數(shù)學(xué)生教好就算成功了”;②悟性差異。有的學(xué)生悟性強(qiáng),一點(diǎn)就透;有的學(xué)生工科思維較弱,單條語句還好理解,幾條語句放在一起理解起來就非常困難,如果沒有更多的講解、示例、討論等環(huán)節(jié),最后的結(jié)果往往是自我放棄;③性格差異。有的學(xué)生碰到問題愛問,喜歡討論;有的則喜歡自己琢磨。這些差異會(huì)導(dǎo)致隨著課程進(jìn)行,學(xué)生的兩極分化越來越嚴(yán)重。為解決這些問題,需要以學(xué)生為中心的個(gè)性化教學(xué),需要完美的教學(xué)生態(tài)去促進(jìn)學(xué)生自我激勵(lì)與自我成長(zhǎng),而這些目標(biāo)僅僅靠課堂上的講授和課后練習(xí)、答疑很難實(shí)現(xiàn)。

程序設(shè)計(jì)學(xué)習(xí)分為3 個(gè)階段:①讀程序。初學(xué)者從讀程序開始學(xué)習(xí)每一條語句的語義,嘗試?yán)斫獠⒂洃浫鍡l語句的組合語義。這個(gè)階段理解語句的語義是關(guān)鍵,如果只是淺層理解,題目稍有變化就只能靠蒙了,這也是初學(xué)者容易出現(xiàn)背程序的原因;②改程序。發(fā)現(xiàn)新問題和自己碰到的例題很像,拿例題的程序改一改來解決新問題,而這種改需要建立在對(duì)程序語句的深層理解上。改程序分為兩個(gè)階段,一是語句本身的簡(jiǎn)單修改,如常量、變量、運(yùn)算符修改等,二是語句組合,即用幾條自己熟悉的語句組合出實(shí)現(xiàn)新功能的語句序列;③寫程序。對(duì)程序語言比較熟悉,在掌握一定的程序設(shè)計(jì)方法之后就可以寫程序了。剛進(jìn)入這個(gè)階段的學(xué)生往往覺得看別人的程序很容易,但要自己寫就很困難。原因是寫程序需要掌握兩個(gè)能力,一是對(duì)問題進(jìn)行分析和計(jì)算建模的能力,也就是針對(duì)具體問題的簡(jiǎn)單算法設(shè)計(jì)能力,這時(shí)候一般還不涉及數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì),二是算法的程序?qū)崿F(xiàn)能力,學(xué)生往往因?yàn)榍啡钡谝粋€(gè)能力而無從著手。掌握計(jì)算建模能力光靠編程實(shí)踐很難,需要在實(shí)踐中慢慢體會(huì)、歸納總結(jié),往往需要幾個(gè)月甚至更久的時(shí)間。將這個(gè)能力的培養(yǎng)過程化、工程化顯得十分重要。

1 程序設(shè)計(jì)教學(xué)過程設(shè)計(jì)

如何根據(jù)教學(xué)目標(biāo)設(shè)計(jì)科學(xué)、合理、可行的教學(xué)過程是課程教學(xué)的前提。程序設(shè)計(jì)教學(xué)過程不僅要滿足計(jì)算思維和問題求解能力的培養(yǎng),還要綜合考慮學(xué)生水平、課程特點(diǎn)、學(xué)時(shí)安排和各種實(shí)際條件。本文設(shè)計(jì)了包含3 個(gè)階段的程序設(shè)計(jì)教學(xué)過程,循序漸進(jìn)、逐步提升,以達(dá)成學(xué)生能力和素養(yǎng)的培養(yǎng)目標(biāo),并對(duì)支撐教學(xué)過程的教學(xué)生態(tài)提出需求,如圖1 所示。

Fig.1 Teaching process of programming course圖1 程序設(shè)計(jì)課程教學(xué)過程

1.1 讀程序到改程序

這是課程教學(xué)的第一階段。教學(xué)內(nèi)容為程序的控制結(jié)構(gòu)和函數(shù)部分,從讀程序入手逐步實(shí)現(xiàn)改程序能力的培養(yǎng)。這一階段學(xué)生的學(xué)習(xí)積極性培養(yǎng)和維持至關(guān)重要,而學(xué)習(xí)積極性主要來自不斷解決新問題的成就感。為了實(shí)現(xiàn)讀程序到改程序能力的進(jìn)階,也為了提升興趣、夯實(shí)基礎(chǔ),要求學(xué)生做到:①手輸教材上的例子,對(duì)于不完整的程序補(bǔ)全初始化和輸出語句,在IDE 上編譯運(yùn)行,幫助學(xué)生熟練掌握語言語法和程序結(jié)構(gòu);②對(duì)于沒把握的程序,要求學(xué)生通過微小的修改來體會(huì)該語法在不同狀況下的執(zhí)行結(jié)果,以全面理解該語法的語義。如求余運(yùn)算符%,讓學(xué)生嘗試正負(fù)整數(shù)、浮點(diǎn)數(shù)求余時(shí)的結(jié)果或報(bào)錯(cuò)信息;③要求學(xué)生掌握基本的跟蹤調(diào)試技能,能用單步跟蹤方法跟蹤選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)的執(zhí)行過程。

為達(dá)成上述教學(xué)目標(biāo),需要建設(shè)支持能力進(jìn)階培養(yǎng)的實(shí)戰(zhàn)實(shí)訓(xùn)。程序控制結(jié)構(gòu)部分的實(shí)訓(xùn)以代碼修改為主,函數(shù)部分的實(shí)訓(xùn)則側(cè)重于功能的分解和組合。例如要完成某個(gè)實(shí)訓(xùn),學(xué)生可能只需要增加幾條相同的語句、改變表達(dá)式的運(yùn)算符或操作數(shù)、改變分支或循環(huán)的條件、改變循環(huán)執(zhí)行的邊界、組合幾條熟悉的語句就可實(shí)現(xiàn)新的功能,將一個(gè)功能分解成2 個(gè)或3 個(gè)函數(shù)實(shí)現(xiàn)等等。需要從語言、編譯器、計(jì)算機(jī)系統(tǒng)多個(gè)角度對(duì)程序進(jìn)行講解,錄制視頻或編寫圖文結(jié)合的資料供學(xué)生隨時(shí)查看,以促進(jìn)學(xué)生對(duì)程序的深層次理解。

1.2 改程序到寫程序

程序設(shè)計(jì)課程第二階段是簡(jiǎn)單數(shù)據(jù)結(jié)構(gòu)部分,實(shí)現(xiàn)從改程序到寫程序的能力培養(yǎng),獨(dú)立完成第一階段的實(shí)訓(xùn)就可以進(jìn)入這一階段。第二階段由于引入了新的內(nèi)容,需要進(jìn)一步夯實(shí)改程序在數(shù)據(jù)組織和結(jié)構(gòu)化數(shù)據(jù)操作上的應(yīng)用能力,同時(shí)逐步培養(yǎng)問題分析和計(jì)算建模的能力。不管是示例還是實(shí)訓(xùn),問題的描述都從之前的描述計(jì)算過程方式逐步轉(zhuǎn)變到問題本身,如之前描述問題要用完整的偽碼表示,這里則逐步減少描述問題的偽碼層數(shù),直到完全不涉及任何計(jì)算方法,通過留給學(xué)生足夠思考空間的方式培養(yǎng)學(xué)生的問題分析和算法設(shè)計(jì)能力。

為達(dá)成上述教學(xué)目標(biāo),在視頻錄制時(shí)需要逐步增加問題分析和計(jì)算過程設(shè)計(jì)的比重。結(jié)構(gòu)化數(shù)據(jù)的深層次理解離不開數(shù)據(jù)表示的底層細(xì)節(jié),需要在視頻和測(cè)試中講解和反復(fù)訓(xùn)練。實(shí)訓(xùn)設(shè)計(jì)要體現(xiàn)結(jié)構(gòu)化數(shù)據(jù)的設(shè)計(jì)、操作、評(píng)價(jià)、優(yōu)化,同時(shí)培養(yǎng)寫程序能力,以綜合性的實(shí)訓(xùn)案例檢測(cè)寫程序階段成效。

1.3 寫程序

程序設(shè)計(jì)第三階段是綜合提升階段,要全面培養(yǎng)學(xué)生的問題求解能力,即問題分析、計(jì)算建模、算法設(shè)計(jì)、編程實(shí)現(xiàn)、測(cè)試調(diào)試能力。①組織課堂研討。對(duì)給定的問題給出算法設(shè)計(jì),博采他人之長(zhǎng),拓寬自己的思路;②調(diào)試能力培養(yǎng)。針對(duì)邏輯較復(fù)雜、運(yùn)行結(jié)果易出錯(cuò)的程序,讓學(xué)生用跟蹤調(diào)試的方法找出其中的邏輯錯(cuò)誤;③結(jié)合線性結(jié)構(gòu)和文件,盡可能接近實(shí)際問題進(jìn)行設(shè)計(jì),提高單個(gè)程序代碼量,全面提高學(xué)生程序設(shè)計(jì)能力。

為配合第三階段教學(xué),需要以案例教學(xué)的方式講授模塊化程序設(shè)計(jì)方法和數(shù)據(jù)結(jié)構(gòu)設(shè)計(jì)方法,實(shí)戰(zhàn)實(shí)訓(xùn)以較大規(guī)模的綜合題為主,分多個(gè)關(guān)卡實(shí)施,讓學(xué)生在闖關(guān)過程中學(xué)習(xí)程序設(shè)計(jì)方法和程序架構(gòu)。

有效完成課程教學(xué),達(dá)成課程教學(xué)目標(biāo),必須要有相應(yīng)的教學(xué)資源和教學(xué)輔助工具支撐。①程序設(shè)計(jì)課程教學(xué)質(zhì)量往往依賴于任課教師和教輔的水平、耐心、投入的時(shí)間和精力等,同樣的教學(xué)資源和教學(xué)方法可能在某個(gè)班教學(xué)效果良好,在另一個(gè)班則效果一般,需要借助群智學(xué)習(xí)力量盡量減少對(duì)教師和教輔的依賴度;②學(xué)生初始水平、悟性和性格差異性大,按同一進(jìn)度授課只能照顧到學(xué)生中的大多數(shù),好的學(xué)生大多只能自學(xué),而跟不上的學(xué)生慢慢就會(huì)放棄,需要支持不同進(jìn)度、采用不同學(xué)習(xí)方法的學(xué)生進(jìn)行自主學(xué)習(xí);③分階段的實(shí)戰(zhàn)訓(xùn)練及能力進(jìn)階需要精心設(shè)計(jì)的實(shí)訓(xùn)項(xiàng)目支撐,結(jié)果的評(píng)測(cè)更是工作量巨大,需要自動(dòng)化工具支撐;④為滿足不同條件下不同學(xué)生對(duì)程序設(shè)計(jì)課程的需求,學(xué)習(xí)資源和學(xué)習(xí)支撐工具需要不斷演化,持續(xù)改進(jìn)。為滿足課程教學(xué)需求,筆者所在課程組建設(shè)了程序設(shè)計(jì)教學(xué)生態(tài)。

2 程序設(shè)計(jì)教學(xué)生態(tài)建設(shè)

教學(xué)生態(tài)應(yīng)該是一個(gè)開放的、多樣化的、充滿生機(jī)、相互依賴并具有適應(yīng)性的體系,會(huì)從物質(zhì)和心理兩個(gè)方面影響教師、學(xué)生等主體[6]。程序設(shè)計(jì)教學(xué)生態(tài)建設(shè)包括硬軟兩個(gè)方面,硬指課程資源、平臺(tái)和工具建設(shè),軟指如何組織使用好這些資源,使之成為一個(gè)真正為程序設(shè)計(jì)教學(xué)服務(wù)的好生態(tài)。目前,課程建設(shè)大多關(guān)注硬的方面,軟的方面相對(duì)關(guān)注較少,基本上是教師主導(dǎo)課堂,而良好的教學(xué)生態(tài)應(yīng)該以學(xué)生學(xué)習(xí)為中心。

近年來,利用互聯(lián)網(wǎng)上海量用戶及其智慧來解決各類問題的群智方法得到了廣泛應(yīng)用,如基于大眾開發(fā)的開源軟件、基于眾籌眾智的大眾創(chuàng)業(yè)等,該方法也被用在了教學(xué)領(lǐng)域,解決軟件工程的開放式實(shí)踐教學(xué)問題[7]。程序設(shè)計(jì)教學(xué)面臨著諸如學(xué)生基礎(chǔ)和學(xué)習(xí)能力差異性問題,使以學(xué)生為中心的個(gè)性化教學(xué)很難實(shí)施,教師只能通過分析跟蹤學(xué)生的情況照顧大多數(shù),超前和落后的學(xué)生只能偶爾顧及甚至完全放手。受群智方法啟發(fā),可以建設(shè)全面支持自主學(xué)習(xí)的程序設(shè)計(jì)教學(xué)生態(tài),吸引本班、本校、其它高校甚至社會(huì)學(xué)習(xí)者一起,不管學(xué)生處于哪個(gè)學(xué)習(xí)階段,都有指導(dǎo)自己如何進(jìn)一步學(xué)習(xí)的資源、平臺(tái),有相互討論交流的學(xué)習(xí)群體;教師則為學(xué)生規(guī)劃學(xué)習(xí)路徑,通過自動(dòng)化工具跟蹤每個(gè)學(xué)生的學(xué)習(xí)情況,并給予適當(dāng)?shù)亩酱俸鸵龑?dǎo)。程序設(shè)計(jì)教學(xué)生態(tài)建設(shè)包括伴隨式的實(shí)戰(zhàn)實(shí)訓(xùn)、MOOC 和學(xué)習(xí)空間等。

2.1 面向能力培養(yǎng)的實(shí)訓(xùn)課程

課程實(shí)戰(zhàn)實(shí)訓(xùn)依托頭歌平臺(tái)建設(shè),URL 是https://www.educoder.net/paths/3,它為程序設(shè)計(jì)課程提供了大量的實(shí)戰(zhàn)實(shí)訓(xùn)題庫(kù),支持公開課、SPOC、作業(yè)發(fā)布、自動(dòng)評(píng)測(cè)、學(xué)習(xí)情況實(shí)時(shí)跟蹤和統(tǒng)計(jì)、問卷調(diào)查、測(cè)試和考試組織等,如圖2所示。實(shí)訓(xùn)課程分為3 個(gè)階段,分別測(cè)重于改程序、寫程序和綜合實(shí)踐能力的培養(yǎng)。實(shí)訓(xùn)采用游戲攻關(guān)模式,較大的題目可以分解成多個(gè)關(guān)卡,每個(gè)關(guān)卡植入相關(guān)的編程知識(shí)和技巧。每個(gè)實(shí)訓(xùn)都分為理論知識(shí)和實(shí)訓(xùn)實(shí)戰(zhàn)兩個(gè)部分,知識(shí)部分講述本關(guān)卡植入的程序語言知識(shí)和編程技巧,學(xué)生需要學(xué)習(xí)掌握相關(guān)知識(shí),完成關(guān)卡的實(shí)訓(xùn)實(shí)戰(zhàn)才能進(jìn)入下一個(gè)關(guān)卡,如果實(shí)在做不出也可以選擇看答案,教師可以設(shè)置看答案后的扣分標(biāo)準(zhǔn)。這種組織方式能很好地展開如何使用模塊化的增量式程序設(shè)計(jì)方法解決較復(fù)雜的問題。

Fig.2 Home page of open course of practical training course圖2 實(shí)訓(xùn)課程公開課首頁(yè)

(1)課堂組織。支持開設(shè)開放課程和SPOC 課程。開放課程只要注冊(cè)網(wǎng)站就可以加入學(xué)習(xí),SPOC 課程針對(duì)教學(xué)班組織,教師可以通過邀請(qǐng)碼邀請(qǐng)學(xué)生和教輔加入,可以通過修改人員身份來改變其權(quán)限。

(2)實(shí)訓(xùn)和作業(yè)發(fā)布。支持按時(shí)發(fā)布實(shí)訓(xùn)作業(yè)和普通作業(yè),教師可以設(shè)置每一個(gè)實(shí)訓(xùn)的截止時(shí)間、每一個(gè)關(guān)卡的分?jǐn)?shù),可以設(shè)置查看答案、延期提交的扣分等。學(xué)生可以多次提交,系統(tǒng)進(jìn)行實(shí)時(shí)評(píng)測(cè)并給出評(píng)測(cè)結(jié)果。

(3)學(xué)情實(shí)時(shí)跟蹤。支持實(shí)時(shí)跟蹤統(tǒng)計(jì)每個(gè)學(xué)生的作業(yè)完成情況、提交次數(shù)、課堂活躍度、每個(gè)實(shí)訓(xùn)的完成情況等。

(4)測(cè)試和考試組織。教師可以使用題庫(kù)組卷組織線上測(cè)試或考試,可以自己創(chuàng)建新題,也可以把實(shí)訓(xùn)的某個(gè)關(guān)卡組織進(jìn)試卷。

2.2 深度解析程序語言的MOOC

計(jì)算機(jī)程序設(shè)計(jì)MOOC 依托學(xué)堂在線建設(shè),URL 是https://www.xuetangx.com/course/NUDT08091001138/58822 53,為學(xué)習(xí)者提供了課程全部?jī)?nèi)容的講授視頻,每個(gè)視頻后面都有針對(duì)關(guān)鍵知識(shí)點(diǎn)的隨堂測(cè)試,如圖3 所示。

(1)程序語言知識(shí)的系統(tǒng)性。實(shí)訓(xùn)實(shí)戰(zhàn)是培養(yǎng)程序設(shè)計(jì)能力的關(guān)鍵,但從實(shí)戰(zhàn)入手,植入的知識(shí)和編程技巧在系統(tǒng)性上難免會(huì)有所欠缺。如數(shù)組與地址的關(guān)系等一些難以在實(shí)訓(xùn)中體現(xiàn)的知識(shí),需要結(jié)合講授、測(cè)驗(yàn)、編程體會(huì)等方法才能獲得較深層次的理解。

(2)理論促進(jìn)實(shí)踐。編寫優(yōu)質(zhì)程序需要對(duì)程序語言有深層次的理解,對(duì)于一些重要內(nèi)容從語言、編譯器、計(jì)算機(jī)系統(tǒng)多個(gè)角度進(jìn)行講解并反復(fù)測(cè)驗(yàn)。如指針操作時(shí)的內(nèi)存管理和操作流程等,學(xué)生需要從編譯器和計(jì)算機(jī)系統(tǒng)的角度去理解才能有效掌握。

Fig.3 Learning page of computer programming MOOC圖3 計(jì)算機(jī)程序設(shè)計(jì)MOOC 學(xué)習(xí)頁(yè)面

2.3 學(xué)習(xí)空間

程序設(shè)計(jì)課程的學(xué)習(xí)空間依托知士薈建設(shè),URL 是https://learnerhub.net/#/spaces/478,它可以讓學(xué)習(xí)者圍繞C++程序設(shè)計(jì)開展交流、討論和分享,只要是注冊(cè)知士薈的用戶都可以加入學(xué)習(xí)空間一起交流學(xué)習(xí),如圖4 所示。

Fig.4 Home page of programming course learning space圖4 程序設(shè)計(jì)課程學(xué)習(xí)空間首頁(yè)

(1)群智學(xué)習(xí)。課程利用學(xué)習(xí)空間開展群智學(xué)習(xí),加入學(xué)習(xí)空間的學(xué)習(xí)者可以圍繞C++程序設(shè)計(jì)開展群體化學(xué)習(xí),如提出問題、回答問題、貢獻(xiàn)學(xué)習(xí)資源、下載學(xué)習(xí)資源、投票、點(diǎn)贊等,進(jìn)而支持學(xué)習(xí)者進(jìn)行自主學(xué)習(xí)。將實(shí)訓(xùn)和MOOC 開放課程的學(xué)習(xí)者引導(dǎo)到學(xué)習(xí)空間,與SPOC 課程、線上線下混合開課的學(xué)生一起就課程學(xué)習(xí)開展討論交流。

(2)基于群組的學(xué)習(xí)者管理。學(xué)習(xí)空間管理員可以通過創(chuàng)建群組來組織和管理學(xué)習(xí)者,匯聚具有共同學(xué)習(xí)目標(biāo)和學(xué)習(xí)興趣的學(xué)習(xí)者。群組管理者擁有群組成員和學(xué)習(xí)空間的管理權(quán)限,可以發(fā)布群組公告,也可以跟蹤每一個(gè)群組成員的活動(dòng)軌跡,統(tǒng)計(jì)每個(gè)成員某個(gè)時(shí)間段的發(fā)帖數(shù)、回帖數(shù)、點(diǎn)贊數(shù)、資源貢獻(xiàn)數(shù)、在線時(shí)長(zhǎng)等信息。

3 教學(xué)生態(tài)成效分析

資源和平臺(tái)建設(shè)只是教學(xué)生態(tài)的硬件,如何有效組織、管理和使用則是教學(xué)生態(tài)的軟件。2020 年春季,兩個(gè)教學(xué)班共150 名學(xué)生基于頭歌實(shí)訓(xùn)課程開設(shè)了SPOC,關(guān)閉了同期學(xué)堂在線和頭歌面向社會(huì)開設(shè)的開放課程討論區(qū),將討論交流引導(dǎo)到知士薈的學(xué)習(xí)空間。由于疫情原因,兩個(gè)教學(xué)班基于雨課堂進(jìn)行線上教學(xué)。為了更好地用好課程學(xué)習(xí)生態(tài),設(shè)計(jì)了如圖5 所示的教學(xué)模式。

Fig.5 Course teaching mode based on programming teaching ecology圖5 基于程序設(shè)計(jì)教學(xué)生態(tài)的課程教學(xué)模式

(1)學(xué)生實(shí)名注冊(cè)實(shí)訓(xùn)SPOC、MOOC 和學(xué)習(xí)空間。

(2)在學(xué)習(xí)空間為兩個(gè)教學(xué)班分別創(chuàng)建群組,方便學(xué)情統(tǒng)計(jì)和查詢學(xué)生關(guān)注的問題,讓教輔加入兩個(gè)群組,負(fù)責(zé)整個(gè)學(xué)習(xí)空間的交流答疑。

(3)安排每次課的教學(xué)內(nèi)容,每次課前布置本次課內(nèi)容相關(guān)的實(shí)訓(xùn)作業(yè)和MOOC 任務(wù)。要求實(shí)訓(xùn)作業(yè)必做,MOOC 視頻按重要性分為必看和選看。如果學(xué)生通過實(shí)訓(xùn)實(shí)戰(zhàn)認(rèn)為自己已經(jīng)掌握了某部分知識(shí),則對(duì)應(yīng)的選看視頻可以不看,但視頻后面的隨堂測(cè)試必須做。

(4)課堂教學(xué)采用線上翻轉(zhuǎn)課堂,教師在課前查看學(xué)生實(shí)訓(xùn)完成情況和學(xué)習(xí)空間主要關(guān)注的問題,找出課程的重難點(diǎn)并對(duì)上課內(nèi)容進(jìn)行微調(diào)。課堂教學(xué)分4 個(gè)部分:①課堂前測(cè)通過選擇題或填空題檢測(cè)學(xué)生基本知識(shí)掌握情況;②重難點(diǎn)講解根據(jù)學(xué)生學(xué)習(xí)情況選擇一到兩個(gè)知識(shí)點(diǎn)進(jìn)行詳細(xì)講授,就學(xué)生關(guān)注的問題進(jìn)行討論,為需要進(jìn)一步學(xué)習(xí)的學(xué)生提供視頻或其它學(xué)習(xí)資源;③隨堂實(shí)踐一般要求應(yīng)用本次課的知識(shí)和編程技巧編寫完整的程序,要給隨堂實(shí)踐留下足夠的時(shí)間并隨后進(jìn)行簡(jiǎn)單講解;④課后檢測(cè)學(xué)生重難點(diǎn)知識(shí)掌握情況,同時(shí)指導(dǎo)學(xué)生課后復(fù)習(xí),布置下次課的學(xué)習(xí)內(nèi)容。

以前,課程答疑交流基本靠上機(jī)時(shí)間與教輔的面對(duì)面答疑以及微信群的線上答疑,由于線上授課不能安排線下答疑,微信群的答疑也讓教輔盡量往學(xué)習(xí)空間引導(dǎo)。由于習(xí)慣原因,第一周學(xué)習(xí)空間發(fā)帖數(shù)只有5 個(gè),大量的問題還是在微信群。從第二周開始,微信群慢慢安靜下來,學(xué)習(xí)空間的發(fā)帖數(shù)逐漸增多。前兩三周主要是教師和教輔回貼解答問題,慢慢地幾個(gè)學(xué)生活躍起來,幾乎承包了學(xué)習(xí)空間所有問題的回答,教師和教輔的參與越來越少。將網(wǎng)上資源如CSDN 和StackOverflow 推薦給優(yōu)秀學(xué)生,他們碰到疑難問題也會(huì)到互聯(lián)網(wǎng)上尋求幫助。課程結(jié)束后,對(duì)兩個(gè)教學(xué)班150 名學(xué)生進(jìn)行問卷調(diào)查,幾乎所有學(xué)生都參與了學(xué)習(xí)空間并得到有效幫助,大多數(shù)學(xué)生習(xí)慣于從學(xué)習(xí)空間獲取幫助而不是提供幫助,見圖6(彩圖掃OSID 碼可見,下同)。

Fig.6 Questionnaire survey on students'use of learning space圖6 學(xué)生使用學(xué)習(xí)空間的問卷調(diào)查

教學(xué)生態(tài)建設(shè)主要為學(xué)生創(chuàng)建一個(gè)自主學(xué)習(xí)的環(huán)境,培養(yǎng)學(xué)生主動(dòng)學(xué)習(xí)的能力,從而實(shí)現(xiàn)真正的個(gè)性化教學(xué)。期望學(xué)習(xí)者能共同構(gòu)建一個(gè)活躍的學(xué)習(xí)環(huán)境,能喜歡這種學(xué)習(xí)氛圍,在學(xué)習(xí)過程中碰到問題能及時(shí)得到幫助,知道自己想學(xué)什么并能獲取合適的學(xué)習(xí)資源。課程結(jié)束后,關(guān)于教學(xué)生態(tài)的問卷調(diào)查顯示,大多數(shù)學(xué)生都能利用該生態(tài)進(jìn)行自主學(xué)習(xí),并能得到相關(guān)幫助,學(xué)生的學(xué)習(xí)積極性和教學(xué)效果都有了較大提高,如圖7 所示。

Fig.7 Questionnaire survey on the whole teaching ecology圖7 教學(xué)生態(tài)問卷調(diào)查

教學(xué)生態(tài)應(yīng)該是一個(gè)開放、活躍、自治的自主學(xué)習(xí)環(huán)境。將頭歌和學(xué)堂在線加入開放課程,把社會(huì)學(xué)習(xí)者引進(jìn)學(xué)習(xí)空間,希望其它高校能依托實(shí)訓(xùn)課程開設(shè)的SPOC 加入到學(xué)習(xí)空間,但實(shí)際效果并不好。雖然有600 多人注冊(cè)了學(xué)習(xí)空間,但根據(jù)課程結(jié)束后系統(tǒng)后臺(tái)數(shù)據(jù)統(tǒng)計(jì)結(jié)果,社會(huì)學(xué)習(xí)者加入學(xué)習(xí)空間后的參與度很低,活躍人數(shù)只有10 余人,如圖8 所示。

Fig.8 Comparative study on the participation of students and social learners圖8 本校課堂學(xué)生與社會(huì)學(xué)習(xí)者參與情況對(duì)比

4 結(jié)語

程序設(shè)計(jì)課程語言容易教,但計(jì)算思維和問題求解能力培養(yǎng)很難,面對(duì)不同基礎(chǔ)、不同接受能力的學(xué)生培養(yǎng)更難。好的學(xué)生“吃不飽”、不用教,差的學(xué)生跟不上、教不了,導(dǎo)致這個(gè)問題的原因不是教師水平不夠、投入不多,而是未找到以學(xué)生為中心的因材施教個(gè)性化教學(xué)方法。本文提出建設(shè)程序設(shè)計(jì)教學(xué)生態(tài),充分利用各種教學(xué)資源和自動(dòng)化輔助工具,依靠群智學(xué)習(xí)方法構(gòu)建自主學(xué)習(xí)環(huán)境,教師從教學(xué)的主導(dǎo)者變成學(xué)生自主學(xué)習(xí)的引導(dǎo)者、組織者和管理者,從而實(shí)現(xiàn)真正的個(gè)性化教學(xué),達(dá)到為每個(gè)人單獨(dú)鋪設(shè)一條能力培養(yǎng)路徑的目標(biāo)。

教學(xué)生態(tài)應(yīng)該是一個(gè)能自我演變完善的系統(tǒng),對(duì)于學(xué)習(xí)者關(guān)注度很高的問題要在實(shí)訓(xùn)和MOOC 中加強(qiáng),各種資源庫(kù)和問答庫(kù)的內(nèi)容會(huì)越來越豐富,筆者學(xué)?;谏鲜龇椒ㄟM(jìn)行的教學(xué)改革和探索成效顯著。通過實(shí)踐,筆者認(rèn)為生態(tài)的開放性還需要進(jìn)一步加強(qiáng)。如何有效引導(dǎo)社會(huì)學(xué)習(xí)者加入進(jìn)來,如何有效利用互聯(lián)網(wǎng)上已有資源提高學(xué)習(xí)效率還需深入研究。

猜你喜歡
程序設(shè)計(jì)程序學(xué)習(xí)者
你是哪種類型的學(xué)習(xí)者
基于Visual Studio Code的C語言程序設(shè)計(jì)實(shí)踐教學(xué)探索
十二星座是什么類型的學(xué)習(xí)者
從細(xì)節(jié)入手,談PLC程序設(shè)計(jì)技巧
電子制作(2019年9期)2019-05-30 09:42:04
試論我國(guó)未決羈押程序的立法完善
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
漢語學(xué)習(xí)自主學(xué)習(xí)者特征初探
高職高專院校C語言程序設(shè)計(jì)教學(xué)改革探索
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
达州市| 鄯善县| 介休市| 石楼县| 咸阳市| 松滋市| 栾川县| 太仆寺旗| 吴堡县| 河北省| 乳山市| 渭南市| 公主岭市| 济宁市| 斗六市| 花莲市| 台北市| 连山| 勐海县| 封开县| 竹山县| 宜昌市| 宁海县| 宝坻区| 临高县| 龙山县| 靖江市| 基隆市| 永定县| 甘肃省| 黄浦区| 姚安县| 西丰县| 夹江县| 沧州市| 巴中市| 长白| 德令哈市| 永昌县| 师宗县| 克拉玛依市|