劉康 高文超
摘 要:基于“互聯(lián)網(wǎng)+”理念、“Java語言與網(wǎng)絡(luò)編程”課程教學(xué)內(nèi)容與教學(xué)重點(diǎn)的基礎(chǔ),該文描述Java語言教學(xué)與網(wǎng)絡(luò)編程教學(xué)的關(guān)系,并提出網(wǎng)絡(luò)編程教學(xué)與實(shí)例結(jié)合的教學(xué)方法,達(dá)到在網(wǎng)絡(luò)編程方面提高學(xué)生的實(shí)踐能力的效果,滿足社會(huì)對(duì)互聯(lián)網(wǎng)人才的需求。
關(guān)鍵詞:“互聯(lián)網(wǎng)+” Java語言 網(wǎng)絡(luò)編程 方法設(shè)計(jì)
中圖分類號(hào):G250.72 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1674-098X(2015)10(b)-0223-02
Discussion on the Teaching of“Java Language and Network Programming”
Liu Kang Gao Wenchao
(China University of Mining & Technology, Beijing School of Mechanical Electronic & Information Engineering,Beijing,100083,China)
Abstract:Based on the concept of internet plus and the content of“Java language and Network Programming”, this paper describes the relationship between Java language and network programming.To meet the social demand for internet, we propose a new teaching method combining examples and improve the students practical ability on network programming.
Key Words:Internet Plus;Java Language;Network Programming;Method Design
面向?qū)ο蟪绦蛟O(shè)計(jì)是當(dāng)前程序設(shè)計(jì)的主流思路,是軟件開發(fā)人員必須掌握的基本技能。Java語言作為一種跨平臺(tái)、面向?qū)ο蟮某绦蛟O(shè)計(jì)語言,擁有分布式特性,為網(wǎng)絡(luò)編程提供了良好的開發(fā)和運(yùn)行環(huán)境。因此,掌握J(rèn)ava語言已經(jīng)成為計(jì)算機(jī)專業(yè)學(xué)生的基本要求。
另外,隨著“互聯(lián)網(wǎng)+”理念的提出,網(wǎng)絡(luò)編程技術(shù)作為發(fā)展基石,日益成為社會(huì)關(guān)注的熱門技術(shù)。然而大學(xué)本科教學(xué)任務(wù)中對(duì)Java語言的教學(xué)側(cè)重較多,對(duì)網(wǎng)絡(luò)編程的講解卻比較少。因此,需要重新審視Java語言教學(xué)與網(wǎng)絡(luò)編程教學(xué)之間的偏重程度。
1 教學(xué)存在的問題
針對(duì)計(jì)算機(jī)專業(yè)學(xué)生而言,Java語言作為C++語言的擴(kuò)充知識(shí)學(xué)習(xí),學(xué)生在學(xué)習(xí)Java語言之前已經(jīng)掌握基本程序設(shè)計(jì)的思想,具有編程基礎(chǔ)。而在現(xiàn)階段教學(xué)中,如果教師一味地講解書本的知識(shí)點(diǎn),就會(huì)出現(xiàn)下面的問題。
首先,現(xiàn)有的Java語言教材重復(fù)羅列語言的語法規(guī)則,程序設(shè)計(jì)的思想。在Java課程中,教師需要重復(fù)地講解。譬如,在C++語言中學(xué)過了面向?qū)ο蟮幕舅枷耄约吧踔猎贑語言中學(xué)過的基本的數(shù)據(jù)類型和結(jié)構(gòu)化的控制語句等。對(duì)學(xué)生而言,對(duì)已掌握知識(shí)點(diǎn)的重復(fù)講解,顯得非??菰铮M(jìn)而導(dǎo)致學(xué)生的上課積極性不高,降低教學(xué)效率。
其次,現(xiàn)有Java語言教材偏重于Java語言知識(shí)點(diǎn)的講解,而對(duì)Java語言特性以及應(yīng)用方面的知識(shí)涉及較少,并且缺少語言知識(shí)規(guī)則與實(shí)際應(yīng)用結(jié)合的范例,從而導(dǎo)致學(xué)生的學(xué)習(xí)目標(biāo)不明確。
2 課程教學(xué)的定位
針對(duì)Java語言而言,開設(shè)“Java語言與網(wǎng)絡(luò)編程”課程之前,計(jì)算機(jī)專業(yè)的學(xué)生已經(jīng)掌握C++等程序設(shè)計(jì)語言的基礎(chǔ)知識(shí),對(duì)整個(gè)的語言結(jié)構(gòu)和語言規(guī)則了熟于心。那么在教學(xué)過程中,通過與C++的對(duì)比,可讓學(xué)生更好地理解Java的設(shè)計(jì)原理,不僅讓學(xué)生理解Java的工作機(jī)制,而且可為后續(xù)的網(wǎng)絡(luò)編程教學(xué)做好鋪墊。通過兩種語言的對(duì)比學(xué)習(xí),讓學(xué)生加深對(duì)Java的理解。
Java包是Java語言的核心,Java語言將網(wǎng)絡(luò)編程等復(fù)雜而非常重要的功能封裝成Java包提供給程序員使用,是Java技術(shù)的重要特點(diǎn)。在教學(xué)過程中,著重講解Java包的工作機(jī)制,就能夠完成Java語言篇的教學(xué)任務(wù)[2]。
針對(duì)網(wǎng)絡(luò)編程而言,大致包含3個(gè)類別[1]:基于TCP/IP 協(xié)議網(wǎng)絡(luò)編程、基于WWW應(yīng)用網(wǎng)絡(luò)編程、Web Service 網(wǎng)絡(luò)編程?,F(xiàn)有的網(wǎng)絡(luò)編程語言主要包括:MFC、C++、C#.NET、Java。早期的網(wǎng)絡(luò)編程采用C++編寫的套接字API,隨著Java語言的出現(xiàn),由于其特有的跨平臺(tái)和分布式特性,J2EE技術(shù)的推廣,使其成為現(xiàn)階段廣泛使用的網(wǎng)絡(luò)編程語言。
“Java語言與網(wǎng)絡(luò)編程”課程主要講解基于網(wǎng)絡(luò)理論的編程實(shí)踐,全篇文章講述基于TCP/IP協(xié)議的通信方式,完成客戶端與服務(wù)器端之間的通信。網(wǎng)絡(luò)編程教學(xué)環(huán)節(jié)要求學(xué)生理解計(jì)算機(jī)網(wǎng)絡(luò)的基本理論,運(yùn)用Java語言進(jìn)行編程開發(fā),也稱為注重實(shí)踐環(huán)節(jié)。通過課堂理論教學(xué)培養(yǎng)和建立面向?qū)ο蟮某绦蛟O(shè)計(jì)思想,能搭建Java應(yīng)用開發(fā)環(huán)境,具備一定的應(yīng)用程序開發(fā)能力。搭建基于Java的Web的應(yīng)用開發(fā)環(huán)境,開發(fā)基于web的網(wǎng)絡(luò)應(yīng)用。因此,網(wǎng)絡(luò)編程是該門課程的重要內(nèi)容,也是整個(gè)教學(xué)大綱的主要部分。
3 課程教學(xué)方法的設(shè)計(jì)
3.1 啟發(fā)學(xué)習(xí)興趣,加強(qiáng)教學(xué)互動(dòng)
興趣是學(xué)習(xí)的根本動(dòng)力和源泉。在教學(xué)過程中提供豐富的教學(xué)資源和創(chuàng)新的教學(xué)方式,對(duì)于知識(shí)點(diǎn)的講解,以實(shí)例為入口,突出知識(shí)點(diǎn)解決實(shí)例問題的價(jià)值,如此結(jié)合可讓學(xué)生在解決實(shí)際問題的同時(shí)理解記憶枯燥的知識(shí)點(diǎn),明確學(xué)習(xí)的目標(biāo)。介紹網(wǎng)絡(luò)編程技術(shù)在生活中的實(shí)例,幫助學(xué)生了解網(wǎng)絡(luò)開發(fā)環(huán)境和實(shí)現(xiàn)方式,鼓勵(lì)學(xué)生創(chuàng)作實(shí)驗(yàn)作品,從而激發(fā)學(xué)生的學(xué)習(xí)興趣。
加強(qiáng)教學(xué)互動(dòng),完善課堂教學(xué)的答疑環(huán)節(jié)。在教學(xué)過程中,切記不可唱“獨(dú)臺(tái)戲”,需要增加與學(xué)生互動(dòng)的環(huán)節(jié),營造一個(gè)活躍地課堂氣氛,牢牢地抓住學(xué)生的思緒,防止學(xué)生上課走神。
3.2 培養(yǎng)“面向?qū)ο蟆背绦蛟O(shè)計(jì)思想
在教學(xué)期間,強(qiáng)調(diào)養(yǎng)成程序設(shè)計(jì)風(fēng)格的重要性,優(yōu)秀的編程思想不僅可以加強(qiáng)技術(shù)互補(bǔ),還可以提高程序的可維護(hù)性、安全性。此外,依照J(rèn)ava語言的面向?qū)ο蟮奶攸c(diǎn),需注重培養(yǎng)學(xué)生“面向?qū)ο蟆钡乃季S方式,在教學(xué)過程中,努力結(jié)合生活中的實(shí)例,對(duì)面向?qū)ο笤O(shè)計(jì)進(jìn)行創(chuàng)造性的教學(xué),從而達(dá)到提高學(xué)生的面向?qū)ο蟮睦斫饽芰头治瞿芰?,最終提高學(xué)生的解決實(shí)際問題的能力。
3.3 理論與實(shí)例相結(jié)合
網(wǎng)絡(luò)編程作為基于Java語言的應(yīng)用型內(nèi)容,其理論基礎(chǔ)知識(shí)單調(diào)枯燥,那么,在教學(xué)中,需要結(jié)合實(shí)踐中的具體實(shí)例進(jìn)行講解,提高學(xué)生的學(xué)習(xí)興趣,真正做到理論與實(shí)例相結(jié)合。倘若片面地記憶理論知識(shí),那么進(jìn)行網(wǎng)絡(luò)編程設(shè)計(jì)則非常困難。
譬如,講解Servlet會(huì)話機(jī)制知識(shí)點(diǎn)時(shí),可將生活中的購物網(wǎng)站實(shí)例與之相結(jié)合。通過Servlet會(huì)話機(jī)制可以實(shí)現(xiàn)購物網(wǎng)站的購物車的小應(yīng)用,具體實(shí)現(xiàn)步驟如下。
當(dāng)用戶登錄購物網(wǎng)站時(shí),服務(wù)器就為用戶創(chuàng)建一個(gè)會(huì)話對(duì)象,也即創(chuàng)建了一個(gè)購物車對(duì)象,此時(shí)一個(gè)會(huì)話對(duì)象對(duì)應(yīng)一個(gè)購物車對(duì)象。
實(shí)現(xiàn)購物車的服務(wù)(Servlet),使用該服務(wù)的會(huì)話對(duì)象存儲(chǔ)用戶的購物車對(duì)象(當(dāng)前IP地址登錄的用戶),購物車存儲(chǔ)用戶購買的商品列表。
當(dāng)用戶向購物車中添加商品或刪除商品時(shí),購物車的服務(wù)(Servlet)更新商品列表。
當(dāng)用戶要結(jié)賬時(shí),購物車服務(wù)(Servlet)就從會(huì)話中檢索購物車對(duì)象(當(dāng)前登錄的用戶),從購物車中檢索商品列表,并計(jì)算總價(jià)格。
一旦用戶結(jié)算完成,服務(wù)器就會(huì)關(guān)閉會(huì)話(關(guān)閉當(dāng)前購物的連接),用戶完成購物。
3.4 發(fā)揮理論指導(dǎo)實(shí)踐作用
單一地學(xué)習(xí)課程理論往往不足以加深知識(shí)點(diǎn)的理解,還需結(jié)合課程實(shí)踐。針對(duì)“Java語言與網(wǎng)絡(luò)編程”課程的特點(diǎn),將課程實(shí)踐分為驗(yàn)證實(shí)踐、設(shè)計(jì)實(shí)踐、綜合設(shè)計(jì)實(shí)踐三部分。增加設(shè)計(jì)性、綜合性實(shí)踐在實(shí)踐所占比例,發(fā)揮學(xué)生的積極性和創(chuàng)造性,培養(yǎng)學(xué)生的創(chuàng)新能力和應(yīng)用能力,具體分配如表1所示。
4 結(jié)語
教學(xué)方法的研究與探索是教育領(lǐng)域一個(gè)永恒的課題。隨著“互聯(lián)網(wǎng)+”理念的提出,國家對(duì)軟件人才的需求也隨之發(fā)生變化,因此,需要構(gòu)建創(chuàng)新性的教學(xué)方法,以提高教學(xué)質(zhì)量,培養(yǎng)合格的人才。該文從分析“Java語言與網(wǎng)絡(luò)編程”課程的教學(xué)問題入手,闡述二者之間的關(guān)系,為后繼課程教學(xué)定位提供堅(jiān)實(shí)的基礎(chǔ)。根據(jù)課程定位的準(zhǔn)則,探討了課程教學(xué)方法的設(shè)計(jì),以實(shí)例為導(dǎo)向,啟發(fā)學(xué)生的學(xué)習(xí)興趣,增強(qiáng)教學(xué)互動(dòng),以理論結(jié)合實(shí)例、理論指導(dǎo)實(shí)踐的準(zhǔn)則,激發(fā)學(xué)生的學(xué)習(xí)興趣。今后,繼續(xù)探尋、研究、總結(jié)教學(xué)經(jīng)驗(yàn),使整個(gè)教學(xué)環(huán)節(jié)更加完善合理。
參考文獻(xiàn)
[1] 葉樹華,高志紅.網(wǎng)絡(luò)編程實(shí)用教程[M].北京:人民郵電出版社,2006.
[2] 孫衛(wèi)琴.Java面向?qū)ο缶幊蘙M].北京:電子工業(yè)出版社,2006.
[3] 劉漢興,劉才興.“網(wǎng)絡(luò)編程”教學(xué)方法的探索[J].計(jì)算機(jī)教育,2010(3):91-93.
[4] 姚明,彭志平.教學(xué)型本科院校計(jì)算機(jī)專業(yè)Java教學(xué)之我見[J].計(jì)算機(jī)教育,2011(4):51-55.
[5] 唐光義,劉勝輝.以工程應(yīng)用為導(dǎo)向的JAVA教學(xué)方法探索[J].計(jì)算機(jī)教育,2013(5):86-89.
科技創(chuàng)新導(dǎo)報(bào)2015年29期