伏明蘭,陳呂強(qiáng),肖建于
(淮北師范大學(xué) 計算機(jī)科學(xué)與技術(shù)學(xué)院,安徽 淮北235000)
教育部啟動實施“六卓越一拔尖”計劃2.0要求建設(shè)的雙萬計劃就是“金課建設(shè)”計劃。包括線上教學(xué)、線下課堂、線上線下混合式教學(xué)、虛擬仿真和社會實踐各類國家級或省級一流課程。要求課程具有高階性、創(chuàng)新性、挑戰(zhàn)度。即課程學(xué)完后,學(xué)生要具有解決復(fù)雜實際問題的知識和能力;課程內(nèi)容要緊跟國際國內(nèi)前沿,并反應(yīng)現(xiàn)實應(yīng)用需求,具有時代性;同時課程要具有一定的學(xué)習(xí)難度[1]。
隨著各高校對金課的實踐,以及互聯(lián)網(wǎng)、在線教育、在線交流平臺等信息技術(shù)的發(fā)展,相對于單純的線上或線下課程,將兩者結(jié)合起來、相輔相成的混合式金課受到越來越多的教師和同學(xué)的歡迎,并取得了較好的實施效果。線上線下混合式“金課”模式整合各高校的優(yōu)質(zhì)資源,打造精品課程,為高校的教師和學(xué)生共享學(xué)習(xí)資源提供了更多的平臺和途徑[2]。傳統(tǒng)的課堂教學(xué)容易使教師和學(xué)生陷入以教師的“教”為中心的教學(xué)模式中,這導(dǎo)致學(xué)生缺乏學(xué)習(xí)主動性。如何使學(xué)生在課堂上主動探索吸收知識、提升能力,將整個課堂的教學(xué)中心轉(zhuǎn)移到學(xué)生的“學(xué)”上來是“Java程序設(shè)計”課程教學(xué)改革中急需解決的一個問題[3]。依據(jù)“金課”標(biāo)準(zhǔn),采用線上線下相結(jié)合的教學(xué)方式,對原有的“教室理論+機(jī)房練習(xí)”概念進(jìn)行拓展,為學(xué)生提供更加靈活、豐富的學(xué)習(xí)內(nèi)容與渠道,從而在一定程度上解決上述問題。
“Java程序設(shè)計”課程的教學(xué)目標(biāo)就是要讓學(xué)生具有一定的編程能力,并能設(shè)計出滿足實際應(yīng)用需求的計算機(jī)應(yīng)用系統(tǒng)。而學(xué)生理論知識的積累和實踐技能的提高卻需要大量時間。有限的教學(xué)課時造成教師在教學(xué)過程中難以將課程內(nèi)容完整地講述,為了照顧大多數(shù)同學(xué)的學(xué)習(xí)節(jié)奏,教師只能先詳細(xì)講述基礎(chǔ)知識,再針對每個知識點(diǎn)給出對應(yīng)例題來加強(qiáng)學(xué)習(xí)效果。而各個Java類庫中的知識點(diǎn)只能留給學(xué)生自學(xué)。在這種教學(xué)模式下,學(xué)生想設(shè)計大型系統(tǒng),但都不知道從哪里下手,沒有成就感,也就失去了學(xué)習(xí)的興趣。課程學(xué)完后,學(xué)生就算掌握了每個關(guān)鍵詞和每條語句,但讀、寫程序困難,需要頻繁地翻閱幫助文檔。
結(jié)合實際教學(xué)情況進(jìn)行分析可以看出,之所以產(chǎn)生上述問題,主要有以下幾個方面的原因。
1.課程內(nèi)容與其先修課和后續(xù)課之間缺少有效銜接,導(dǎo)致學(xué)生即使學(xué)了所有知識點(diǎn),但不成體系,無法靈活應(yīng)用,解決復(fù)雜的工程問題時無從下手[4]。
2.教學(xué)方法死板。傳統(tǒng)的“教室理論+機(jī)房練習(xí)”的教學(xué)方式中,學(xué)生并未很好地參與到實際的編程訓(xùn)練中,難以讓學(xué)生主動去探索,這對實踐性比較強(qiáng)的“Java程序設(shè)計”課程的學(xué)習(xí)十分不利。
3.已有的實驗教學(xué)要求簡單,內(nèi)容陳舊。每次實驗的內(nèi)容為相應(yīng)知識點(diǎn)設(shè)計、相互獨(dú)立,缺少大型綜合性實訓(xùn)內(nèi)容。課程學(xué)完后,學(xué)生能夠“建”立開發(fā)環(huán)境、“讀”簡單程序,“改”簡單程序,但卻不會“寫”程序[5]。
4.課程考核形式與教學(xué)目標(biāo)存在偏差。傳統(tǒng)的以筆試為主的考核方式主要考查學(xué)生基本語句、基本語法的掌握情況,而對學(xué)習(xí)過程以及綜合實踐能力的關(guān)注度不夠,難以準(zhǔn)確評價學(xué)習(xí)效果。
線上線下混合式教學(xué)模式下,“Java程序設(shè)計”課程借助現(xiàn)代教學(xué)手段,進(jìn)行資源共享,發(fā)揮線上教學(xué)不受時空限制的優(yōu)勢,從而解決教學(xué)內(nèi)容過多與課時不足之間的矛盾,并在一定程度上提高“Java程序設(shè)計”課程的“高階性”和“挑戰(zhàn)度”?!癑ava程序設(shè)計”課程的實際教學(xué)路線如圖1所示。教學(xué)過程包含4條并行的教學(xué)路線:線下理論課、線下實踐課、線上課程和線上作業(yè)?!熬€下理論課”為主線,起提綱挈領(lǐng)的作用,主要講解基本原理和重難點(diǎn),并幫助學(xué)生解決其他教學(xué)路線中遇到的問題?!熬€上教學(xué)”以視頻演示為主,主要包括開發(fā)環(huán)境的配置及大型項目“超市管理系統(tǒng)”的詳細(xì)設(shè)計過程。“線下實踐”可以通過模仿線上演示視頻,讓學(xué)生創(chuàng)建一個完整的信息系統(tǒng)。該過程可以培養(yǎng)學(xué)生創(chuàng)建大型項目的能力,并提高學(xué)生學(xué)習(xí)編程語言的積極性和自信心?!熬€上作業(yè)”主要是要引導(dǎo)學(xué)生讀程序,改程序,通過該過程提高學(xué)生對基本原理的掌握。
圖1 “Java程序設(shè)計”課程教學(xué)路線圖
通過線上教學(xué),學(xué)生不僅可以對課程內(nèi)容進(jìn)行預(yù)習(xí)復(fù)習(xí),教師還可以設(shè)計在線測試題、搶答題調(diào)動學(xué)生學(xué)習(xí)積極性,并借助網(wǎng)絡(luò)交流工具進(jìn)行課前課后輔導(dǎo)。除此之外,“Java程序設(shè)計”課程的線上教學(xué)還可以完成如下兩個方面的工作。
3.2.1 幫助學(xué)生建立完整的知識體系
要讓學(xué)生具有一定的工程實踐能力、建立完整的知識體系,僅通過一門課程的學(xué)習(xí)是無法達(dá)到的,因此需要將“Java程序設(shè)計”課程的學(xué)習(xí)內(nèi)容融入到整個課程體系中,從而逐步提高學(xué)生的工程實踐能力?!熬€上教學(xué)”中可以將課程體系中與“Java程序設(shè)計”課程聯(lián)系緊密的先修課程和后續(xù)課做適當(dāng)?shù)膹?fù)習(xí)和講解。先修課主要有“程序設(shè)計基礎(chǔ)”、“數(shù)據(jù)結(jié)構(gòu)”等課程?!俺绦蛟O(shè)計基礎(chǔ)”通常是C語言,課程主要側(cè)重于培養(yǎng)學(xué)生的編程思想及獨(dú)立學(xué)習(xí)能力。Java語言中關(guān)鍵詞、流程控制語句等基本知識點(diǎn)與C語言類似。因此,在線下理論課上只講解Java的發(fā)展、與C語言的區(qū)別及語法上的注意事項?;菊Z法中各個知識點(diǎn)的詳細(xì)介紹可錄成線上教學(xué)視頻供學(xué)生查閱和自學(xué),各高校也可對這些資源進(jìn)行共享。對于“Java程序設(shè)計”課程,“數(shù)據(jù)結(jié)構(gòu)”是其一門重要的先修課,通過該課程的學(xué)習(xí),學(xué)生可以更加深入地理解計算機(jī)所要處理的數(shù)據(jù)對象的特性和表示方法,掌握對數(shù)據(jù)對象進(jìn)行處理的基本操作,能夠根據(jù)實際應(yīng)用問題的要求設(shè)計出高效的數(shù)據(jù)結(jié)構(gòu)?!癑ava程序設(shè)計”中“集合抽象”的內(nèi)容就是讓學(xué)生在已學(xué)數(shù)據(jù)結(jié)構(gòu)的基礎(chǔ)上進(jìn)一步掌握數(shù)據(jù)結(jié)構(gòu)的原理和使用方法,從而能夠根據(jù)實際應(yīng)用需求靈活使用Java中提供的各種數(shù)據(jù)結(jié)構(gòu)。利用線上視頻和線上作業(yè)使學(xué)生對“數(shù)據(jù)結(jié)構(gòu)”的知識溫故知新,避免所有知識點(diǎn)都學(xué)了,但都連不成線,都是一知半解的情況發(fā)生。在“Java程序設(shè)計”的數(shù)據(jù)庫編程章節(jié)主要學(xué)習(xí)如何在Java程序中連接和操作數(shù)據(jù)庫,該部分內(nèi)容的學(xué)習(xí)需為后續(xù)“數(shù)據(jù)庫原理”、“軟件工程”課程的學(xué)習(xí)做好鋪墊工作,并為“web程序設(shè)計”、“移動開發(fā)技術(shù)”等課程的學(xué)習(xí)打下堅實基礎(chǔ)。
3.1.2 提高綜合實踐能力
如果將大型項目的詳細(xì)設(shè)計過程放到線下理論課中進(jìn)行講解,這樣不僅會占用大量課時,而且學(xué)生會因為不能親自動手操作而逐漸失去學(xué)習(xí)興趣??梢詫⑦@種比較耗時的復(fù)雜系統(tǒng)的詳細(xì)設(shè)計過程錄制成視頻,以此引導(dǎo)學(xué)生逐步完成綜合項目的設(shè)計與實現(xiàn)?!熬€上課程”的綜合性實驗項目“超市管理系統(tǒng)”貫穿整個教學(xué)過程,帶領(lǐng)學(xué)生從簡單到復(fù)雜、從分散的知識點(diǎn)到系統(tǒng)的設(shè)計,逐步提高學(xué)生設(shè)計大型復(fù)雜系統(tǒng)的能力。
“Java程序設(shè)計”課程本身具有明顯的實踐性特征,所以考核內(nèi)容以及考核的重心應(yīng)該向著學(xué)生實踐能力方向轉(zhuǎn)移,如考勤10%+線上作業(yè)10%+線下實踐20%+項目考核60%。其中項目考核是重點(diǎn),包含兩個綜合項目:一個是教學(xué)過程中跟著線上教學(xué)視頻完成的綜合項目“超市管理系統(tǒng)”,該項目要求獨(dú)立完成,整個過程用時較長,考核方式主要是教師按照每個學(xué)生的實際完成情況進(jìn)行評價;另一個是期末學(xué)生提交的自擬題目的綜合項目,每2-3人1組,項目完成后,每組需提供說明文檔、源代碼,并進(jìn)行答辯。教師根據(jù)答辯情況、項目的完成情況、項目的難易程度等方面綜合考慮給出小組評分。單個學(xué)生的成績還與組內(nèi)成員的互評成績掛鉤,并且規(guī)定組內(nèi)成員的互評成績要分等級,比如規(guī)定每個小組,互評成績必須保證有且只有一個“優(yōu)”,這樣可避免大家都互評為優(yōu)的現(xiàn)象發(fā)生。該考核方式的特點(diǎn)是注重實踐能力的培養(yǎng),項目考核所占比重較大,并且線上線下考核相結(jié)合,過程和結(jié)果并重。
本質(zhì)上來說,“Java程序設(shè)計”課程教學(xué)不僅要讓學(xué)生掌握相應(yīng)的理論知識,更要求學(xué)生能夠?qū)⑦@些理論轉(zhuǎn)化為工具和技能,并結(jié)合實際應(yīng)用需求,設(shè)計和實施項目。以線下教學(xué)為主,線下實踐、線上教學(xué)和線上作業(yè)為輔的混合式教學(xué)模式可以很好地促使該教學(xué)目標(biāo)的達(dá)成。通過該門課程的學(xué)習(xí),學(xué)生不僅掌握了Java編程技術(shù),而且對現(xiàn)代經(jīng)濟(jì)社會中java開發(fā)領(lǐng)域有一個較全面的了解,取得了較好的學(xué)習(xí)效果。