黎梨苗,王江濤
(長(zhǎng)沙大學(xué)數(shù)學(xué)與計(jì)算機(jī)科學(xué)系,湖南長(zhǎng)沙410022)
Java語(yǔ)言是IT界應(yīng)用最為廣泛、最為流行的軟件開(kāi)發(fā)語(yǔ)言之一,Java編程技能已成為IT界人才必備的能力之一.高校作為培養(yǎng)IT界人才的主要機(jī)構(gòu),許多高校計(jì)算機(jī)專(zhuān)業(yè)已把Java語(yǔ)言列為必開(kāi)的一門(mén)骨干課程.由于Java語(yǔ)言實(shí)踐性和操作性很強(qiáng),其概念多且較抽象,語(yǔ)法及程序結(jié)構(gòu)較復(fù)雜,屬計(jì)算機(jī)專(zhuān)業(yè)課程里一門(mén)較難學(xué)較難教的課程,因此許多學(xué)生在學(xué)習(xí)該課時(shí)感覺(jué)枯燥無(wú)味,不易掌握,動(dòng)手編程能力差[1].如何解決這一問(wèn)題關(guān)鍵在教學(xué),教學(xué)效果直接影響著學(xué)生對(duì)該門(mén)課知識(shí)掌握的好壞,因此對(duì)如何教好Java語(yǔ)言面向?qū)ο蟪绦蛟O(shè)計(jì)已倍受教課老師們的關(guān)注.下面分別從學(xué)生、老師、第一課堂及授課四個(gè)方面來(lái)論述.
一個(gè)班上學(xué)生的基礎(chǔ)差異非常大,有的高中時(shí)候就自學(xué)過(guò)或培訓(xùn)過(guò)Java,有的連電腦都沒(méi)碰過(guò),就更談不上學(xué)Java了;學(xué)習(xí)興趣的差異,有的學(xué)生一開(kāi)始學(xué)Java時(shí),就下定決心要如何如何學(xué)好這門(mén)課,有的學(xué)生則一點(diǎn)都不想學(xué)這種“寫(xiě)英文字母”的語(yǔ)言.上述這些情況再加上一些額外的影響因素,導(dǎo)致學(xué)生課堂上呈現(xiàn)這樣的一些現(xiàn)象:老師講老師的,學(xué)生自己在下面玩手機(jī)或說(shuō)話(huà),有的睡覺(jué),有的看別的書(shū)籍等不良現(xiàn)象.針對(duì)這些現(xiàn)象,解決的關(guān)鍵辦法就是該如何吸引學(xué)生的注意力,讓他對(duì)老師講的內(nèi)容感興趣.筆者將在下文“第一堂課”與“授課技巧”中來(lái)討論這一問(wèn)題.
老師是課堂的主導(dǎo)者,老師首先得掌握好所授課的內(nèi)容,其次備課是天經(jīng)地義的事.如何依據(jù)學(xué)生的特點(diǎn)來(lái)備好一堂課?除了采用許多同行們都談到的案例式教學(xué)備好課外,還要考慮如何來(lái)把案例與生活聯(lián)系起來(lái),這是課堂之內(nèi)的內(nèi)容.另外,我們?cè)S多老師可能把課堂外的內(nèi)容給忽視掉了,如正式講上課內(nèi)容前的兩三分鐘如何把學(xué)生的注意力吸引到老師身上來(lái),如何在課中插入與課堂有關(guān)的學(xué)生容易理解的生活之事.同樣,筆者將在下文中探討這些問(wèn)題的解決方案.
上好Java的第一堂課非常關(guān)鍵,在某種程度上來(lái)說(shuō),決定了學(xué)生是否對(duì)Java感興趣,是否喜歡你這個(gè)老師.如果學(xué)生具備了上述兩點(diǎn),掌握好Java的知識(shí)基本沒(méi)問(wèn)題了.如何上好Java的第一堂課呢?本文作者根據(jù)自身教Java的經(jīng)驗(yàn)來(lái)談點(diǎn)體會(huì).在第一堂課上,首先老師通常就是進(jìn)行自我介紹,然后就開(kāi)始講課本上第一章的內(nèi)容了.作者認(rèn)為,老師一般都會(huì)提前到教室,教室里通常坐了一些學(xué)生,那么進(jìn)教室那一刻,老師應(yīng)該面帶笑容對(duì)著學(xué)生說(shuō)聲“大家好”,這一聲會(huì)把許多學(xué)生的目光吸引過(guò)來(lái),給他們的第一印象應(yīng)該不錯(cuò)吧.當(dāng)然,可能不會(huì)有學(xué)生向你問(wèn)好,你自然的把課本放上講臺(tái),直接走到臺(tái)下較近的幾個(gè)學(xué)生面前問(wèn)問(wèn)他們:上學(xué)期學(xué)了哪些課程?感覺(jué)怎么樣?......自然的跟他們聊聊.這樣會(huì)讓學(xué)生感覺(jué)到這老師具有親和力,好打交道,換句話(huà)說(shuō)學(xué)生應(yīng)該喜歡這樣的老師給他們上課.上課鈴響了,老師還是按正常的禮節(jié)響亮地說(shuō)聲“上課”,待相互問(wèn)好坐下后,開(kāi)始上課了.我會(huì)拿著課本首先向?qū)W生提個(gè)問(wèn)“大家看到這本教材第一時(shí)間最想學(xué)到什么東西呢?”,當(dāng)然也許沒(méi)一個(gè)人回答,老師應(yīng)該為他們準(zhǔn)備好答案.首先考慮到學(xué)生學(xué)Java前通常都學(xué)了C語(yǔ)言,現(xiàn)在又學(xué)Java語(yǔ)言,首先就得把這兩種語(yǔ)言做個(gè)大體上的比較,讓學(xué)生明白這兩種語(yǔ)言的區(qū)別.比如C語(yǔ)言是面向過(guò)程的語(yǔ)言,Java是面向?qū)ο蟮恼Z(yǔ)言,然后舉例解釋.如一輛轎車(chē),C語(yǔ)言是用來(lái)描述這輛轎車(chē)是如何做成的,第一步做什么,第二步做什么,......而Java語(yǔ)言是用來(lái)對(duì)擺在你面前的這輛轎車(chē)進(jìn)行描述:什么顏色,有幾扇門(mén),轎車(chē)的狀態(tài)如何來(lái)改變.我們用Java描述如下:
稍解釋下代碼的意思.經(jīng)這么一講,學(xué)生就明白了C語(yǔ)言與Java語(yǔ)言有什么本質(zhì)的區(qū)別,同時(shí)也會(huì)稍略領(lǐng)悟到對(duì)象的含義了.
接下來(lái),學(xué)生會(huì)很想知道用Java語(yǔ)言他們到底能做什么,這個(gè)時(shí)候就應(yīng)該展示學(xué)生都感興趣的東西,如網(wǎng)上的QQ聊天工具,這個(gè)時(shí)候最好演示用Java語(yǔ)言實(shí)現(xiàn)的簡(jiǎn)單的聊天系統(tǒng),將運(yùn)行結(jié)果應(yīng)用給他們看,如下圖1所示.
圖1 簡(jiǎn)單聊天系統(tǒng)演示及操作結(jié)果
對(duì)演示結(jié)果簡(jiǎn)單的做下介紹,讓他們明白功能.“Java能做這個(gè)啊”,“有趣”等演示后學(xué)生發(fā)出這樣的一些心聲,這說(shuō)明他們至少對(duì)Java充滿(mǎn)好奇了.這時(shí),大部分學(xué)生應(yīng)該很想要學(xué)好Java了,接下來(lái)學(xué)生最想做什么事呢?應(yīng)用演示給他們看了,學(xué)生應(yīng)該很想知道Java運(yùn)行環(huán)境了.于是,我開(kāi)始叫他們拿起課本打開(kāi)目錄,對(duì)目錄進(jìn)行簡(jiǎn)單的介紹,并把教學(xué)的順序講一下.通常情況下,老師們都是按照目錄順序來(lái)上課的,但我不是那么做,我把書(shū)上最后一章講的Java運(yùn)行環(huán)境放在第一堂課上講,因?yàn)閷W(xué)生聽(tīng)完第一次課后很想自己試著去把書(shū)上的簡(jiǎn)單例子將代碼輸入調(diào)試一下,因此,第一堂課教會(huì)他們把Java的開(kāi)發(fā)環(huán)境安裝好非常重要.接下來(lái)就是一步一步的教會(huì)他們?nèi)绾伟惭bJDK,如何安裝Eclipse.
把第一堂課該講的講完了,留下下課的前幾分鐘開(kāi)始做下自我介紹,當(dāng)然姓名、聯(lián)系方式都是直接顯示在PPT上,真正該介紹下自己的是對(duì)學(xué)生有影響的經(jīng)歷介紹.如求學(xué)路上有意義的經(jīng)歷,遇到一些困難如何克服,大學(xué)畢業(yè)后找工作的經(jīng)歷等.自我介紹可能沒(méi)講完就下課了,當(dāng)然是正常的下課(一般學(xué)生不喜歡拖堂的老師).不要急著離開(kāi)教室,有的學(xué)生會(huì)對(duì)老師的經(jīng)歷感興趣想聽(tīng)完介紹,他會(huì)找你聊聊,很好啊,可以趁這時(shí)多跟學(xué)生溝通.這Java的第一堂課就算完了,學(xué)生是否“喜歡”上你這個(gè)老師,是否喜歡上Java課了,就我教Java以來(lái)的經(jīng)驗(yàn)體會(huì)“第一堂課起關(guān)鍵性的作用”.
第一堂課上好了,后面的課堂如何把握呢?文獻(xiàn)[2-4]都是談到案例式教學(xué).案例式教學(xué)應(yīng)該是計(jì)算機(jī)語(yǔ)言授課的主要方式,光講案例嗎?如果是這樣,計(jì)算機(jī)語(yǔ)言課堂就更枯燥了.首先我們一定要選擇實(shí)用的學(xué)生也有可能參與過(guò)的案例來(lái)講解.如講到數(shù)組時(shí),我會(huì)用模擬抽彩票的案例來(lái)講數(shù)組的知識(shí)及應(yīng)用,等程序運(yùn)行出結(jié)果時(shí),你輸入一個(gè)7,隨機(jī)產(chǎn)生7個(gè)數(shù)字,你開(kāi)玩笑講講今天誰(shuí)用這組數(shù)去買(mǎi)彩票要是中了,我要中的金額的5%用來(lái)給大家買(mǎi)糖吃,學(xué)生聽(tīng)到這話(huà)都會(huì)開(kāi)心一笑,這樣的課堂應(yīng)該對(duì)他們來(lái)說(shuō)不枯燥了吧.另外,我們?cè)谥v授知識(shí)點(diǎn)時(shí),也一樣,盡量用身邊的例子來(lái)講授知識(shí),如講授Java里的訪(fǎng)問(wèn)控制符public時(shí),我不會(huì)一開(kāi)始就講有public修飾的類(lèi)可以被不同包與同一包的類(lèi)訪(fǎng)問(wèn),而是突然來(lái)一句輕唱“大河向東流啊,你我有啊全都有”,除了博得學(xué)生們的一笑活躍課堂外,還吸引了小部分沒(méi)怎么認(rèn)真聽(tīng)課或正在開(kāi)小猜的學(xué)生,也許他們?cè)谙肜蠋熯@講的什么呢?很有可能這部分學(xué)生也投入認(rèn)真聽(tīng)課了.當(dāng)然接下來(lái)是講與“你我有啊全都有”意思相近的public了.我們面向?qū)ο蟮囊粋€(gè)特點(diǎn)就是程序設(shè)計(jì)是非常符合人類(lèi)思維的,生活中許多例子都可以做為我們講Java課中理論知識(shí)的相似內(nèi)容.如講異常時(shí),我一開(kāi)始不會(huì)講異常的概念,而是給出下面的方法:
先講知識(shí)類(lèi)似的自創(chuàng)方法合格大學(xué)(),接下來(lái)再講相關(guān)方法readFile(),分別如下:
先講每個(gè)學(xué)生都熟悉的判斷合格大學(xué)生?()方法里每條語(yǔ)句可能出現(xiàn)不成功的原因,講這個(gè)應(yīng)該是大家都感興趣的內(nèi)容,接下來(lái)再講我們用Java語(yǔ)言寫(xiě)的readFile()方法里每條語(yǔ)句可能執(zhí)行不成功的原因,從而引申出異常的概念.接下來(lái)對(duì)readFile()方法里語(yǔ)句出現(xiàn)異常的情況用C語(yǔ)言如何來(lái)解決,給出代碼;用Java語(yǔ)言如何來(lái)解決異常,給出try/catch結(jié)構(gòu)程序.做個(gè)比較講解來(lái)加強(qiáng)學(xué)生對(duì)Java語(yǔ)言特點(diǎn)的掌握,同時(shí)引出Java異常處理的方法.
上述內(nèi)容講的都是授課課堂中的內(nèi)容,當(dāng)然授本節(jié)課內(nèi)容之前把學(xué)生的注意力都吸引到講臺(tái)上或老師身上或PPT上都非常重要,這就要靠老師們多準(zhǔn)備好一些素材.如上課前我會(huì)用一分鐘的時(shí)間給大家出幾道腦筋急轉(zhuǎn)彎做做再講課,或講講網(wǎng)上一些對(duì)學(xué)生都有益的話(huà)題,如“餓是一種養(yǎng)生法”或來(lái)個(gè)天氣預(yù)報(bào)播報(bào),提醒學(xué)生該怎么做等等許多生活中的事來(lái)吸引學(xué)生.當(dāng)然也可以在第一個(gè)PPT中做些搞笑的內(nèi)容,如動(dòng)畫(huà),漫畫(huà)等吸引學(xué)生.
本文先分析了學(xué)生與老師的情況及存在的問(wèn)題,然后從第一堂課與授課兩個(gè)方面闡述了前二者要解決的問(wèn)題.在第一堂與課授課里,以實(shí)際的例子講授了該如何來(lái)激發(fā)學(xué)生學(xué)習(xí)Java的興趣,如何來(lái)吸引學(xué)生聽(tīng)課的注意力,如何將枯燥的Java授課課堂變得活躍充滿(mǎn)樂(lè)趣.教Java課,除了采用先進(jìn)的科學(xué)的教理論的方法外,我們應(yīng)該來(lái)創(chuàng)新教Java語(yǔ)言教的方法,讓學(xué)生在樂(lè)趣中來(lái)學(xué)習(xí)理論性較強(qiáng)的比較抽象的知識(shí).Java語(yǔ)言課程的改革應(yīng)以提高學(xué)生的學(xué)習(xí)興趣與聽(tīng)課效率為主,以實(shí)際生活中的例子為理論授課依據(jù),讓學(xué)生深刻認(rèn)識(shí)“理論從實(shí)踐中來(lái)到實(shí)踐中去”的道理,從而來(lái)提高教Java的質(zhì)量,這樣才能培養(yǎng)出社會(huì)所需要的正真能從事軟件開(kāi)發(fā)的人才.
[1]屈曉.《Java語(yǔ)言程序設(shè)計(jì)》教學(xué)探討[J].現(xiàn)代計(jì)算機(jī),2013,(3):36-38.
[2]符志強(qiáng),張紅.Java課程案例教學(xué)改革研究[J].現(xiàn)代計(jì)算機(jī),2010,(11):38-43.
[3]蘇富林.Java語(yǔ)言教學(xué)探討[J].甘肅高師學(xué)報(bào),2007,(5):83-84.
[4]劉春霞.Java語(yǔ)言教學(xué)中項(xiàng)目驅(qū)動(dòng)教學(xué)法的應(yīng)用[J].濱州學(xué)院學(xué)報(bào),2013,(3):102-103.