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