航天工程大學(xué) 王 琳 張學(xué)波 李晉麗
新一輪的課程改革對《大學(xué)計算機基礎(chǔ)》課程提出了新的要求,從內(nèi)容上,改變以往陳舊的計算機教學(xué)理念和知識結(jié)構(gòu);從目標(biāo)角度,更加重視學(xué)生信息素養(yǎng)的培養(yǎng),把信息素養(yǎng)放在學(xué)生基本素養(yǎng)培養(yǎng)的首要位置;從理念上,將計算思維的培養(yǎng)作為課程的最終目標(biāo)。進(jìn)而,在知識結(jié)構(gòu)上,改革后的《大學(xué)計算機基礎(chǔ)》將基礎(chǔ)的操作知識作為學(xué)生自學(xué)的內(nèi)容,大幅度增加計算機專業(yè)知識,選擇Python作為編程語言,覆蓋“算法”、“信息編碼”、“計算機組成原理”、“操作系統(tǒng)”、“數(shù)據(jù)庫”和“計算機網(wǎng)絡(luò)”等計算機領(lǐng)域的綜合知識。
雖然改革后課程為學(xué)生提供了廣泛的計算機基礎(chǔ)知識,但同時存在知識面廣、難度大,層次多等問題,尤其Python程序設(shè)計對初學(xué)者絕非易事,而且課時較少。要想在有限的時間內(nèi),掌握眾多的計算機專業(yè)知識,并形成相應(yīng)的編程能力,對很多學(xué)生來說無疑是一次的艱難的挑戰(zhàn)。
課程組從2018年開始進(jìn)行課程建設(shè),并承擔(dān)課程改革任務(wù)。在很長的時間內(nèi),實際教學(xué)沒有從傳統(tǒng)的教學(xué)模式中脫離出來。為了讓學(xué)生掌握更多的知識,課堂仍然采取滿堂灌,填鴨式的傳統(tǒng)教學(xué)方法;課堂節(jié)奏快,內(nèi)容多,組織形式單一?;趥鹘y(tǒng)模式,在授課時,采取講細(xì)講透的原則,尤其在對教材中程序示例的講解時,從而忽略了學(xué)生自主學(xué)習(xí)的能力,沒有給足學(xué)生內(nèi)化吸收知識的時間。由于沒有重視學(xué)生的主體地位,導(dǎo)致學(xué)生的積極性提不上來。學(xué)生計算思維塑造慢,程序設(shè)計水平提高緩慢,對于一些基礎(chǔ)薄弱的學(xué)生,或者編寫程序沒有思路,或者導(dǎo)致程序執(zhí)行錯誤;進(jìn)而容易產(chǎn)生畏難情緒,學(xué)習(xí)一直處于被動狀態(tài)。
從承擔(dān)課程改革任務(wù)開始到至今,已講授了三期本科班,期間不斷組織議教等活動,教師之間也不斷的進(jìn)行探討交流,不斷嘗試創(chuàng)新,獲得一些突破。
對分課堂是復(fù)旦大學(xué)心理學(xué)教授張學(xué)新提出的新型教學(xué)模式,是在整合了講授式課堂和討論式課堂各自優(yōu)勢的基礎(chǔ)上提出的。對分課堂的核心理念是把一半課堂時間分配給教師講授,另一半時間分配給學(xué)生以討論的形式進(jìn)行交互學(xué)習(xí)。在講授過程中,對分強調(diào)“精講留白”,即教師只講授框架、重點和難點,將那些通過課后復(fù)習(xí)就能夠理解的知識,留給學(xué)生課后自學(xué)。在時間上,“對分課堂”劃分為三個清晰分離的過程,分別為講授、內(nèi)化和吸收、討論。
無論對學(xué)生還是對教師來說,學(xué)習(xí)最好的效果就是會提問題,提出高水平的問題,并學(xué)會解決問題。而這一切的前提是:必須做到對知識足夠的內(nèi)化和吸收,進(jìn)而能夠思考討論,利用所學(xué)知識解決實際問題。
將對分課堂模式引入《大學(xué)計算機基礎(chǔ)》課程,可以有效地改變學(xué)生的學(xué)習(xí)狀態(tài),化被動學(xué)習(xí)為主動學(xué)習(xí),從滿堂灌到自主消化吸收,從被動接受知識到主動思考問題。把課堂劃分為講授、內(nèi)化吸收、討論三個階段,將師生角色進(jìn)行重新定位,給予學(xué)生充足的自主學(xué)習(xí)和思考的時間,降低學(xué)生的畏難情緒,提升學(xué)生的積極性和參與度,促進(jìn)學(xué)生之間、師生之間的互動交流,提高學(xué)生利用計算思維解決實際問題的能力。
在《大學(xué)計算機基礎(chǔ)》課程中,第五章計算機硬件系統(tǒng)部分被安排了4學(xué)時,其中理論2學(xué)時,實驗2學(xué)時。這一章要求學(xué)生在了解計算機系統(tǒng)的組成、理解系統(tǒng)各部分作用和馮·諾依曼體系結(jié)構(gòu)的基礎(chǔ)上,能夠利用Python構(gòu)建馮·諾依曼體系結(jié)構(gòu)模擬器,進(jìn)而理解馮·諾依曼體系結(jié)構(gòu)計算機硬件系統(tǒng)的工作機制。該章節(jié)對學(xué)生而言,理論知識抽象,實踐難度較大,要求學(xué)生在較短的時間內(nèi)對計算機系統(tǒng)的組成及工作原理有一個較為全面的認(rèn)知,并在此基礎(chǔ)上編寫Python程序。
下面以Python構(gòu)建馮·諾依曼體系結(jié)構(gòu)模擬器實驗為例,將對分課堂引入實驗教學(xué)中,從講授、內(nèi)化吸收、討論、實踐四個環(huán)節(jié)對課堂進(jìn)行重新設(shè)計,并應(yīng)用于實際的教學(xué)中。
該實驗是利用Python構(gòu)建馮·諾依曼體系結(jié)構(gòu)模擬器,首先要求學(xué)生理解馮·諾依曼體系結(jié)構(gòu),理解現(xiàn)代計算機的工作原理,然后,根據(jù)實驗的任務(wù)和要求,設(shè)計程序思路并編寫Python程序,最后上機實踐加以驗證。在前期的課堂中,已經(jīng)講授了兩學(xué)時的計算機硬件系統(tǒng)的理論知識,為了讓學(xué)生打好實驗基礎(chǔ),上課前的10min,教師首先對該部分知識進(jìn)行回顧,再利用10min發(fā)布雨課堂進(jìn)行隨堂測試,鞏固所學(xué)知識。接下來的10min,以精講+留白的方式進(jìn)行講解,考慮到是實驗,精講時間不宜過長,由于實驗內(nèi)容較為抽象,所以重難點內(nèi)容講到位,并且提出留白問題,讓留白顯化,從而引導(dǎo)學(xué)生對“寄存器”、“存儲器”、“指令”、“指令集”等重要概念的掌握,以及對“指令執(zhí)行過程”、“模擬器工作原理”的理解。
知識的內(nèi)化需要一個過程,簡單的知識可以在課堂的講解過程中內(nèi)化,但抽象復(fù)雜的知識如果說在課堂上已被內(nèi)化,那僅僅停留在表面,并不能被真正的吸收。因此,這個環(huán)節(jié)給了學(xué)生獨立學(xué)習(xí)、獨立思考、獨自解惑的時間,教師在精講+留白后,學(xué)生在這個時間段結(jié)合精講要點,通過仔細(xì)閱讀教材,對馮·諾依曼體系結(jié)構(gòu)模擬器的結(jié)構(gòu)有了整體的認(rèn)識,理解了該模擬器下的指令集中指令的含義及用法,并完成教師提出的留白問題,學(xué)會利用該指令集獨立設(shè)計一段程序?qū)崿F(xiàn)一定的功能。
完成以上任務(wù)后,知識進(jìn)階,難度加大,學(xué)生需要學(xué)會利用Python構(gòu)建模擬器的工作過程,首先需要為該模擬器建模,包括對內(nèi)存、寄存器和顯示器的建模,建模的過程也是利用Python組織數(shù)據(jù)結(jié)構(gòu)的過程。接下來,需要利用建模后的計算機模擬程序的運行機理,包括如何將文件中的程序讀入內(nèi)存、將程序計數(shù)器指向內(nèi)存中的第一條指令、并取指令到指令寄存器,完成譯碼、執(zhí)行的過程。這部分知識作為重難點需要教師在前期的精講中加以引導(dǎo),給學(xué)生指出設(shè)計的方向,學(xué)生才能在內(nèi)化環(huán)節(jié)梳理Python程序的架構(gòu)和編寫思路,當(dāng)然,還需要進(jìn)入討論環(huán)節(jié)對每個細(xì)節(jié)性的問題逐一解決,才能最終完成程序的編寫。
學(xué)生梳理完程序思路后,教師將學(xué)生進(jìn)行分組,對程序各部分功能進(jìn)行討論與設(shè)計,可以采取提問、抽查、引導(dǎo)的方式監(jiān)督各小組的進(jìn)展情況和討論結(jié)果。
期間,教師通過提問如何利用Python對內(nèi)存、顯示器進(jìn)行建模等問題,了解到學(xué)生對列表的運用比較熟練,但在如何利用Python將文件中的程序讀入內(nèi)存時進(jìn)展緩慢,此時就需要教師加以引導(dǎo)。因此,在討論環(huán)節(jié),教師需要及時掌控課堂情況,對共性問題統(tǒng)一講解,個性問題單獨輔導(dǎo),既要充分了解學(xué)生的實際學(xué)習(xí)能力和個體差異,又要善于觀察學(xué)生的課堂表現(xiàn)和學(xué)習(xí)動態(tài),才能在討論環(huán)節(jié)與學(xué)生進(jìn)行有效的互動,為學(xué)生布置難度適中的學(xué)習(xí)任務(wù)。
作為實驗課,實踐環(huán)節(jié)必不可少,當(dāng)然,這個實踐環(huán)節(jié)不是獨立于前面的三個階段,它融入于前面三個階段,但分量又大于前面三個階段。相比于理論課,學(xué)生需要在講授、內(nèi)化吸收、討論后,形成一套完整的程序設(shè)計思路和實現(xiàn)方法,并用Python語言加以實踐,這個過程需要花費更多的時間和精力。通過編寫該實驗,學(xué)生借助Python重新構(gòu)建了一個復(fù)雜的計算機系統(tǒng),并在此系統(tǒng)上模擬了計算機工作的過程,把抽象的理論與復(fù)雜的實踐進(jìn)行有效的結(jié)合,在理解理論的基礎(chǔ)上構(gòu)建了實踐體系,反過來實踐體系更好的詮釋了理論的根基。
教師可以因勢利導(dǎo),依托Educoder平臺下達(dá)實訓(xùn)任務(wù),設(shè)置積分和關(guān)卡,以闖關(guān)形式吸引學(xué)生完成實訓(xùn)任務(wù),任務(wù)可根據(jù)實驗的難易程度設(shè)置1-3關(guān),進(jìn)一步鞏固該部分知識,并達(dá)到靈活運用、舉一反三的效果。實訓(xùn)中,闖關(guān)成功的學(xué)生可獲得相應(yīng)的積分和經(jīng)驗值,闖關(guān)困難的學(xué)生可以尋求參考答案,但平臺會扣除相應(yīng)的積分。學(xué)生通過積分排行榜查看自己的排名,促使每個人不僅要認(rèn)真對待每一次的實驗,而且要善于思考、積極討論,高質(zhì)量的完成每一次的實驗任務(wù),不斷提高利用計算思維解決實際問題的能力。
總結(jié):將對分課堂教學(xué)模式有效的運用到《大學(xué)計算機基礎(chǔ)》課程中,尤其是運用到實驗教學(xué)中,教師利用對分課堂理念對課堂進(jìn)行重新設(shè)計,根據(jù)實驗課的特點,將課堂劃分為講授、內(nèi)化吸收、討論、實踐四個階段,不僅給學(xué)生一個真正的自主學(xué)習(xí)、獨立思考、獨自解惑的空間,而且有效地提高了學(xué)生的參與度和團隊協(xié)作能力。后續(xù),課程組將會繼續(xù)開展《大學(xué)計算基礎(chǔ)》教學(xué)的“對分課堂”實踐,通過不斷的探討實踐,把“對分課堂”方法靈活運用到《大學(xué)計算機基礎(chǔ)》課堂教學(xué)環(huán)節(jié),并通過教學(xué)反饋,不斷修改和完善基于“對分課堂”的《大學(xué)計算機基礎(chǔ)》課堂教學(xué)設(shè)計,使之更加合理有效,切實提升學(xué)生學(xué)習(xí)知識的主動性和教師的授課質(zhì)量。