尉哲明 冀素琴
文章編號:1672-5913(2015)03-0023-03
中圖分類號:G642
摘要:闡述計算機軟件綜合課程設計的概念,從Java技術的教學特征出發,介紹不同條件下、不同層次的基于Java的綜合課程設計的教學實踐,包含教學內容的設計和教學實施的方法,指出計算機軟件綜合課程設計的教學方式可有效適應計算機專業迅猛發展的態勢。
關鍵詞:計算機軟件;綜合課程設計;Java;教學實施
O 引 言
計算機學科在近幾十年得到空前發展,其特點是既不斷深化又與其他學科密切聯系,既高度分化又高度綜合。這些特點決定了其課程必須實現綜合化,既要增設一些綜合化的課程類型,同時要從指導思想、課程設置、課程內容、課程實施等方面都能體現綜合化思想。
為適應社會對人才綜合能力的需求,培養專業口徑寬、綜合素質高、具有創新精神和實踐能力的人才,迫切需要拓寬課程設置目標,調整課程內部結構及課程之間的知識融合,按照整體優化功能大于部分功能之和的觀點,國內一些大學提出了課程綜合化改革的指導思想,并進行了綜合課程改革的實踐工作。較為有名的成果有兩個:一是天津師范大學的綜合課程“C/C++與數據結構”,在該綜合課程中,建立了以學生為骨干的教學實驗管理機制;二是東南大學構建了一個計算機軟硬件綜合課程設計平臺。在計算機軟件綜合課程設計方面,國內一些高校建立了綜合課程設計體系,但具體應用于不同類型的計算機類專業或信息技術類專業,還需要做進一步的探索與研究。
計算機軟件綜合課程設計是將兩門或兩門以上計算機軟件的相關專業基礎課或專業課知識結合起來,在l—2周的課時內完成一個小型計算機軟件系統的課程設計方式。它發生在綜合所需的課程知識被講授后,適時指導學生選擇、設計和實現一個綜合設計題目。一般來說,計算機軟件綜合課程設計基于一門計算機程序設計語言。
1 Java技術特征
目前,Java技術被廣泛應用于各種行業的信息處理系統,高校信息技術類專業一般都開設J,Java程序設計課程。Java技術有以下特征:
(1)極強的應用性。Java的教學內容設汁為在學習面向對象特性的基礎上,講授數組枚舉及字符串應用、異常處理、圖形用戶界面設計、數據庫應用、I/O流及文件處理、多線程程序設計、小應用程序設計、多媒體程序設計、網絡編程等內容,進而可以選修基于Java的Web系統編程、Android系統應用開發等課程。教學過程中發現,如果將重點放在面向對象特性上,后續關于Java應用的內容少講了,則無法體現出Java技術及其課程的魅力。
(2)極大的趣味性。在教學過程中,師生都會感受到來自Java的魅力。Java的應用實例很多,每個實例都很有趣。使用實例驅動原理或規則的教學形式,完成教學內容時顯得輕松而且印象深刻。
(3)綜合性。Java技術的綜合性體現于很多方面,如Java的面向對象技術與不同應用技術的綜合、Java課程中多個教學內容的綜合、Java課程與其他課程的綜合、基于Java的綜合課程設計等。
2 基于Java的綜合性課程設計實踐
2.1 Java課程綜合性實驗
2.1.1 Java教學過程中遇到的問題
以前在完成每一個單元理論教學內容的同時,學生也上機完成相應的程序設計實驗內容,當所有的教學內容講完了,課時也用完了,但總感覺意猶未盡。首先從教師的角度講,認為可以完成的實驗項目還有很多,學生應用Java的潛力還可以再“挖一挖”;其次從學生的角度講,對Java的興趣剛上來,但是應用Java的羽翼還不太豐滿,如果就此打住,過一些時間,Java知識可能會淡了,也許就扼殺了他們應用Java的能力和機會。
教學計劃中的課時是不能隨便調整的,只有合理利用有限的實驗課時,才能進一步有效地提高學生對Java的綜合應用能力。
2.1.2 Java課程綜合性實驗的設計
從2007年開始,我們在Java程序設計實驗課程大綱的實驗項目中增加了綜合實驗教學環節,利用有限的實驗課時,使學生應用已經掌握到和即將學習到的Java知識,有興趣和有能力去探索完成一個比較大的實驗項目,培養了學生對Java技術的應用能力。
這樣的綜合實驗時間發生于學習完面向對象特性、數組枚舉及字符串應用、異常處理、圖形用戶界面設計后,在Java程序設計的理論課程講授其他教學內容的同時,Java程序設計實驗課程布置給學生一些綜合實驗的題目,讓學生選擇完成一個項目的設計和實現。后續教學內容的單元實驗取消,學生只需完成選定的綜合實驗項目即可。
在綜合實驗中需要用到的還未來得及講授的Java知識或技術,大部分學生在已掌握了前面講過的基礎知識后,有能力先去預習或者自學。
以下列舉一些開設過的綜合實驗項目。①ISBN書號校驗程序的設計和實現;②名片記錄本程序的設計與實現;③文本編輯器的設計與實現;④水中倒影;⑤音樂日歷;⑥網上聊天程序的設計實現;⑦多客戶簡單網絡應用程序的設計實現;⑧基本數據庫操作應用程序的設計實現。
綜合效果非常好,學生在做綜合課程設計的過程中,進一步鞏固和驗證前面所學技術,激發出探索興趣,先行求索后續知識。更重要的是學會了應用,學會了設計,學會了調試,應用Java技術的能力提高了,專業素質也提升了。
2.2 軟件核心課程做基于Java的綜合性實驗,可進一步提高學生的能力和素養
在開設Java課程之后,相繼開設了計算機網絡和數據庫原理等課程,這些課程也在做綜合實驗項目。因為Java是網絡編程語言,可以嘗試用Java做開發工具來完成計算機網絡課程的綜合實驗。再者,全球85%以上的企業在使用Java完成信息管理系統,那么也可以使用Java做工具來為數據庫原理課程設計一些綜合實驗項目。如果課時有限,做一個小型管理信息系統即可,多出一些題目,3~4人一組,每組選做一個題目。
因為每門課的綜合實驗課時都緊張,可以把兩門課合起來做綜合課程設計。
從2008年開始,我們研究探索為計算機科學與技術專業開設的主干課程數據庫系統原理實驗的綜合實驗教學項目提供開發工具。在數據庫系統原理實驗課程的綜合實驗中,學生開發的積極性很高,雖然實驗課時非常有限,但每一個課題小組都認真討論數據庫的設計、系統的Java實現方法,最后按時交上較為滿意的作品。
自2007年以來,Java課程為計算機網絡實驗課程開設過的綜合實驗項目如下:①基于TCP協議的網絡應用程序設計與Java實現;②基于UDP協議的網絡應用程序設計與Java實現。
自2008年以來,Java課程為數據庫系統原理實驗課程開設過的綜合實驗項目(2010年為Java程序設計實驗與數據庫系統原理實驗兩門課合作開設的綜合實驗項目)如下:小型管理信息系統的設計與實現(3~4人一組,每組會針對不同類型的企業或部門完成一個具體的系統)。
將Java課程與其他課程結合起來,進行綜合課程設計,分別圍繞一些小型管理信息系統、TCP或UDP協議之上的網絡應用程序、較為復雜的數據結構應用程序出題目。Java和計算機網絡、Java和數據庫原理、Java和數據結構、Java和編譯原理、Java和軟件工程等課程,均可以完成綜合課程設計。
為研究生開設的課程也大量地應用了Java技術,如機器學習、數據挖掘的算法實現多是使用了Java程序。此外各種工程優化算法,都可以用Java做開發工具。
2.3 基于Java的綜合課程設計課程的開設
2.3.1 在綜合課程設計中遇到的問題
(1)各門課程的教學計劃中沒有為綜合課程設汁安排專門的課時,需占用常規的課程單元實驗課時,這樣會影響到課程的單元練習。
(2)因為時問太短,學生雖然興趣盎然,但設計出的軟件粗糙,無法保證質量。
(3)各門課程單獨安排的綜合實驗項目中,互相之間難免有些重復,學生雖有興趣,但每門課都須完成綜合實驗,負擔重。
為減輕學生期末負擔,近5年來,我們嘗試將兩門課結合起來,完成綜合課程設計,如將Java課程與計算機網絡課程結合起來,完成一個基于TCP或UDP協議的應用程序;將Java課程與數據庫原理課程結合起來,完成一個小型管理信息系統。
2.3.2 開設基于Java的綜合課程設計課程
以上問題的終極解決方案是基于Java的綜合課程沒計能作為一門課程,設計于信息技術類專業的教學計劃中。這樣,有效利用給予綜合課程設計的課時,在教師的指導下,學生就可以集巾精力設計和實現一款基于Java的功能完善的質量較高的軟件。
基于Java的綜合課程設計課程的實施方案如下:
(1)在和學生討論的基礎上,教師給出以上所述不同方面的多個題目,讓學生選擇自已感興趣的題目去做。在設計和實現的過程中,學生及時向教師匯報階段性成果并得到啟發性指導以便于改進。
(2)教師針對各種類型題目做出比較典型的實例,或選擇合適教材以便于學牛參考。當然學生自己也可以選擇感興趣的實戰編程教程作為綜合課程設計的參考書目。
在這方面,我們做了一定工作:申請編了清華大學出版社的教材——《基于Java的綜合課程設計》,已經正式出版。
3 結語
基于一門計算機程序設計語言綜合計算機軟件的專業基礎課和專業課的計算機軟件綜合課程設計,具有明顯的跨課程性質,設計內容打破了原有的課程體系和學科界限,突出了所設計大內容的整體性。綜合課程設計方式靈活,類型多樣,可以適應計算機專業迅猛發展的態勢,可以及時反映專業發展的新趨勢,容納專業發展和社會需要而提出的新內容;有助于減少課程設計門類,避免重復、減輕學生的課業負擔;有助于開闊學生視野,拓寬與統整專業知識,克服專業知識間的割裂,使學生學會主動求知的方法,增強他們對專業的整體認知能力。
基于Java的綜合課程設計尢疑有效實現了以上目標。