首鋼工學(xué)院 王佃來
高職Java程序設(shè)計(jì)教材建設(shè)關(guān)鍵問題分析
首鋼工學(xué)院 王佃來
Java程序設(shè)計(jì)基礎(chǔ)是軟件技術(shù)專業(yè)的專業(yè)基礎(chǔ)課,該課程對后續(xù)課程的學(xué)習(xí)和將來的學(xué)生就業(yè)起著舉足輕重的作用,因此Java程序設(shè)計(jì)教材建設(shè)對專業(yè)教學(xué)和學(xué)生培養(yǎng)至關(guān)重要。本文基于高職教學(xué)注重學(xué)生動手能力和解決實(shí)際問題能力培養(yǎng)的特點(diǎn)分析了高職教材建設(shè)中關(guān)鍵問題,并對相關(guān)問題給出了相應(yīng)的解決建議。
高職 Java教材
一本好的教材無論對教師的教學(xué)還是學(xué)生的學(xué)習(xí)都至關(guān)重要,高職教學(xué)無論從培養(yǎng)目標(biāo)和學(xué)生自身的特點(diǎn)與本科教學(xué)和社會培訓(xùn)教學(xué)有點(diǎn)較大的差異,所以對教材的要求有其特殊性。目前市面上Java的教材很多,其中不乏一些世界著名教材,如Bruce Eckel的名作《Java編程思想》系列教材。對目前出版的教材進(jìn)行系統(tǒng)分析歸類,可將上述教材大體分為以下幾類:第一類是經(jīng)典教材,如Java核心技術(shù)卷Ⅰ,該類教材內(nèi)容偏多偏難,理論和實(shí)例難度較大,不適合高職學(xué)生和初學(xué)者;第二類是培訓(xùn)教材,如Sun公司的Java教程,該類教程內(nèi)容組織合理,但是部分內(nèi)容較難較多,有一定的理論性,主要針對有一定編程基礎(chǔ)的編程者自學(xué)或參加培訓(xùn)班學(xué)習(xí),也不適合做高職教材;第三類是本科教材,此類教材內(nèi)容較多,理論性很強(qiáng),項(xiàng)目實(shí)戰(zhàn)稍有欠缺;第四類是面向高職高專的教材,該類教材存在部分代碼編寫不規(guī)范,不符合編碼項(xiàng)目實(shí)際等缺點(diǎn),并且部分教材缺少貫穿全書的統(tǒng)一案例。基于以上分析本文對高職Java程序設(shè)計(jì)教材建設(shè)涉及的關(guān)鍵問題進(jìn)行詳細(xì)分析,并對主要問題給出相應(yīng)的合理解決建議。
(一)將抽象的編程內(nèi)容實(shí)例化和形象化
Java程序設(shè)計(jì)課程內(nèi)容比較抽象,例如Java編程基礎(chǔ)部分的數(shù)據(jù)類型、分支和循環(huán)等概念本身就很抽象,如果在高中或其它學(xué)習(xí)中沒有接觸過相關(guān)概念,對高職的學(xué)生來說要想在短時間內(nèi)掌握它有一定難度,所以將抽象的編程概念形象化和實(shí)例化是高職教材建設(shè)的核心問題之一。
解決該問題的最好辦法是編程實(shí)例。教材在理論內(nèi)容后一定要有恰當(dāng)?shù)木幊虒?shí)例幫助學(xué)生理解。例如,在分支結(jié)構(gòu)內(nèi)容部分可引入學(xué)生在初中階段就十分熟悉的一元二次方程的求解。對于任何一個一元二次方程ax2+bx+c=0其解可以分為三種情況:當(dāng)b2-4ac>0時,方程有兩不等的解;當(dāng)b2-4ac=0時方程有兩個相同的解;當(dāng)b2-4ac<0時,方程無解。以此實(shí)際案例出發(fā)引導(dǎo)學(xué)生理解分支結(jié)構(gòu)的概念,使學(xué)生在解決實(shí)際問題中掌握J(rèn)ava程序設(shè)計(jì)方法。對上述案例,還可以使學(xué)生加深對數(shù)據(jù)類型的理解,如果定義double delta=b2-4ac;哪么delta==0這個條件是否能滿足,如果定義intdelta=b2-4ac,哪么delta==0是否可以滿足,進(jìn)而闡明double數(shù)據(jù)類型中沒有絕對的0,只是近似的接近0。如果將方程解劃分為b2-4ac≥0和b2-4ac<0兩種情況,而再將b2-4ac≥0細(xì)分為b2-4ac>0和b2-4ac=0,則可進(jìn)一步說明分支嵌套的概念。由此可見一個恰當(dāng)?shù)陌咐嵌嗝粗匾?/p>
此外,在抽象的內(nèi)容后應(yīng)該輔助相應(yīng)的流程圖,使用流程圖也可增加學(xué)生對抽象內(nèi)容的理解和消化。
(二)編程的規(guī)范性
為了使學(xué)生更好的適應(yīng)公司的項(xiàng)目開發(fā)需要,在教材編寫過程中應(yīng)注重教材中案例的規(guī)范性和工程性。主要表現(xiàn)在以下幾個方面,首先變量和常量的命名要盡量做到見名知義,不可以用漢語拼音或漢語拼音的首字母縮寫,常量一定要大寫,類名如果是單個單詞,該單詞的首字母要大寫,如果是單詞的組合每個單詞的首字母要大寫,方法的命名要體現(xiàn)動作性;類的組織要按照工程實(shí)踐的標(biāo)準(zhǔn)來要求和組織。在實(shí)際的教學(xué)過程中發(fā)現(xiàn)部分教材中代碼的編寫和組織有很大的隨意性,此外實(shí)際的教學(xué)過程中也發(fā)現(xiàn)學(xué)生對這些基本編程規(guī)范理解不深,寫的程序很隨意很不規(guī)范,所以建議在教材的附錄中添加編程規(guī)范一節(jié),提高學(xué)生編碼規(guī)范的意識和要求,使學(xué)生可很好適應(yīng)畢業(yè)后的編程工作。
(三)項(xiàng)目實(shí)際案例的重要性和必要性
對高職的學(xué)生而言,動手能力和實(shí)際操作能力的培養(yǎng)至關(guān)重要,系統(tǒng)學(xué)習(xí)完Java的基礎(chǔ)知識后,學(xué)生對知識點(diǎn)的理解程度和綜合運(yùn)用程度還有欠缺,所以在Java程序設(shè)計(jì)教材中引入實(shí)際項(xiàng)目案例是十分必要的。通過一個中小型的Java實(shí)際項(xiàng)目,可以幫助學(xué)生加深對教材知識點(diǎn)的進(jìn)一步理解,并且通過實(shí)際項(xiàng)目學(xué)生能將所學(xué)知識綜合運(yùn)用,為以后的工作奠定堅(jiān)實(shí)的基礎(chǔ)。
實(shí)際項(xiàng)目案例的引入可以使學(xué)生系統(tǒng)的掌握公司中實(shí)際項(xiàng)目的組織管理體系,了解實(shí)際項(xiàng)目中的需求分析、概要設(shè)計(jì)、詳細(xì)設(shè)計(jì)、編碼、測試和系統(tǒng)部署與維護(hù)等軟件開發(fā)流程,幫助學(xué)生在后續(xù)的實(shí)際編程工作中快速實(shí)現(xiàn)角色轉(zhuǎn)換,同時使學(xué)生更早的接觸實(shí)際項(xiàng)目開發(fā),提高學(xué)生項(xiàng)目編程能力,減少學(xué)生對實(shí)際工作的焦慮,增強(qiáng)學(xué)生就業(yè)競爭力。
此外,實(shí)際項(xiàng)目中代碼管理、編程規(guī)范和代碼結(jié)構(gòu)等軟件工程的知識對學(xué)生管理組織能力也是一個很好的鍛煉。
(四)教材建議內(nèi)容
為了更好的貼合高職軟件技術(shù)教學(xué)目標(biāo)和培養(yǎng)方向,Java程序設(shè)計(jì)教程建議包含以下章節(jié):Java概述、Java語言基礎(chǔ)知識、面向?qū)ο蟮木幊谭椒?、Java I/O系統(tǒng)、Java的異常處理機(jī)制、圖形用戶界面、多線程、網(wǎng)絡(luò)編程、JDBC技術(shù)和項(xiàng)目實(shí)戰(zhàn)。各章節(jié)內(nèi)容安排如下:
第一章.Java概述,主要講解Java語言的特點(diǎn)和歷史、Java開發(fā)工具包JDK、Java程序的分類、Java常用命令和Java集成開發(fā)環(huán)境Eclipse等基本知識點(diǎn);實(shí)際操作部分包括JDK的安裝方法和安裝過程、Eclipse的安裝過程和Hello World應(yīng)用程序。
第二章.Java語言基礎(chǔ)知識,主要講解Java中的標(biāo)識符和關(guān)鍵字、Java中的基本數(shù)據(jù)類型、數(shù)據(jù)類型的轉(zhuǎn)換規(guī)則、常量和變量的概念、Java中的運(yùn)算符和表達(dá)式、Java中的流程控制語句Java程序的基本結(jié)構(gòu)等基本知識點(diǎn);實(shí)際案例部分選取經(jīng)典案例,如:求三個數(shù)的最大值、判斷一個整數(shù)的奇偶性、求一元二次方程的解、求某年某月有多少天、輸出九九乘法表和等。
第三章.面向?qū)ο蟮木幊蹋饕v解了類、對象、類的封裝、類的繼承、類的多態(tài)、抽象類與接口等基本知識點(diǎn);在案例部分結(jié)合恰當(dāng)案例演示訪問控制符的作用范圍、方法重載與覆蓋、構(gòu)造方法的多態(tài)性、掌握工程中面向接口編程的概念和實(shí)例。
第四章.異常處理,主要講解異常、異常的處理、異常的拋出以及自定義異常等基本知識點(diǎn);案例部分主要包括:數(shù)組下標(biāo)越界異常、空指針異常、拋出并捕獲異常和自定義異常等實(shí)例,幫助學(xué)生理解知識點(diǎn)和拓寬編程視野。
第五章.Java I/O系統(tǒng),主要結(jié)合案例講解流、字節(jié)流、字符流、文件操作以及對象序列化等基本知識點(diǎn)。
第六章.圖形用戶界面,主要講解Swing圖形布局和常用控件等基本知識點(diǎn);案例部分結(jié)合第十章項(xiàng)目實(shí)戰(zhàn)中的用戶界面,系統(tǒng)演示該章知識點(diǎn)的用法,值得指出的是Java的圖形用戶界面部分在實(shí)際應(yīng)用中逐步被B/S結(jié)構(gòu)程序所替代,該章知識,應(yīng)以案例演示為主,適當(dāng)減少學(xué)生編程壓力和難度。
第七章.多線程,主要以案例穿插的方式講解線程的基本概念、線程的生命周期、線程的優(yōu)先級、線程同步與通信和Java語言對多線程的支持等基本知識點(diǎn)。
第八章.網(wǎng)絡(luò)編程,主要講解網(wǎng)絡(luò)和Java網(wǎng)絡(luò)編程的基本概念、Internet地址操作、URL和URLConnection、套接字編程等基本知識點(diǎn);案例部分包括顯示指定域名的主機(jī)的IP地址信息、顯示本機(jī)的IP地址信息、獲取指定的URL的內(nèi)容、模擬telnet程序和聊天程序等。
第九章.JDBC技術(shù),主要講解Java訪問數(shù)據(jù)相關(guān)知識,JDBC和ODBC的概念和區(qū)別,JDBC API的使用方法等知識點(diǎn)。案例部分是企業(yè)產(chǎn)品管理系統(tǒng),包括產(chǎn)品的添加、修改、刪除和查詢操作。
第十章.項(xiàng)目實(shí)戰(zhàn),以一個企業(yè)產(chǎn)品管理系統(tǒng)的設(shè)計(jì)開發(fā)為主線,主要從系統(tǒng)需求分析、系統(tǒng)設(shè)計(jì)到系統(tǒng)實(shí)現(xiàn)的全過程講解工程中是如何開發(fā)一個項(xiàng)目。該項(xiàng)目主要包括以下模塊:用戶管理、角色管理、用戶權(quán)限管理、企業(yè)產(chǎn)品管理、報(bào)表管理和統(tǒng)計(jì)分析等模塊組成,通過該系統(tǒng)的開發(fā)學(xué)生不但可以鞏固Java的基礎(chǔ)知識還可以提前接觸項(xiàng)目實(shí)際開發(fā)流程為以后的實(shí)際工作奠定良好基礎(chǔ)。
本文從高職教學(xué)和高職學(xué)生特點(diǎn)出發(fā),對軟件技術(shù)專業(yè)(Java方向)核心課程Java程序設(shè)計(jì)教材編寫中的內(nèi)容抽象性強(qiáng)、編程規(guī)范缺乏、項(xiàng)目案例必要性與重要性和教材內(nèi)容等方面進(jìn)行分析,并對存在問題給出相應(yīng)的解決建議,希望能為高職Java程序設(shè)計(jì)教材建設(shè)貢獻(xiàn)自己的綿薄之力。
[1] 李東明,趙偉.Java語言課程實(shí)踐教學(xué)改革[J].計(jì)算機(jī)教育,2011,第13期,122-125.
[2] 朱利華,蔣衛(wèi)祥.基于工作過程導(dǎo)向的“Java程序設(shè)計(jì)”課程開發(fā)與實(shí)踐[J].教師,2012(23):52-53.