周小麗 趙勇 劉昆 李娟
摘 要 Java程序設(shè)計(jì)是計(jì)算機(jī)專業(yè)中一門非常重要的技術(shù)課程,是學(xué)習(xí)JavaWeb、JavaEE、Andorid等課程的前置課程,因此學(xué)好Java程序設(shè)計(jì),為后續(xù)課程打下基礎(chǔ)有非常重要的意義。本文從課程設(shè)置、教學(xué)內(nèi)容設(shè)計(jì)、教學(xué)方法應(yīng)用等幾個(gè)方面進(jìn)行詳細(xì)闡述,介紹了如何運(yùn)用案例化、項(xiàng)目化教學(xué)來(lái)提高學(xué)生學(xué)習(xí)興趣,在用類比法進(jìn)行課堂教學(xué)時(shí),可適當(dāng)采用翻轉(zhuǎn)課堂教學(xué)來(lái)提高學(xué)生學(xué)習(xí)主動(dòng)性,還可以用項(xiàng)目法提高學(xué)生的合作能力,達(dá)到良好的教學(xué)效果。
關(guān)鍵詞 案例化 項(xiàng)目化 類比法 翻轉(zhuǎn)課堂
中圖分類號(hào):G642 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1007-0745(2022)01-0105-04
1 前言
隨著軟件技術(shù)的發(fā)展,現(xiàn)在主流地以JavaWeb等技術(shù)將前端開(kāi)發(fā)與后端結(jié)合起來(lái),運(yùn)用時(shí)下流行的一些前后臺(tái)框架,就可以開(kāi)發(fā)出各種應(yīng)用程序。因其廣闊的就業(yè)市場(chǎng)和良好的發(fā)展環(huán)境,被人們所喜愛(ài)。
2 開(kāi)設(shè)Java課程的必要性和現(xiàn)狀
2.1 軟件技術(shù)專業(yè)開(kāi)設(shè)Java課程的必要性
目前,計(jì)算機(jī)系軟件技術(shù)專業(yè)將web應(yīng)用系統(tǒng)開(kāi)發(fā)作為教學(xué)的一個(gè)重要開(kāi)設(shè)方向,并且與時(shí)俱進(jìn)地開(kāi)設(shè)了Java、JavaWeb、JavaEE、Andorid等相關(guān)課程,這些課程都是以Java做為主線,旨在培養(yǎng)合格的計(jì)算機(jī)行業(yè)編程、測(cè)試、項(xiàng)目管理、運(yùn)營(yíng)和維護(hù)等相關(guān)人員,以提高學(xué)生的就業(yè)率和就業(yè)質(zhì)量,讓學(xué)生學(xué)有所長(zhǎng),學(xué)有所得。
2.2 高職Java程序設(shè)計(jì)課程開(kāi)設(shè)的現(xiàn)狀
Java程序設(shè)計(jì)課程總共64學(xué)時(shí),4學(xué)分,其中理論課程32學(xué)時(shí),實(shí)踐課時(shí)32學(xué)時(shí)。Java程序設(shè)計(jì)課程內(nèi)容包含Java編程基礎(chǔ)、面向?qū)ο?、Java的三大特性——封裝、繼承、多態(tài)性,Java常用API、集合、泛型、IO流、多線程、網(wǎng)絡(luò)編程、JDBC等幾個(gè)大的模塊。根據(jù)??茖W(xué)生的在校學(xué)習(xí)時(shí)長(zhǎng)來(lái)看,64個(gè)學(xué)時(shí)講完所有的內(nèi)容,實(shí)屬困難。通常由于課時(shí)限制,老師為了完成相應(yīng)的教學(xué)進(jìn)度,采取“滿堂灌”的教學(xué)模式,互動(dòng)極少,使得學(xué)生學(xué)習(xí)興趣逐漸減退。
考試方式分為兩種形式,軟件技術(shù)專業(yè)以考察課的形式進(jìn)行,計(jì)算機(jī)系的其他專業(yè)以考試課的形式完成。其中以考察課進(jìn)行的班級(jí)考試中,有部分學(xué)生由于基礎(chǔ)較差,課堂不注意練習(xí),或者由于課堂上練習(xí)時(shí)長(zhǎng)不夠,期末無(wú)法獨(dú)自完成一個(gè)小項(xiàng)目,就會(huì)養(yǎng)成抄襲別人的代碼或者案例的習(xí)慣,使編程能力無(wú)法得到提高。
3 高職學(xué)生的特點(diǎn)和學(xué)習(xí)Java課程的現(xiàn)狀
高職學(xué)生學(xué)習(xí)情緒化較強(qiáng),對(duì)文科或者藝術(shù)性等感興趣的內(nèi)容具有較高的學(xué)習(xí)積極性,對(duì)于實(shí)踐性的學(xué)習(xí)內(nèi)容興趣較高;對(duì)于工科等內(nèi)容枯燥的課程內(nèi)容,學(xué)習(xí)興趣較低,且對(duì)于理論課程的內(nèi)容學(xué)習(xí)積極性較低。由于課時(shí)較少,機(jī)房數(shù)量有限,無(wú)法將所有的課程排在機(jī)房上課,學(xué)生自主練習(xí)的課長(zhǎng)不夠,課后不復(fù)習(xí),知識(shí)點(diǎn)不牢固,不能將知識(shí)運(yùn)用到實(shí)際案例或者項(xiàng)目中。
如何提高學(xué)生Java課程的學(xué)習(xí)興趣,提高學(xué)習(xí)的積極性和主動(dòng)性,以達(dá)到提高教育教學(xué)質(zhì)量,顯得非常重要。以下將圍繞Java課程,結(jié)合目前教學(xué)當(dāng)中的一些常用方法進(jìn)行應(yīng)用。
4 Java程序設(shè)計(jì)混合式教學(xué)方法應(yīng)用
4.1 優(yōu)化程序設(shè)計(jì)課程結(jié)構(gòu)
Java是一門面向?qū)ο缶幊陶Z(yǔ)言,具有功能強(qiáng)大和簡(jiǎn)單易用等特點(diǎn)。由于??茖W(xué)生在校學(xué)習(xí)時(shí)間短,可適當(dāng)調(diào)整教學(xué)計(jì)劃,加強(qiáng)基礎(chǔ)課程學(xué)習(xí)時(shí)間,通過(guò)研究?jī)?yōu)化課程結(jié)構(gòu)設(shè)計(jì),整體的提高學(xué)生的學(xué)習(xí)興趣和積極性,提供良好的開(kāi)端,并根據(jù)本年級(jí)的學(xué)生特點(diǎn)制定合適的大綱和計(jì)劃。
4.2 以案例化、項(xiàng)目化[1]教學(xué)提高學(xué)生學(xué)習(xí)興趣
在教學(xué)過(guò)程中,發(fā)現(xiàn)以知識(shí)點(diǎn)作為講解,有些稍顯枯燥,可嘗試在知識(shí)點(diǎn)講解完畢后,以一個(gè)案例做為知識(shí)點(diǎn)消化的方法,通過(guò)案例法進(jìn)行講解,讓學(xué)生對(duì)知識(shí)有一個(gè)直觀的認(rèn)識(shí)和理解,進(jìn)一步加深知識(shí)可遷移能力的培養(yǎng)。案例化教學(xué)過(guò)程具體的實(shí)施情況,如表1所示。
部分章節(jié)可以嘗試使用項(xiàng)目化教學(xué)[2],將所學(xué)的知識(shí)逐步串聯(lián)起來(lái),一方面可以將學(xué)生分成若干個(gè)小組,每個(gè)小組中分配有學(xué)習(xí)積極性高的學(xué)生,以學(xué)習(xí)積極性高的學(xué)生帶動(dòng)整個(gè)小組的學(xué)習(xí)氛圍,可有效提高學(xué)生們的學(xué)習(xí)興趣。整個(gè)小組分工合作完成,可達(dá)到知識(shí)的舉一返三(采用項(xiàng)目化教學(xué)的情況如表2所示)。
5 采用類比法[3]進(jìn)行課堂教學(xué)
類比教學(xué)法是以學(xué)生熟悉的事物來(lái)講解一個(gè)新的原理。學(xué)生在學(xué)習(xí)Java課程的同時(shí),已經(jīng)掌握了或者正在學(xué)習(xí)JavaScript編程基礎(chǔ)知識(shí),在數(shù)據(jù)類型、條件、循環(huán)、方法(函數(shù))、類、對(duì)象等章節(jié),可嘗試在教學(xué)的過(guò)程中,對(duì)比講解JavaScript和Java課程的相應(yīng)知識(shí)點(diǎn),通過(guò)比較他們的相同和不同點(diǎn),找出他們相關(guān)聯(lián)的地方,通過(guò)這種類比法教學(xué),在基礎(chǔ)知識(shí)階段,可以加深學(xué)生的理解程度,同時(shí)促進(jìn)學(xué)生知識(shí)的融匯貫通,對(duì)知識(shí)的遷移有積極的意義。以下是對(duì)前面幾個(gè)章節(jié)內(nèi)容進(jìn)行對(duì)比教學(xué)的介紹:
Java與JavaScript數(shù)據(jù)類型章節(jié)。Java是強(qiáng)語(yǔ)言類型,數(shù)據(jù)類型有基本數(shù)據(jù)類型和引用數(shù)據(jù)型等;JavaScript是弱語(yǔ)言類型,在定義變量的時(shí)候不需要嚴(yán)格指定變量的數(shù)據(jù)類型,而是根據(jù)變量后面的值確定變量的數(shù)據(jù)類型,而且數(shù)據(jù)類型相對(duì)只有數(shù)字型、字符串型、布爾型、空型、未定義型等。在教學(xué)的時(shí)候,結(jié)合2020級(jí)學(xué)生正在學(xué)習(xí)這兩門課程的特點(diǎn),對(duì)比進(jìn)行教學(xué),講解Java時(shí),帶入JavaScript的數(shù)據(jù)類型的特點(diǎn),可加深學(xué)生對(duì)知識(shí)的理解。
常量和變量章節(jié)。Java中定義變量首先需要申請(qǐng)數(shù)據(jù)類型,但是在JavaScript中,只需要一個(gè)var關(guān)鍵字,即可定義一個(gè)變量;常量的定義,在Java中定義常量使用final關(guān)鍵字,但在JavaScript中,要使用const關(guān)鍵字。以不同的案例進(jìn)行教學(xué),可達(dá)到學(xué)以致用的目的。
方法章節(jié)。Java中將方法定義在類中,通常將一個(gè)動(dòng)作定義在一個(gè)方法中,JavaScript中將這個(gè)方法稱為函數(shù),通常將一個(gè)功能定義在一個(gè)函數(shù)中。Java中定義方法的格式要申請(qǐng)?jiān)L問(wèn)權(quán)限、數(shù)據(jù)類型、返回值、方法名和參數(shù)列表等,但是JavaScript中定義函數(shù)的格式為function加方法名和參數(shù)列表等,定義方式稍微簡(jiǎn)單一些。
數(shù)組章節(jié)。Java中的數(shù)組是指相同的數(shù)據(jù)類型的一個(gè)集合,一個(gè)數(shù)組只能存放相同的數(shù)據(jù)類型,但是JavaScript中可以將數(shù)字型、字符串型、布爾型等多種數(shù)據(jù)類型存放在一個(gè)數(shù)組中。Java中有一維、二維和多維數(shù)組的概念,但是在JavaScript中沒(méi)有多維數(shù)組的概念,通過(guò)在一維數(shù)組中再創(chuàng)建數(shù)組,達(dá)到二維、二維數(shù)組的訪問(wèn)。同一維數(shù)組元素的訪問(wèn)方法一樣,要先通過(guò)二維數(shù)組索引號(hào)找到二維數(shù)組的元素,再通過(guò)該元素的索引號(hào)找到具體的元素值。
運(yùn)算符、選擇結(jié)構(gòu)語(yǔ)句、循環(huán)結(jié)構(gòu)語(yǔ)句,Java和JavaScript兩種語(yǔ)言的用法類似,只是在語(yǔ)法上略有不同,需要結(jié)合學(xué)生的實(shí)際情況進(jìn)行對(duì)比教學(xué)。
通過(guò)類比教學(xué)法在Java中的應(yīng)用實(shí)踐,說(shuō)明這種教學(xué)法在提高教學(xué)應(yīng)用能力,深化對(duì)概念及規(guī)律的理解、激發(fā)創(chuàng)新思維等方面可以取得事半功倍的效果。
6 適當(dāng)采用翻轉(zhuǎn)課堂[4-5]教學(xué)
軟件技術(shù)專業(yè)部分學(xué)生因?yàn)橥獬鰠⒓忧诠€學(xué),到了暑假才開(kāi)始上課。因此,在暑假上課時(shí)需要采用超星學(xué)習(xí)通輔助完成教學(xué),通過(guò)提前對(duì)一些難以理解的知識(shí)點(diǎn)提前錄制視頻,上傳一些課程資料,提示要求學(xué)生提前預(yù)習(xí),可完成相應(yīng)的學(xué)習(xí)任務(wù)點(diǎn)。對(duì)于課程的基礎(chǔ)語(yǔ)法、對(duì)象等部分章節(jié),采用了翻轉(zhuǎn)課堂進(jìn)行課堂教學(xué),通過(guò)提前布置任務(wù)給學(xué)生,讓學(xué)生先嘗試通過(guò)查閱資料、視頻等完成了一個(gè)個(gè)小模塊。將這一教學(xué)方法在一些班級(jí)進(jìn)行試驗(yàn),教學(xué)效果得到明顯改善。
7 教學(xué)效果
當(dāng)學(xué)生學(xué)習(xí)完Java程序設(shè)計(jì)后,制作了閱卷調(diào)查,一共按照計(jì)劃收集了20級(jí)軟件技術(shù)2、3、4、9、10、11、12、13班共8個(gè)班的《閱卷調(diào)查》報(bào)告,共計(jì)近300份,其中9、10、11、12、13班因?yàn)槭乔诠ぶ鷮W(xué)班,大部分學(xué)生外出實(shí)習(xí),留在本班學(xué)習(xí)的學(xué)生較少,平均只有10幾個(gè),整體閱卷調(diào)查覆蓋整個(gè)年級(jí)大部分班級(jí)(學(xué)生掌握知識(shí)的情況如表3所示)。
學(xué)生普遍反映,Java程序設(shè)計(jì)知識(shí)點(diǎn)本身有點(diǎn)枯燥,但由于老師采用了以上各種教學(xué)方法,使學(xué)生能夠跟上老師的節(jié)奏,調(diào)動(dòng)了學(xué)生學(xué)習(xí)的積極性。學(xué)生通過(guò)對(duì)比法,逐漸掌握到了Java的基礎(chǔ)知識(shí),了解到了Java語(yǔ)言的魅力;通過(guò)案例法,學(xué)生從知識(shí)點(diǎn)逐漸過(guò)渡實(shí)際生活的案例,以點(diǎn)到面,逐漸形成利用Java語(yǔ)法解決問(wèn)題的習(xí)慣,達(dá)到知識(shí)點(diǎn)的深刻理解;通過(guò)項(xiàng)目法,學(xué)生開(kāi)始總結(jié)每章所學(xué)習(xí)的知識(shí)點(diǎn),以一個(gè)小組共同完成一個(gè)小項(xiàng)目,盡管在編程的過(guò)程中遇到了不少問(wèn)題和麻煩,但最終可以單獨(dú)做出一個(gè)項(xiàng)目,整體能力有了不小的提升,收獲頗豐。
8 結(jié)語(yǔ)
Java程序設(shè)計(jì)是計(jì)算機(jī)系軟件技術(shù)等相關(guān)專業(yè)的一門專業(yè)課程,傳統(tǒng)的教學(xué)模式,是以老師一人授課,學(xué)生聽(tīng)的模式,但學(xué)生的基礎(chǔ)薄弱,理解基礎(chǔ)知識(shí)點(diǎn)困難,課堂上跟不上老師的步驟。本文通過(guò)采取案例法、對(duì)比法、項(xiàng)目法等教學(xué)方法進(jìn)行教學(xué),取得了一定的教學(xué)效果,使學(xué)生的興趣得到了一定的提高,并感受到了Java語(yǔ)言的魅力,為后續(xù)JavaWeb、JavaEE等課程打下了扎實(shí)的基礎(chǔ)。
參考文獻(xiàn):
[1] 劉萍,陳東東.高職Java程序設(shè)計(jì)課程教學(xué)設(shè)計(jì)與實(shí)踐[J].計(jì)算機(jī)教育,2016,150(02):150-152.
[2] 李韋紅.高職院校Java程序設(shè)計(jì)課程教學(xué)改革與探索研究[J].電腦知識(shí)與技術(shù),2018(14):147-148.
[3] 王樹(shù)寶.以創(chuàng)課為載體助推《Java程序設(shè)計(jì)》課程教學(xué)改革[J].計(jì)算機(jī)教育,2021,42(02):178-179.
[4] 宋艷.超星學(xué)習(xí)通在Java程序設(shè)計(jì)課程教學(xué)中的應(yīng)用[J].福建電腦,2020,36(11):137-138.
[5] 熊風(fēng)光,張?jiān)?,況立群.面向?qū)ο蟪绦蛟O(shè)計(jì)課程教學(xué)改革[J].計(jì)算機(jī)教育,2021(09):86-88.