摘?要:面向?qū)ο缶幊毯蚃ava平臺(tái)技術(shù)既是面向過(guò)程程序設(shè)計(jì)過(guò)度到面向?qū)ο蟪绦蛟O(shè)計(jì)的模塊,也是整個(gè)Java程序設(shè)計(jì)課程中的重難點(diǎn)模塊。該文結(jié)合以往的課程授課經(jīng)驗(yàn)和課前模擬預(yù)測(cè),對(duì)基本教學(xué)目標(biāo)、學(xué)生學(xué)情、學(xué)生遇到的困難進(jìn)行總結(jié)梳理,同時(shí)在教學(xué)方法、手段、模式、策略上進(jìn)行探索和創(chuàng)新,將創(chuàng)新手段應(yīng)用到具體的課程實(shí)施中。從實(shí)際課時(shí)中選取一節(jié),分別從課堂的五大部分進(jìn)行實(shí)例展示。最后通過(guò)課后反思診斷提出課程體系中仍舊可以繼續(xù)改進(jìn)的地方,以此不斷強(qiáng)化教師的授課能力和提高學(xué)生發(fā)現(xiàn)問(wèn)題和解決問(wèn)題的能力。
關(guān)鍵詞:面向?qū)ο?;Java平臺(tái)技術(shù);教學(xué)方法;教學(xué)策略;創(chuàng)新
中圖分類(lèi)號(hào):G642
面向?qū)ο缶幊蹋∣bject-Oriented Programming,OOP)思想的出現(xiàn)在軟件工程領(lǐng)域引起了一場(chǎng)革命,Java語(yǔ)言開(kāi)發(fā)則是當(dāng)中最為典型的代表,在歷年IEEE(電氣和電子工程師協(xié)會(huì))所發(fā)布的最佳編程語(yǔ)言排行榜上Java語(yǔ)言均名列前茅。它的優(yōu)勢(shì)不僅限于簡(jiǎn)單性、分布性、安全性,也體現(xiàn)在其具備并實(shí)現(xiàn)了跨平臺(tái)性。
鑒于Java語(yǔ)言的上述優(yōu)勢(shì)及其巨大的市場(chǎng)發(fā)展前景,各大高校均開(kāi)設(shè)了“Java面向?qū)ο蟪绦蛟O(shè)計(jì)”課程。本課程體系共分四個(gè)單元模塊:模塊一是Java語(yǔ)言開(kāi)發(fā)基礎(chǔ),主要講解Java語(yǔ)言的誕生背景,發(fā)展歷程,如何搭建開(kāi)發(fā)環(huán)境,Java的基礎(chǔ)語(yǔ)法以及如何創(chuàng)建并運(yùn)行簡(jiǎn)單的Java程序;模塊二是Java面向?qū)ο缶幊蹋?],分為面向?qū)ο蠡A(chǔ)知識(shí)和面向?qū)ο蟾呒?jí)部分,在這部分單元中,主要講解類(lèi)的定義、類(lèi)創(chuàng)建對(duì)象、方法重載,同時(shí)引出類(lèi)的封裝、繼承、抽象、多態(tài)等特性;模塊三是Java平臺(tái)技術(shù)部分,其中有數(shù)組與向量、包與常用API、異常處理和輸入輸出流;模塊四是Java平臺(tái)高級(jí)技術(shù),主要運(yùn)用Java中的GUI進(jìn)行繪圖和數(shù)據(jù)庫(kù)編程。
其中,模塊二和模塊三部分在Java課程中起到承前啟后的作用,主要是從“過(guò)程性”思考過(guò)渡為“對(duì)象性”思考。因此,對(duì)于學(xué)生在其中遇到的諸多問(wèn)題,比如如何理解面向?qū)ο笫澜缰小邦?lèi)”的概念,如何理解“對(duì)象”,并理清它們之間的邏輯關(guān)系,靈活運(yùn)用面向?qū)ο蟮奶攸c(diǎn)解決實(shí)際問(wèn)題等。圍繞“發(fā)展科技力量,弘揚(yáng)體育精神,實(shí)現(xiàn)體育強(qiáng)國(guó)夢(mèng)”這一主題,以面向?qū)ο蟾拍顟?yīng)用拓展為核心,以“精益求精,培養(yǎng)大國(guó)工匠”為思想引領(lǐng),以“校企協(xié)作、任務(wù)驅(qū)動(dòng)、項(xiàng)目分解、實(shí)操演練”的教學(xué)模式為主導(dǎo),組建“專(zhuān)職教師+公司導(dǎo)師+學(xué)生”創(chuàng)新團(tuán)隊(duì),重構(gòu)教學(xué)內(nèi)容和情境,緊跟時(shí)代和市場(chǎng)需求,提升其趣味性,增強(qiáng)學(xué)生的主觀(guān)能動(dòng)性和把控自身職業(yè)發(fā)展方向的能力。本文針對(duì)性地提出了解決方案,并將這些方案實(shí)施到具體的8個(gè)學(xué)時(shí)的課程教學(xué)當(dāng)中?,F(xiàn)將本單元8學(xué)時(shí)的實(shí)施情況進(jìn)行展示。
1 教學(xué)目標(biāo)
1.1 教學(xué)實(shí)施
教學(xué)活動(dòng)嚴(yán)格遵循《軟件技術(shù)專(zhuān)業(yè)人才培養(yǎng)方案》《軟件技術(shù)專(zhuān)業(yè)教學(xué)標(biāo)準(zhǔn)》《“1+X”職業(yè)技能等級(jí)標(biāo)準(zhǔn)》《Java程序設(shè)計(jì)課程標(biāo)準(zhǔn)》《職業(yè)院校教材管理辦法》等章程,規(guī)范課程的教學(xué)設(shè)計(jì)與實(shí)施。同時(shí)對(duì)授課群體進(jìn)行學(xué)情分析,如表1所示。
1.2 教學(xué)目標(biāo)
綜合考慮以上人才培養(yǎng)方案及學(xué)生學(xué)習(xí)情況,依據(jù)現(xiàn)有教學(xué)條件及環(huán)境,制定了三維教學(xué)目標(biāo),分別是知識(shí)與技能目標(biāo)、認(rèn)知與實(shí)踐能力目標(biāo)、課程思政目標(biāo),如表2所示。
2 重難點(diǎn)分析
基于上述教學(xué)目標(biāo)、學(xué)生在實(shí)際操作中遇到的困難以及教學(xué)實(shí)施過(guò)程中遇到的障礙,確定了下述教學(xué)重難點(diǎn):
2.1 教學(xué)重點(diǎn)
(1)類(lèi)和對(duì)象的定義及使用;
(2)類(lèi)的繼承和方法的重寫(xiě);
(3)抽象類(lèi)、接口、數(shù)組的定義及初始化。
2.2 教學(xué)難點(diǎn)
(1)構(gòu)造方法的編寫(xiě)及使用;
(2)楊輝三角形的打印輸出;
(3)Java向量的創(chuàng)建和使用。
3 教學(xué)策略
依據(jù)現(xiàn)實(shí)學(xué)情,確定了“做中學(xué)、學(xué)中做”的教學(xué)理念,使其貫穿整個(gè)教學(xué)過(guò)程。對(duì)于教學(xué)中遇到的重點(diǎn)難點(diǎn)問(wèn)題,抓住主要矛盾,實(shí)施各個(gè)突破,制定了如下教學(xué)策略:
3.1 教學(xué)模式
本課程單元采用“校企協(xié)作、講練結(jié)合、分組討論”的教學(xué)模式。首先由教師引出預(yù)習(xí)成果數(shù)據(jù)分析,接著邀請(qǐng)公司導(dǎo)師結(jié)合“1+X”證書(shū)要求對(duì)學(xué)生作業(yè)和案例完成情況進(jìn)行點(diǎn)評(píng),并提出新的要求;教師隨后結(jié)合當(dāng)下流行的時(shí)政熱點(diǎn)引入生活案例,期間提出問(wèn)題,引發(fā)學(xué)生分組討論思考并回答;教師總結(jié)后,繼續(xù)講述課程新知并發(fā)布公司導(dǎo)師提供的實(shí)際案例作為課堂練習(xí)題,在此節(jié)點(diǎn)仍由公司導(dǎo)師進(jìn)行監(jiān)督、評(píng)價(jià)。其次是實(shí)操練習(xí)階段,學(xué)生分組上機(jī)完成編程任務(wù),分別采用三種不同的軟件進(jìn)行設(shè)計(jì),教師適時(shí)跟蹤指導(dǎo)。最后由教師依據(jù)學(xué)生掌握練習(xí)情況做課程總結(jié)。在此模式指導(dǎo)下,學(xué)生掌握了對(duì)接公司一線(xiàn)的項(xiàng)目實(shí)踐編程能力;教師鍛煉了“雙師”素養(yǎng),給課程案例中注入新手段、新規(guī)范、新技術(shù);公司則為自身擴(kuò)充了后備技術(shù)研發(fā)團(tuán)隊(duì),創(chuàng)造了學(xué)?!獙W(xué)生—公司三者“三贏”局面。
3.2 教學(xué)手段
本課程單元采用的教學(xué)手段及其作用主要如下:
(1)微課動(dòng)畫(huà)、案例視頻,增強(qiáng)課程趣味性和靈活性,解決課堂氛圍古板機(jī)械的難處;
(2)雨課堂、傳智播客、考試酷平臺(tái)、超星平臺(tái)、投屏軟件、微信小程序、希沃白板解決師生互動(dòng)單調(diào)單一的痛點(diǎn);
(3)Processing軟件、Viso軟件[4]、Scratch軟件、Eclipse軟件等編程軟件相互交叉結(jié)合使用,突出編程技能訓(xùn)練,解決設(shè)備少而貴的問(wèn)題;
4 課堂展示
基于上述教學(xué)實(shí)施原則和具體課程內(nèi)容,本文采取了一堂課為例進(jìn)行實(shí)際展示。課程主要分為課前回顧、新知講解、拓展練習(xí)、課堂小結(jié)、課程思政共五個(gè)部分。
4.1 課前回顧
首先利用傳智播客平臺(tái)的預(yù)習(xí)功能,幫助學(xué)生回顧和審視自己在預(yù)習(xí)中出現(xiàn)的問(wèn)題,并在其中提取出重點(diǎn)知識(shí)進(jìn)行引入講解。如圖1所示:
4.2 新知講解
本次課程以冬奧會(huì)為主題,在此基礎(chǔ)上進(jìn)行類(lèi)和對(duì)象的講解。因此,在新知講解這部分首先引入與冬奧會(huì)有關(guān)的趣
味視頻——《以〈西游記〉的方式打開(kāi)冬奧會(huì)》,加強(qiáng)課堂生動(dòng)性。在學(xué)生們意猶未盡時(shí)提問(wèn)——如何對(duì)視頻中的事務(wù)進(jìn)行分類(lèi),從而引出Java中類(lèi)[5]的概念。值得一提的是,在提問(wèn)環(huán)節(jié)加入雨課堂的隨機(jī)點(diǎn)名環(huán)節(jié),營(yíng)造緊張、愉悅
的課堂氣氛。具體實(shí)施流程如圖2:
接下來(lái)的環(huán)節(jié)中,通過(guò)虛擬人物講解類(lèi)和對(duì)象的概念:客觀(guān)存在的事物皆為對(duì)象,在Java的世界中,萬(wàn)物皆對(duì)象。而類(lèi)則是現(xiàn)實(shí)生活中具有共同屬性和行為的對(duì)象的集合,類(lèi)和對(duì)象的關(guān)系就如同不同事物的設(shè)計(jì)圖紙和實(shí)體的關(guān)系一樣。通過(guò)虛實(shí)結(jié)合、線(xiàn)上線(xiàn)下共同講解的方式,改變以往理論知識(shí)授課方式,學(xué)生在生動(dòng)活潑的課堂氛圍中自然而然地掌握了知識(shí)要點(diǎn)。
4.3 拓展練習(xí)
鑒于本校學(xué)生的學(xué)習(xí)特點(diǎn)——擅動(dòng)手而拙理論,喜形象而懼抽象,所以我們?cè)谡n堂中布置了本節(jié)相應(yīng)的編程任務(wù):用Java的類(lèi)和對(duì)象的定義對(duì)所熟知的冬奧會(huì)運(yùn)動(dòng)員或者運(yùn)動(dòng)項(xiàng)目進(jìn)行編程。如圖4所示,分別將學(xué)生分為建模組、實(shí)施組、策劃組。建模組用Viso軟件進(jìn)行UML建模圖的繪制,策劃組用Scratch編程軟件進(jìn)行實(shí)物操練,最后由實(shí)施組將前兩組同學(xué)的思路用代碼實(shí)現(xiàn)出來(lái)。分而治之,集思廣益,三組同學(xué)在討論和頭腦風(fēng)暴中進(jìn)一步提升了自己的編程能力。
4.4 課堂小結(jié)
課堂的最后十分鐘,由教師發(fā)起雨課堂的彈幕活動(dòng),由大數(shù)據(jù)分類(lèi)統(tǒng)計(jì)后得出學(xué)生對(duì)于Java語(yǔ)法的理解和認(rèn)知,如圖4,進(jìn)一步得出面向?qū)ο缶幊趟枷氲膬?yōu)點(diǎn)。
(1)在程序中把現(xiàn)實(shí)世界的具體事物看成一個(gè)一個(gè)的對(duì)象來(lái)解決問(wèn)題;
(2)按照面向?qū)ο缶幊虂?lái)設(shè)計(jì)程序:程序代碼符合人類(lèi)思維習(xí)慣,更易理解、更簡(jiǎn)單。
4.5 課堂思政
本次課程以弘揚(yáng)北京冬奧精神為主要目的,在思政部分激勵(lì)學(xué)生們學(xué)習(xí)奧運(yùn)健兒們勇于拼搏的精神,并將這種不畏艱難的勇氣用在Java課程的學(xué)習(xí)當(dāng)中。課程末尾畫(huà)龍點(diǎn)睛,課程巧用前后呼應(yīng),成就精彩課堂。
5 教學(xué)反思與改進(jìn)
5.1 特色與創(chuàng)新
5.1.1 以冬奧會(huì)為主題學(xué)習(xí)Java程序設(shè)計(jì)
本課程將傳統(tǒng)程序設(shè)計(jì)語(yǔ)言與時(shí)代熱點(diǎn)體育強(qiáng)國(guó)、體育精神相結(jié)合的方式,使課堂教學(xué)更貼近生活,學(xué)生也易于理解。
5.1.2 使用了各種互動(dòng)手段活躍課堂
如師生互動(dòng)、生生互動(dòng)、小組PK、線(xiàn)上線(xiàn)下、上機(jī)實(shí)踐、公司助力配合使用各種編程軟件及在線(xiàn)課程平臺(tái)、虛擬仿真實(shí)驗(yàn)室等,多樣靈活地互動(dòng)方式更能激發(fā)學(xué)生學(xué)習(xí)的主動(dòng)性。
5.2 診斷改進(jìn)
5.2.1 不足診斷
平臺(tái)上在線(xiàn)課程的資源不夠豐富;學(xué)生理解程度參差不齊,僅僅課堂50分鐘無(wú)法完全使學(xué)生理解知識(shí)點(diǎn)。
5.2.2 改進(jìn)措施
多向公司導(dǎo)師和項(xiàng)目中汲取經(jīng)驗(yàn),校企合作助力解決軟硬設(shè)備不足的問(wèn)題。
結(jié)語(yǔ)
技術(shù)在不斷更新,人類(lèi)在不斷進(jìn)步,教師在研究授課方法時(shí)也要不斷地反思改進(jìn)。以上是筆者對(duì)Java中面向?qū)ο蠡A(chǔ)部分教學(xué)方法的探索和創(chuàng)新,從課堂學(xué)生的反饋以及師生互動(dòng)的情況來(lái)看,教學(xué)還是取得了比較理想的效果,真正實(shí)現(xiàn)了嚴(yán)肅活潑的課堂氛圍,未來(lái)我們?nèi)耘f會(huì)在編程案例、題庫(kù)方面不斷完善,進(jìn)一步加強(qiáng)學(xué)生的實(shí)踐能力。
參考文獻(xiàn):
[1]許薇.面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2009:47-130.
[2]張孝祥.Java就業(yè)培訓(xùn)教程[M].北京:清華大學(xué)出版社,2003:78-90.
[3]王賀.Java面向?qū)ο蟪绦蛟O(shè)計(jì)案例教程[M].西安:西安電子科技大學(xué)出版社,2019:85-185.
[4]化志章.Java面向?qū)ο蟪绦蛟O(shè)計(jì)[M].北京:清華大學(xué)出版社,2022:67-89.
[5]殷鋒社,羅云芳.Java程序設(shè)計(jì)基礎(chǔ)[M].北京:人民郵電出版社,2021:77-90.
基金項(xiàng)目:國(guó)家自然科學(xué)基金項(xiàng)目(61966012);陜西工業(yè)職業(yè)技術(shù)學(xué)院校級(jí)項(xiàng)目(2020YKYB-005)
作者簡(jiǎn)介:岳夢(mèng)楚(1990—?),女,陜西咸陽(yáng)人,碩士,助教,研究方向:機(jī)器學(xué)習(xí)、人工智能、進(jìn)化計(jì)算、軟件技術(shù)。