楊艷紅,劉向玲
(蘇州大學(xué)應(yīng)用技術(shù)學(xué)院,江蘇蘇州,215325)
Java程序設(shè)計(jì)語言是當(dāng)今最流行的語言之一,是從事軟件開發(fā)工作必須掌握的一門編程語言[1]。Java也是軟件開發(fā)行業(yè)需求量最大的編程語言之一,各高校計(jì)算機(jī)類專業(yè)一般都開設(shè)Java類課程。我校《Java核心與高級特性》課程是軟件工程專業(yè)的核心必修課,其前導(dǎo)課程為《C語言程序設(shè)計(jì)基礎(chǔ)》,后續(xù)課程為《Java Web 開發(fā)》、《Java EE》等。Java課程的教學(xué)目標(biāo)為:(1)培養(yǎng)學(xué)生作為程序員所應(yīng)具備的職業(yè)素質(zhì)、啟發(fā)學(xué)生的創(chuàng)新意識、訓(xùn)練學(xué)生面向?qū)ο蟮某绦蛟O(shè)計(jì)能力和開發(fā)能力。(2)要求學(xué)生掌握J(rèn)ava語言的基礎(chǔ)知識與主要功能,能夠運(yùn)用面向?qū)ο蟪绦蛟O(shè)計(jì)的思想分析和解決問題,會(huì)運(yùn)用eclipse等開發(fā)工具開發(fā)Java應(yīng)用程序,使用Java語言進(jìn)行程序開發(fā)并解決實(shí)際問題。
本文將從當(dāng)前教學(xué)現(xiàn)狀入手,分析存在的問題,并提出相應(yīng)的解決方式。
Java的教學(xué)過程中一般以章節(jié)為主線講解知識點(diǎn)[1],剛接觸該課程的大部分學(xué)生對Java充滿興趣,但是學(xué)生在學(xué)習(xí)過程中主動(dòng)性不強(qiáng),自制力較差,不能夠?qū)ava保持持續(xù)學(xué)習(xí)的能力,學(xué)習(xí)目的不明確,最終導(dǎo)致該課程成績不夠理想,使用Java解決實(shí)際問題的能力較弱。
在教學(xué)方式上,開設(shè)Java課程的高校多采用“理論+實(shí)驗(yàn)”或“理實(shí)一體化”的教學(xué)方式。“理論+實(shí)驗(yàn)”在教學(xué)過程中一般理論占學(xué)時(shí)較多或者理論實(shí)驗(yàn)1:1,可以充分講解理論基礎(chǔ),深入理解面向?qū)ο笏枷?,并詳?xì)分析類和對象設(shè)計(jì)等,但是此種教學(xué)方式理論和實(shí)驗(yàn)分別上課,學(xué)生學(xué)到的理論知識無法立刻通過實(shí)驗(yàn)來驗(yàn)證鞏固,因此學(xué)生動(dòng)手能力較弱,并且不利于學(xué)生掌握理論知識?!袄韺?shí)一體化”在教學(xué)過程中理論講解和實(shí)驗(yàn)操作相結(jié)合,在理論講解過程中可以通過實(shí)驗(yàn)進(jìn)行示范操作,強(qiáng)調(diào)在學(xué)中做、做中學(xué),更利于學(xué)生理解理論知識,也可以提高學(xué)生的動(dòng)手能力,但是理實(shí)一體化教學(xué)通常只流于形式,沒能充分貫徹到教學(xué)過程中[2]。
Java課程在C語言程序設(shè)計(jì)之后開設(shè),此時(shí)學(xué)生具有一定的編程能力,Java的數(shù)據(jù)類型、運(yùn)算符、控制語句的內(nèi)容與C語言相似度極高,使得學(xué)習(xí)Java更加容易。針對Java課程內(nèi)容多、課時(shí)有限的問題,采用線上線下混合教學(xué)模式。受疫情影響,2020年全國各高校借助在線學(xué)習(xí)平臺探索線上教學(xué)。借此機(jī)會(huì),本課程使用超星學(xué)習(xí)通平臺,通過線上線下相結(jié)合的方式進(jìn)行教學(xué)改革。
為了充分利用課堂時(shí)間,教師在上課前先將課件、學(xué)習(xí)視頻、學(xué)習(xí)資料等放在學(xué)習(xí)通平臺,如圖1所示,學(xué)生課前在學(xué)習(xí)通平臺下載所需資源并完成在線課前預(yù)習(xí)作業(yè)。課前預(yù)習(xí)可以幫助學(xué)生提前接觸學(xué)習(xí)內(nèi)容,對不會(huì)的知識點(diǎn)重點(diǎn)做記錄,課堂上查缺補(bǔ)漏。老師在課前可以查看學(xué)生預(yù)習(xí)情況,準(zhǔn)確定位易難點(diǎn),從而有針對性進(jìn)行課堂知識點(diǎn)講解,提高教學(xué)與學(xué)習(xí)效果。
圖1 超星學(xué)習(xí)通在線資源建設(shè)
教師在超星學(xué)習(xí)通平臺做好課后在線測驗(yàn)試題,可以及時(shí)掌握學(xué)生知識點(diǎn)的掌握情況。學(xué)生在規(guī)定時(shí)間內(nèi)完成學(xué)習(xí)通平臺課后作業(yè),也可以利用課余時(shí)間在線學(xué)習(xí)超星學(xué)習(xí)通平臺上豐富的教學(xué)視頻及代碼資源,使學(xué)生主動(dòng)學(xué)習(xí),并達(dá)到鞏固課堂知識及拓展學(xué)習(xí)的目的。如果學(xué)生未在規(guī)定時(shí)間內(nèi)完成作業(yè),教師可以實(shí)時(shí)導(dǎo)出作業(yè)完成情況督促學(xué)生學(xué)習(xí)。
學(xué)生在學(xué)習(xí)過程中存在幾個(gè)問題:(1)對Java充滿興趣,但是隨著知識點(diǎn)的深入與展開,難度增加后學(xué)生會(huì)產(chǎn)生退縮心理,不能保持最初的熱情;(2)對軟件開發(fā)行業(yè)比較迷茫,無法準(zhǔn)確定位Java的重要性,大部分學(xué)生覺得校內(nèi)學(xué)習(xí)Java只是為了掌握基礎(chǔ)知識,只要考試及格就行,真正開發(fā)能力需要在今后工作中培養(yǎng);(3)學(xué)生為了完成作業(yè)而寫程序,代碼編寫不夠完善,缺陷較多,不能仔細(xì)完成好每個(gè)環(huán)節(jié);(4)學(xué)習(xí)過程比較浮躁,細(xì)節(jié)把握不夠準(zhǔn)確。這些問題導(dǎo)致了學(xué)習(xí)效果差,程序不能得到較好的效果,小的缺陷導(dǎo)致程序出錯(cuò)得不到想要的結(jié)果等問題。
教學(xué)的對象是學(xué)生,最終為了讓學(xué)生掌握知識,教學(xué)工作必須圍繞學(xué)生、關(guān)照學(xué)生、服務(wù)學(xué)生,不斷提高學(xué)生思想水平、道德品質(zhì)、文化素養(yǎng),讓學(xué)生成為德才兼?zhèn)?、全面發(fā)展的人才[3]。為了激發(fā)學(xué)生持續(xù)學(xué)習(xí)能力,培養(yǎng)學(xué)生誠實(shí)守信、堅(jiān)忍不拔的性格;提高學(xué)生在溝通表達(dá)、自我學(xué)習(xí)和團(tuán)隊(duì)協(xié)作方面的能力;培養(yǎng)學(xué)生養(yǎng)成規(guī)范的編碼習(xí)慣,改善學(xué)生不好的學(xué)習(xí)習(xí)慣,在教學(xué)過程中在向?qū)W生傳授課程知識的同時(shí)樹立正確的價(jià)值觀、世界觀、技能觀,本課程設(shè)計(jì)六個(gè)主題活動(dòng),如表1所示。
表1 主題活動(dòng)
表1中六個(gè)活動(dòng)主題按照J(rèn)ava知識點(diǎn)進(jìn)行展開,使學(xué)生養(yǎng)成良好的編碼習(xí)慣,具體如下:
(1)Java入門是本課程第一次課,在講解入門知識時(shí)插入當(dāng)今軟件行業(yè)領(lǐng)軍人物視頻并引導(dǎo)學(xué)生溝通交流,讓學(xué)生意識到本課程的重要性及學(xué)習(xí)完本課程知識后可能會(huì)有何成就,從而讓學(xué)生有理想有夢想,激發(fā)學(xué)生學(xué)好本門課程的信心。
(2)在類和對象知識點(diǎn)的講解中讓學(xué)生利用所學(xué)知識解決生活中的實(shí)際問題,如在成績查詢問題中如何設(shè)計(jì)類和對象,通過解決成績查詢問題培養(yǎng)學(xué)生對專業(yè)技能學(xué)習(xí)的認(rèn)可度。
(3)在類的繼承知識點(diǎn)的講解中給學(xué)生播放傳承民族精神的視頻,從生活中“父親-孩子”來講解繼承,在講授知識點(diǎn)的同時(shí)培養(yǎng)學(xué)生不忘初心砥礪前行。
(4)在異常處理章節(jié)播放工匠精神的視頻,在程序設(shè)計(jì)中一定要嚴(yán)謹(jǐn)認(rèn)真,小的錯(cuò)誤會(huì)導(dǎo)致系統(tǒng)崩潰等嚴(yán)重問題,培養(yǎng)學(xué)生在程序設(shè)計(jì)中精益求精的精神。
(5)線程章節(jié)通過死鎖案例的講解,要求學(xué)生在程序設(shè)計(jì)中要有團(tuán)結(jié)協(xié)作、分工明確、顧全大局的意識,協(xié)調(diào)分配資源才能使所有線程有序執(zhí)行,培養(yǎng)學(xué)生共同建造和諧社會(huì)的精神。
(6)GUI章節(jié)讓學(xué)生完成一個(gè)完整的小項(xiàng)目,通過項(xiàng)目設(shè)計(jì)與實(shí)現(xiàn)使學(xué)生貫通本課程知識點(diǎn),并鼓勵(lì)學(xué)生積極參加興趣小組、大學(xué)生創(chuàng)新創(chuàng)業(yè)項(xiàng)目等,進(jìn)一步參加藍(lán)橋杯、發(fā)現(xiàn)杯、軟件杯等專業(yè)學(xué)科競賽,提高學(xué)生持續(xù)學(xué)習(xí)意識。
在“Java核心與高級特性”課程考核時(shí),采取過程化考核和期末考核相結(jié)合的方式,在期末綜合成績中各占50%,過程性考核包括考勤、作業(yè)、實(shí)驗(yàn)、參與競賽[4]組成。期末考核主要采用卷面考核方式,過程化考核主要借助超星學(xué)習(xí)通平臺使過程化考核結(jié)果有跡可循,對學(xué)生按時(shí)上課、作業(yè)是否認(rèn)真完成、課上討論是否參與、課上是否積極回答問題、課前是否按時(shí)預(yù)習(xí)、在線拓展學(xué)習(xí)等進(jìn)行評價(jià)考核,如圖2所示。
圖2 部分學(xué)習(xí)記錄
在考核時(shí)引入學(xué)科競賽成績,如果學(xué)生參加與本課程有關(guān)的學(xué)科競賽并獲獎(jiǎng)則算入平時(shí)表現(xiàn)適當(dāng)加分,提高學(xué)生參加學(xué)科競賽的積極性,也促使學(xué)生認(rèn)真學(xué)習(xí)并獲得一定的學(xué)習(xí)成果,為今后參加工作和考研提供幫助。