羅剛等
摘要:針對目前大量的高校畢業(yè)的“Java程序員”不能滿足企業(yè)和市場要求的狀況,分析了Java程序設(shè)計(jì)課程在高校中教學(xué)存在的主要問題,提出了五階段教學(xué)法,強(qiáng)調(diào)學(xué)習(xí)Java技術(shù)的整體性和系統(tǒng)性,并對各個階段的課程設(shè)置,教學(xué)內(nèi)容,教學(xué)方法,實(shí)踐教學(xué)及考核方式進(jìn)行教學(xué)研究和實(shí)施。
關(guān)鍵詞:Java教學(xué);五階段教學(xué)法;教學(xué)研究;教學(xué)改革
中圖分類號:TP3 文獻(xiàn)標(biāo)識碼:A 文章編號:1009-3044(2014)16-3848-03
Abstract: Aiming at the large number of graduates of Java programmers cant meet the market demand, a detailed analysis of the main problems of Java programming course teaching in colleges and universities, put forward five stages teaching method, emphasizing the integrity and systematic study of Java technology, and make the teaching research and implementation of the course setting, teaching content, teaching methods, Practice Teaching and assessment methods in the various stages.
Key words: Java teaching; teaching research; five stages of teaching; reform of teaching
1 概述
自從2000年初到現(xiàn)在,Java作為主流程序設(shè)計(jì)語言在企業(yè)信息系統(tǒng)建設(shè),嵌入式開發(fā),分布式系統(tǒng)和科學(xué)計(jì)算等應(yīng)用領(lǐng)域大展拳腳,各種軟件公司、企事業(yè)單位每年需要大量的Java程序員。目前國內(nèi)的計(jì)算機(jī)專業(yè)基本都會將Java程序設(shè)計(jì)作為專業(yè)基礎(chǔ)課,但現(xiàn)在每年那么多高校畢業(yè)的“java程序員”卻很難到達(dá)企業(yè)和社會的要求,高校的Java程序設(shè)計(jì)教學(xué)到底出現(xiàn)了哪些問題?該如何進(jìn)行相應(yīng)的改革?
本文作者通過多年對Java的教學(xué)研究,針對高校Java教學(xué)存在的若干問題進(jìn)行了分析,提出了Java的五階段教學(xué)法,強(qiáng)調(diào)學(xué)習(xí)Java技術(shù)的整體性和系統(tǒng)性,從C語言的學(xué)習(xí)開始,到Java編程基礎(chǔ),到掌握J(rèn)ava進(jìn)行應(yīng)用編程,將整個過程分成五個階段,并對各個階段的課程設(shè)置,教學(xué)內(nèi)容,教學(xué)方法,實(shí)踐教學(xué)及考核方式進(jìn)行教學(xué)研究和實(shí)施,經(jīng)過實(shí)施與同期比較取得了較好的教學(xué)效果。
2 Java在高校中教學(xué)存在的問題
2.1 Java教學(xué)課程內(nèi)容的銜接問題
從面向過程的C語言如何過渡到Java語言,二者有重疊和不同之處,很多老師假定學(xué)生們都掌握好了C語言,太快進(jìn)入到Java面向?qū)ο蟮膬?nèi)容,導(dǎo)致學(xué)生進(jìn)入Java有如臨深淵的感覺,在實(shí)際教學(xué)中,這兩門課程的教學(xué)很難做到上下銜接,在Java的教學(xué)初期,忽略了Java基礎(chǔ)與C的一些重要區(qū)別。
在Java的面向?qū)ο蟮慕虒W(xué)中,如何解釋清楚面向?qū)ο蟮娜筇卣鳎悍庋b、繼承、多態(tài),以及如何讓學(xué)生建立起面向?qū)ο缶幊痰乃枷耄@是教學(xué)中的重點(diǎn),很多學(xué)生在這些知識點(diǎn)的掌握大多停留在字面上,不能從程序的角度去理解面向?qū)ο筇卣?,這為后續(xù)學(xué)習(xí)Java的應(yīng)用埋下了巨大的隱患。
2.2 Java教學(xué)內(nèi)容的問題
國內(nèi)很多高校在《Java程序設(shè)計(jì)》教學(xué)內(nèi)容的取舍上差別較大,我們可以從兩本國內(nèi)比較具有代表性的教材來看:《Java程序設(shè)計(jì)》[1]和《Java2程序設(shè)計(jì)基礎(chǔ)》[2],其主要內(nèi)容都涉及了:java概述,java程序設(shè)計(jì)基礎(chǔ),數(shù)組,類和對象設(shè)計(jì),繼承與多態(tài),java標(biāo)準(zhǔn)類庫,異常處理,輸入/輸出,多線程,GUI程序設(shè)計(jì)與applet,網(wǎng)絡(luò)通信,jsp與servlet技術(shù),jdbc技術(shù),java應(yīng)用開發(fā)等方面。教學(xué)中如何取舍這些章節(jié)?大多高校都是在一個學(xué)期講完這些內(nèi)容,很多教師在課堂上只能忙于應(yīng)付講解Java的各種語法和知識點(diǎn),使得很多學(xué)生在贊嘆Java的強(qiáng)大的同時感嘆Java太復(fù)雜。
2.3 Java教學(xué)方法中存在的問題
傳統(tǒng)的“填鴨式教學(xué)”在Java的教學(xué)中仍然存在,不少老師在教學(xué)中只是為了完成教學(xué)進(jìn)度。多媒體課件是輔助教學(xué)的工具,但過分依賴課件會使得不少教師在教學(xué)上反而被束縛,教師只是扮演了一個PPT講解員的角色。
有不少教師提出在Java教學(xué)中采用項(xiàng)目教學(xué)法,項(xiàng)目教學(xué)法[3]是指將傳統(tǒng)的學(xué)科體系中的知識內(nèi)容轉(zhuǎn)化為若干個教學(xué)項(xiàng)目,圍繞著項(xiàng)目組織和展開教學(xué),學(xué)生直接參與項(xiàng)目全過程的一種教學(xué)方法。要將項(xiàng)目教學(xué)法應(yīng)用于高校的Java教學(xué),如何選擇合適的項(xiàng)目,如何讓項(xiàng)目能涵蓋適當(dāng)?shù)慕虒W(xué)知識點(diǎn),如何照顧大多數(shù)學(xué)生的學(xué)習(xí)水平和進(jìn)度,如何分配好上課和實(shí)驗(yàn)的課時等等,這些問題都成為Java教學(xué)中應(yīng)用項(xiàng)目教學(xué)法的重要阻礙,處理不好會讓基礎(chǔ)不好的學(xué)生產(chǎn)生畏懼心理,過早的放棄Java的學(xué)習(xí)。
2.4 實(shí)踐教學(xué)和考核方法中存在的問題
如何提高學(xué)生自主學(xué)習(xí)的能力、學(xué)習(xí)興趣和動手能力,這是實(shí)踐教學(xué)必須要解決的問題。很多學(xué)生在上機(jī)時只是對照書本上的程序進(jìn)行驗(yàn)證:輸入程序,得到結(jié)果,下課走人,而老師只是扮演了一個“會說話的調(diào)試器”,來回處理學(xué)生程序中的各種語法錯誤,使有限的上機(jī)實(shí)踐課效率低下。另外,很多學(xué)校的Java考核仍然在使用紙質(zhì)試卷的考試方式,使不少學(xué)生為了考試而學(xué)習(xí),為了考試而考試,并且會使用一些應(yīng)付傳統(tǒng)課程考試的方法去應(yīng)付Java課程的考試,比如死記硬背,考前突擊等,這樣的難以考核學(xué)生的實(shí)際編程能力。endprint
3 Java教學(xué)的研究與改革
針對以上Java在高校教學(xué)中存在的問題,該文對Java的教學(xué)內(nèi)容設(shè)置,教學(xué)銜接,教學(xué)方法改變,教師角色轉(zhuǎn)變以及考試考核方式進(jìn)行了改革,強(qiáng)調(diào)Java教學(xué)的連貫性,根據(jù)Java教學(xué)的各個階段特點(diǎn)應(yīng)用比較教學(xué)法、任務(wù)教學(xué)法以及項(xiàng)目驅(qū)動教學(xué)等方法。
3.1 階段教學(xué)法及教學(xué)內(nèi)容的設(shè)置
對于Java的學(xué)習(xí)可以分為5個階段,貫穿3個學(xué)期:
第一階段:C語言程序設(shè)計(jì)培養(yǎng)學(xué)生的面向過程編程思想,C語言在語法格式和編程風(fēng)格上與Java的基礎(chǔ)基本一致,通過學(xué)習(xí)C語言有利于學(xué)生理解計(jì)算機(jī)程序運(yùn)行的基本原理,培養(yǎng)面向過程的編程思想,學(xué)習(xí)各種流程控制,認(rèn)識和控制計(jì)算機(jī)內(nèi)存[4]等,這些都是學(xué)習(xí)Java重要基礎(chǔ)。
第二階段:在Java的教學(xué)初期可以根據(jù)學(xué)生的情況使用6-8個課時來對C語言的內(nèi)容進(jìn)行回顧并進(jìn)行相應(yīng)的測試,作為學(xué)習(xí)Java的一個過渡,布置針對性較強(qiáng)的編程題進(jìn)行練習(xí)和講解。從近幾年的筆者的教學(xué)經(jīng)驗(yàn)來看,這個緩沖期非常重要,尤其對于一些C語言基礎(chǔ)不是很好的初學(xué)者而言,能起到承上啟下的作用。
Java編程基礎(chǔ)這部分內(nèi)容與C語言有重疊部分,又有不少不同之處,可以使用比較法進(jìn)行教學(xué)[5],這樣能讓學(xué)生消除Java入門的陌生感,有區(qū)別的地方重點(diǎn)強(qiáng)調(diào)。這部分內(nèi)容包括Java的編程環(huán)境、Java編程風(fēng)格、Java基本數(shù)據(jù)類型、流程控制、函數(shù)定義與調(diào)用、數(shù)組和字符串等內(nèi)容[6]。(8-10課時左右)
第三階段:Java的面向?qū)ο?,這部分是Java學(xué)習(xí)的重點(diǎn),是關(guān)系到學(xué)生是否能掌握該語言的關(guān)鍵所在,這部分內(nèi)容主要包括:Java的類定義,對象的生成和使用,面向?qū)ο蟮娜筇卣?,抽象類與接口,異常處理,字符串與數(shù)組深入等內(nèi)容。(14-20課時左右),該階段的教學(xué)方法總結(jié)為以下五個字:輔,講,練,論和考。
輔:ppt作為輔助,主要說明每次課堂教學(xué)的任務(wù),內(nèi)容,目標(biāo)和重點(diǎn)難點(diǎn),每張ppt的內(nèi)容盡量簡潔明確,每個章節(jié)的內(nèi)容只需要幾張即可,不需要大量文字的堆砌,讓學(xué)生明確每周的教學(xué)任務(wù)和要點(diǎn)即可。
講:教師的講課要從程序的角度去講解各個知識點(diǎn),如何對各個知識點(diǎn)設(shè)計(jì)好講解程序是關(guān)鍵,這些程序難度應(yīng)該循序漸進(jìn)。教師在課堂上講解的過程中要對程序進(jìn)行適當(dāng)?shù)淖⑨?,命名好每堂課的程序并下發(fā)給學(xué)生進(jìn)行課后驗(yàn)證和消化。
練:課后的練習(xí)分為驗(yàn)證性和深入性練習(xí),驗(yàn)證性練習(xí)和課堂講解的程序難度相近,易于上手,讓學(xué)生能消化和鞏固課堂上老師講解的內(nèi)容;深入性練習(xí)是應(yīng)用所學(xué)知識點(diǎn)去解決一些實(shí)際的問題,要用到課堂講解的知識點(diǎn)并關(guān)聯(lián)到課外知識點(diǎn),這需要學(xué)生主動去查閱書籍、幫助文檔或者進(jìn)行相互討論,上網(wǎng)查詢等,完成相應(yīng)的練習(xí)和實(shí)驗(yàn)報(bào)告。
論:教師在上機(jī)課上主要針對深入性練習(xí)進(jìn)行討論,答疑,幫助學(xué)生完成這部分的練習(xí),并對學(xué)生所做的練習(xí)進(jìn)行隨堂檢查,起到監(jiān)督作用,可以使用一定的課時讓學(xué)生來講解自己的想法和做法,引導(dǎo)班上其他學(xué)生一起進(jìn)行討論和學(xué)習(xí)。
考:進(jìn)行期中考核,一來可以檢查學(xué)生對這部分內(nèi)容的學(xué)習(xí)情況,二是對一些學(xué)習(xí)態(tài)度不好的學(xué)生敲敲警鐘,對于Java面向?qū)ο蟮幕A(chǔ)知識,主要采用程序閱讀和程序填空為主,通過考核檢查學(xué)生的學(xué)習(xí)情況,并對教學(xué)進(jìn)行適當(dāng)?shù)恼{(diào)整。
第四階段:Java的基本應(yīng)用,使用Java來完成程序設(shè)計(jì)中的基本應(yīng)用,主要包括:Java常用類庫的使用,Java的文件管理,Java的輸入與輸出,Java的GUI界面設(shè)計(jì)等內(nèi)容。(16課時左右)該階段主要使用任務(wù)教學(xué)法,重點(diǎn)講解每個章節(jié)的典型程序,設(shè)計(jì)適當(dāng)?shù)娜蝿?wù)程序,讓學(xué)生通過完成這些基本應(yīng)用的任務(wù),積累Java的編程思想和經(jīng)驗(yàn)。
任務(wù)教學(xué)在各章中的示例:
在該階段教師應(yīng)做好引導(dǎo)和監(jiān)督的角色,一方面引導(dǎo)和幫助學(xué)生完成這些任務(wù),另一方面掌握好學(xué)生完成這些任務(wù)的進(jìn)度和情況,并通過課堂討論、機(jī)房演示、學(xué)生展示等手段充分調(diào)動學(xué)生主動學(xué)習(xí)和動手的積極性。
該學(xué)期的考核應(yīng)包括以下幾個方面:實(shí)驗(yàn)報(bào)告+分組討論表現(xiàn)+期中考核+課程設(shè)計(jì)+期末考試,期末要留出適當(dāng)?shù)恼n時來幫助學(xué)生完成好課程設(shè)計(jì),并且對學(xué)生的課程設(shè)計(jì)進(jìn)行檢查、現(xiàn)場演示和提問,根據(jù)學(xué)生的完成情況和回答問題的表現(xiàn)打分。
第五階段:這部分內(nèi)容應(yīng)該設(shè)置在上述4個階段之后的下一個學(xué)期,作為Java應(yīng)用的深入,主要是深入掌握J(rèn)ava并使用Java來完成更為具體的應(yīng)用開發(fā),主要內(nèi)容包括:Java數(shù)據(jù)結(jié)構(gòu);泛型;Java的數(shù)據(jù)庫編程;Swing相關(guān)界面編程;多線程;Java網(wǎng)絡(luò)編程;Java在web上應(yīng)用等內(nèi)容。這部分內(nèi)容設(shè)置為54個學(xué)時左右,主要使用項(xiàng)目驅(qū)動教學(xué),在一個學(xué)期內(nèi)安排學(xué)生分組完成3-4個項(xiàng)目。教師對每個章節(jié)的內(nèi)容進(jìn)行提綱挈領(lǐng)的講解,講解關(guān)鍵語句,布置閱讀和查閱資料的任務(wù),更多的課堂時間將用于介紹項(xiàng)目開發(fā)的方法和思想,組織學(xué)生討論項(xiàng)目開發(fā)中的問題,檢查各組項(xiàng)目的進(jìn)度和完成情況等。
項(xiàng)目示例:
成績評定方式:各個小組進(jìn)行簡短演示、說明和回答問題,現(xiàn)場進(jìn)行打分,讓學(xué)生能夠?qū)Ρ雀鹘M完成的情況,形成良好的討論和競爭氛圍。
4 結(jié)束語
本次Java的教學(xué)研究與改革強(qiáng)調(diào)了系統(tǒng)性和連貫性,對Java教學(xué)各個階段的教學(xué)內(nèi)容,教學(xué)方法和考核方式等進(jìn)行具有針對性的教學(xué)改革措施,目標(biāo)是培養(yǎng)學(xué)生的程序設(shè)計(jì)思想,提高學(xué)習(xí)興趣,提高自主學(xué)習(xí)能力和動手能力等,但還存在一些有待解決的問題:如何完善上機(jī)測試與考試的Java題庫,如何設(shè)計(jì)更多合適的編程任務(wù)和項(xiàng)目以適應(yīng)不同水平的學(xué)生,如何更有效地組織、引導(dǎo)學(xué)生進(jìn)行分組協(xié)作開發(fā),如何將Java的一些新特性引入課堂等。
參考文獻(xiàn):
[1] 朱慶生,古平.Java程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2011:1-348.
[2] 陳國君. Java2程序設(shè)計(jì)基礎(chǔ)[M].北京:清華大學(xué)出版社,2009:2-10.
[3] 李嗇. 項(xiàng)目教學(xué)法在Visual FoxPro教學(xué)中的應(yīng)用[J]. 計(jì)算機(jī)教育,2007(9):53-54.
[4] 譚浩強(qiáng). C程序設(shè)計(jì)[M].4版.北京:清華大學(xué)出版社,2010:37-288.
[5] 羅剛,任廷艷,趙成. 如何有效地從C語言的學(xué)習(xí)過渡到Java[J].電腦知識與技術(shù), 2013(32).
[6] Ivor Horton(美). Java2入門經(jīng)典[M]. 北京:機(jī)械工業(yè)出版社,2009:22-153.endprint
3 Java教學(xué)的研究與改革
針對以上Java在高校教學(xué)中存在的問題,該文對Java的教學(xué)內(nèi)容設(shè)置,教學(xué)銜接,教學(xué)方法改變,教師角色轉(zhuǎn)變以及考試考核方式進(jìn)行了改革,強(qiáng)調(diào)Java教學(xué)的連貫性,根據(jù)Java教學(xué)的各個階段特點(diǎn)應(yīng)用比較教學(xué)法、任務(wù)教學(xué)法以及項(xiàng)目驅(qū)動教學(xué)等方法。
3.1 階段教學(xué)法及教學(xué)內(nèi)容的設(shè)置
對于Java的學(xué)習(xí)可以分為5個階段,貫穿3個學(xué)期:
第一階段:C語言程序設(shè)計(jì)培養(yǎng)學(xué)生的面向過程編程思想,C語言在語法格式和編程風(fēng)格上與Java的基礎(chǔ)基本一致,通過學(xué)習(xí)C語言有利于學(xué)生理解計(jì)算機(jī)程序運(yùn)行的基本原理,培養(yǎng)面向過程的編程思想,學(xué)習(xí)各種流程控制,認(rèn)識和控制計(jì)算機(jī)內(nèi)存[4]等,這些都是學(xué)習(xí)Java重要基礎(chǔ)。
第二階段:在Java的教學(xué)初期可以根據(jù)學(xué)生的情況使用6-8個課時來對C語言的內(nèi)容進(jìn)行回顧并進(jìn)行相應(yīng)的測試,作為學(xué)習(xí)Java的一個過渡,布置針對性較強(qiáng)的編程題進(jìn)行練習(xí)和講解。從近幾年的筆者的教學(xué)經(jīng)驗(yàn)來看,這個緩沖期非常重要,尤其對于一些C語言基礎(chǔ)不是很好的初學(xué)者而言,能起到承上啟下的作用。
Java編程基礎(chǔ)這部分內(nèi)容與C語言有重疊部分,又有不少不同之處,可以使用比較法進(jìn)行教學(xué)[5],這樣能讓學(xué)生消除Java入門的陌生感,有區(qū)別的地方重點(diǎn)強(qiáng)調(diào)。這部分內(nèi)容包括Java的編程環(huán)境、Java編程風(fēng)格、Java基本數(shù)據(jù)類型、流程控制、函數(shù)定義與調(diào)用、數(shù)組和字符串等內(nèi)容[6]。(8-10課時左右)
第三階段:Java的面向?qū)ο?,這部分是Java學(xué)習(xí)的重點(diǎn),是關(guān)系到學(xué)生是否能掌握該語言的關(guān)鍵所在,這部分內(nèi)容主要包括:Java的類定義,對象的生成和使用,面向?qū)ο蟮娜筇卣鳎橄箢惻c接口,異常處理,字符串與數(shù)組深入等內(nèi)容。(14-20課時左右),該階段的教學(xué)方法總結(jié)為以下五個字:輔,講,練,論和考。
輔:ppt作為輔助,主要說明每次課堂教學(xué)的任務(wù),內(nèi)容,目標(biāo)和重點(diǎn)難點(diǎn),每張ppt的內(nèi)容盡量簡潔明確,每個章節(jié)的內(nèi)容只需要幾張即可,不需要大量文字的堆砌,讓學(xué)生明確每周的教學(xué)任務(wù)和要點(diǎn)即可。
講:教師的講課要從程序的角度去講解各個知識點(diǎn),如何對各個知識點(diǎn)設(shè)計(jì)好講解程序是關(guān)鍵,這些程序難度應(yīng)該循序漸進(jìn)。教師在課堂上講解的過程中要對程序進(jìn)行適當(dāng)?shù)淖⑨專妹刻谜n的程序并下發(fā)給學(xué)生進(jìn)行課后驗(yàn)證和消化。
練:課后的練習(xí)分為驗(yàn)證性和深入性練習(xí),驗(yàn)證性練習(xí)和課堂講解的程序難度相近,易于上手,讓學(xué)生能消化和鞏固課堂上老師講解的內(nèi)容;深入性練習(xí)是應(yīng)用所學(xué)知識點(diǎn)去解決一些實(shí)際的問題,要用到課堂講解的知識點(diǎn)并關(guān)聯(lián)到課外知識點(diǎn),這需要學(xué)生主動去查閱書籍、幫助文檔或者進(jìn)行相互討論,上網(wǎng)查詢等,完成相應(yīng)的練習(xí)和實(shí)驗(yàn)報(bào)告。
論:教師在上機(jī)課上主要針對深入性練習(xí)進(jìn)行討論,答疑,幫助學(xué)生完成這部分的練習(xí),并對學(xué)生所做的練習(xí)進(jìn)行隨堂檢查,起到監(jiān)督作用,可以使用一定的課時讓學(xué)生來講解自己的想法和做法,引導(dǎo)班上其他學(xué)生一起進(jìn)行討論和學(xué)習(xí)。
考:進(jìn)行期中考核,一來可以檢查學(xué)生對這部分內(nèi)容的學(xué)習(xí)情況,二是對一些學(xué)習(xí)態(tài)度不好的學(xué)生敲敲警鐘,對于Java面向?qū)ο蟮幕A(chǔ)知識,主要采用程序閱讀和程序填空為主,通過考核檢查學(xué)生的學(xué)習(xí)情況,并對教學(xué)進(jìn)行適當(dāng)?shù)恼{(diào)整。
第四階段:Java的基本應(yīng)用,使用Java來完成程序設(shè)計(jì)中的基本應(yīng)用,主要包括:Java常用類庫的使用,Java的文件管理,Java的輸入與輸出,Java的GUI界面設(shè)計(jì)等內(nèi)容。(16課時左右)該階段主要使用任務(wù)教學(xué)法,重點(diǎn)講解每個章節(jié)的典型程序,設(shè)計(jì)適當(dāng)?shù)娜蝿?wù)程序,讓學(xué)生通過完成這些基本應(yīng)用的任務(wù),積累Java的編程思想和經(jīng)驗(yàn)。
任務(wù)教學(xué)在各章中的示例:
在該階段教師應(yīng)做好引導(dǎo)和監(jiān)督的角色,一方面引導(dǎo)和幫助學(xué)生完成這些任務(wù),另一方面掌握好學(xué)生完成這些任務(wù)的進(jìn)度和情況,并通過課堂討論、機(jī)房演示、學(xué)生展示等手段充分調(diào)動學(xué)生主動學(xué)習(xí)和動手的積極性。
該學(xué)期的考核應(yīng)包括以下幾個方面:實(shí)驗(yàn)報(bào)告+分組討論表現(xiàn)+期中考核+課程設(shè)計(jì)+期末考試,期末要留出適當(dāng)?shù)恼n時來幫助學(xué)生完成好課程設(shè)計(jì),并且對學(xué)生的課程設(shè)計(jì)進(jìn)行檢查、現(xiàn)場演示和提問,根據(jù)學(xué)生的完成情況和回答問題的表現(xiàn)打分。
第五階段:這部分內(nèi)容應(yīng)該設(shè)置在上述4個階段之后的下一個學(xué)期,作為Java應(yīng)用的深入,主要是深入掌握J(rèn)ava并使用Java來完成更為具體的應(yīng)用開發(fā),主要內(nèi)容包括:Java數(shù)據(jù)結(jié)構(gòu);泛型;Java的數(shù)據(jù)庫編程;Swing相關(guān)界面編程;多線程;Java網(wǎng)絡(luò)編程;Java在web上應(yīng)用等內(nèi)容。這部分內(nèi)容設(shè)置為54個學(xué)時左右,主要使用項(xiàng)目驅(qū)動教學(xué),在一個學(xué)期內(nèi)安排學(xué)生分組完成3-4個項(xiàng)目。教師對每個章節(jié)的內(nèi)容進(jìn)行提綱挈領(lǐng)的講解,講解關(guān)鍵語句,布置閱讀和查閱資料的任務(wù),更多的課堂時間將用于介紹項(xiàng)目開發(fā)的方法和思想,組織學(xué)生討論項(xiàng)目開發(fā)中的問題,檢查各組項(xiàng)目的進(jìn)度和完成情況等。
項(xiàng)目示例:
成績評定方式:各個小組進(jìn)行簡短演示、說明和回答問題,現(xiàn)場進(jìn)行打分,讓學(xué)生能夠?qū)Ρ雀鹘M完成的情況,形成良好的討論和競爭氛圍。
4 結(jié)束語
本次Java的教學(xué)研究與改革強(qiáng)調(diào)了系統(tǒng)性和連貫性,對Java教學(xué)各個階段的教學(xué)內(nèi)容,教學(xué)方法和考核方式等進(jìn)行具有針對性的教學(xué)改革措施,目標(biāo)是培養(yǎng)學(xué)生的程序設(shè)計(jì)思想,提高學(xué)習(xí)興趣,提高自主學(xué)習(xí)能力和動手能力等,但還存在一些有待解決的問題:如何完善上機(jī)測試與考試的Java題庫,如何設(shè)計(jì)更多合適的編程任務(wù)和項(xiàng)目以適應(yīng)不同水平的學(xué)生,如何更有效地組織、引導(dǎo)學(xué)生進(jìn)行分組協(xié)作開發(fā),如何將Java的一些新特性引入課堂等。
參考文獻(xiàn):
[1] 朱慶生,古平.Java程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2011:1-348.
[2] 陳國君. Java2程序設(shè)計(jì)基礎(chǔ)[M].北京:清華大學(xué)出版社,2009:2-10.
[3] 李嗇. 項(xiàng)目教學(xué)法在Visual FoxPro教學(xué)中的應(yīng)用[J]. 計(jì)算機(jī)教育,2007(9):53-54.
[4] 譚浩強(qiáng). C程序設(shè)計(jì)[M].4版.北京:清華大學(xué)出版社,2010:37-288.
[5] 羅剛,任廷艷,趙成. 如何有效地從C語言的學(xué)習(xí)過渡到Java[J].電腦知識與技術(shù), 2013(32).
[6] Ivor Horton(美). Java2入門經(jīng)典[M]. 北京:機(jī)械工業(yè)出版社,2009:22-153.endprint
3 Java教學(xué)的研究與改革
針對以上Java在高校教學(xué)中存在的問題,該文對Java的教學(xué)內(nèi)容設(shè)置,教學(xué)銜接,教學(xué)方法改變,教師角色轉(zhuǎn)變以及考試考核方式進(jìn)行了改革,強(qiáng)調(diào)Java教學(xué)的連貫性,根據(jù)Java教學(xué)的各個階段特點(diǎn)應(yīng)用比較教學(xué)法、任務(wù)教學(xué)法以及項(xiàng)目驅(qū)動教學(xué)等方法。
3.1 階段教學(xué)法及教學(xué)內(nèi)容的設(shè)置
對于Java的學(xué)習(xí)可以分為5個階段,貫穿3個學(xué)期:
第一階段:C語言程序設(shè)計(jì)培養(yǎng)學(xué)生的面向過程編程思想,C語言在語法格式和編程風(fēng)格上與Java的基礎(chǔ)基本一致,通過學(xué)習(xí)C語言有利于學(xué)生理解計(jì)算機(jī)程序運(yùn)行的基本原理,培養(yǎng)面向過程的編程思想,學(xué)習(xí)各種流程控制,認(rèn)識和控制計(jì)算機(jī)內(nèi)存[4]等,這些都是學(xué)習(xí)Java重要基礎(chǔ)。
第二階段:在Java的教學(xué)初期可以根據(jù)學(xué)生的情況使用6-8個課時來對C語言的內(nèi)容進(jìn)行回顧并進(jìn)行相應(yīng)的測試,作為學(xué)習(xí)Java的一個過渡,布置針對性較強(qiáng)的編程題進(jìn)行練習(xí)和講解。從近幾年的筆者的教學(xué)經(jīng)驗(yàn)來看,這個緩沖期非常重要,尤其對于一些C語言基礎(chǔ)不是很好的初學(xué)者而言,能起到承上啟下的作用。
Java編程基礎(chǔ)這部分內(nèi)容與C語言有重疊部分,又有不少不同之處,可以使用比較法進(jìn)行教學(xué)[5],這樣能讓學(xué)生消除Java入門的陌生感,有區(qū)別的地方重點(diǎn)強(qiáng)調(diào)。這部分內(nèi)容包括Java的編程環(huán)境、Java編程風(fēng)格、Java基本數(shù)據(jù)類型、流程控制、函數(shù)定義與調(diào)用、數(shù)組和字符串等內(nèi)容[6]。(8-10課時左右)
第三階段:Java的面向?qū)ο?,這部分是Java學(xué)習(xí)的重點(diǎn),是關(guān)系到學(xué)生是否能掌握該語言的關(guān)鍵所在,這部分內(nèi)容主要包括:Java的類定義,對象的生成和使用,面向?qū)ο蟮娜筇卣鳎橄箢惻c接口,異常處理,字符串與數(shù)組深入等內(nèi)容。(14-20課時左右),該階段的教學(xué)方法總結(jié)為以下五個字:輔,講,練,論和考。
輔:ppt作為輔助,主要說明每次課堂教學(xué)的任務(wù),內(nèi)容,目標(biāo)和重點(diǎn)難點(diǎn),每張ppt的內(nèi)容盡量簡潔明確,每個章節(jié)的內(nèi)容只需要幾張即可,不需要大量文字的堆砌,讓學(xué)生明確每周的教學(xué)任務(wù)和要點(diǎn)即可。
講:教師的講課要從程序的角度去講解各個知識點(diǎn),如何對各個知識點(diǎn)設(shè)計(jì)好講解程序是關(guān)鍵,這些程序難度應(yīng)該循序漸進(jìn)。教師在課堂上講解的過程中要對程序進(jìn)行適當(dāng)?shù)淖⑨?,命名好每堂課的程序并下發(fā)給學(xué)生進(jìn)行課后驗(yàn)證和消化。
練:課后的練習(xí)分為驗(yàn)證性和深入性練習(xí),驗(yàn)證性練習(xí)和課堂講解的程序難度相近,易于上手,讓學(xué)生能消化和鞏固課堂上老師講解的內(nèi)容;深入性練習(xí)是應(yīng)用所學(xué)知識點(diǎn)去解決一些實(shí)際的問題,要用到課堂講解的知識點(diǎn)并關(guān)聯(lián)到課外知識點(diǎn),這需要學(xué)生主動去查閱書籍、幫助文檔或者進(jìn)行相互討論,上網(wǎng)查詢等,完成相應(yīng)的練習(xí)和實(shí)驗(yàn)報(bào)告。
論:教師在上機(jī)課上主要針對深入性練習(xí)進(jìn)行討論,答疑,幫助學(xué)生完成這部分的練習(xí),并對學(xué)生所做的練習(xí)進(jìn)行隨堂檢查,起到監(jiān)督作用,可以使用一定的課時讓學(xué)生來講解自己的想法和做法,引導(dǎo)班上其他學(xué)生一起進(jìn)行討論和學(xué)習(xí)。
考:進(jìn)行期中考核,一來可以檢查學(xué)生對這部分內(nèi)容的學(xué)習(xí)情況,二是對一些學(xué)習(xí)態(tài)度不好的學(xué)生敲敲警鐘,對于Java面向?qū)ο蟮幕A(chǔ)知識,主要采用程序閱讀和程序填空為主,通過考核檢查學(xué)生的學(xué)習(xí)情況,并對教學(xué)進(jìn)行適當(dāng)?shù)恼{(diào)整。
第四階段:Java的基本應(yīng)用,使用Java來完成程序設(shè)計(jì)中的基本應(yīng)用,主要包括:Java常用類庫的使用,Java的文件管理,Java的輸入與輸出,Java的GUI界面設(shè)計(jì)等內(nèi)容。(16課時左右)該階段主要使用任務(wù)教學(xué)法,重點(diǎn)講解每個章節(jié)的典型程序,設(shè)計(jì)適當(dāng)?shù)娜蝿?wù)程序,讓學(xué)生通過完成這些基本應(yīng)用的任務(wù),積累Java的編程思想和經(jīng)驗(yàn)。
任務(wù)教學(xué)在各章中的示例:
在該階段教師應(yīng)做好引導(dǎo)和監(jiān)督的角色,一方面引導(dǎo)和幫助學(xué)生完成這些任務(wù),另一方面掌握好學(xué)生完成這些任務(wù)的進(jìn)度和情況,并通過課堂討論、機(jī)房演示、學(xué)生展示等手段充分調(diào)動學(xué)生主動學(xué)習(xí)和動手的積極性。
該學(xué)期的考核應(yīng)包括以下幾個方面:實(shí)驗(yàn)報(bào)告+分組討論表現(xiàn)+期中考核+課程設(shè)計(jì)+期末考試,期末要留出適當(dāng)?shù)恼n時來幫助學(xué)生完成好課程設(shè)計(jì),并且對學(xué)生的課程設(shè)計(jì)進(jìn)行檢查、現(xiàn)場演示和提問,根據(jù)學(xué)生的完成情況和回答問題的表現(xiàn)打分。
第五階段:這部分內(nèi)容應(yīng)該設(shè)置在上述4個階段之后的下一個學(xué)期,作為Java應(yīng)用的深入,主要是深入掌握J(rèn)ava并使用Java來完成更為具體的應(yīng)用開發(fā),主要內(nèi)容包括:Java數(shù)據(jù)結(jié)構(gòu);泛型;Java的數(shù)據(jù)庫編程;Swing相關(guān)界面編程;多線程;Java網(wǎng)絡(luò)編程;Java在web上應(yīng)用等內(nèi)容。這部分內(nèi)容設(shè)置為54個學(xué)時左右,主要使用項(xiàng)目驅(qū)動教學(xué),在一個學(xué)期內(nèi)安排學(xué)生分組完成3-4個項(xiàng)目。教師對每個章節(jié)的內(nèi)容進(jìn)行提綱挈領(lǐng)的講解,講解關(guān)鍵語句,布置閱讀和查閱資料的任務(wù),更多的課堂時間將用于介紹項(xiàng)目開發(fā)的方法和思想,組織學(xué)生討論項(xiàng)目開發(fā)中的問題,檢查各組項(xiàng)目的進(jìn)度和完成情況等。
項(xiàng)目示例:
成績評定方式:各個小組進(jìn)行簡短演示、說明和回答問題,現(xiàn)場進(jìn)行打分,讓學(xué)生能夠?qū)Ρ雀鹘M完成的情況,形成良好的討論和競爭氛圍。
4 結(jié)束語
本次Java的教學(xué)研究與改革強(qiáng)調(diào)了系統(tǒng)性和連貫性,對Java教學(xué)各個階段的教學(xué)內(nèi)容,教學(xué)方法和考核方式等進(jìn)行具有針對性的教學(xué)改革措施,目標(biāo)是培養(yǎng)學(xué)生的程序設(shè)計(jì)思想,提高學(xué)習(xí)興趣,提高自主學(xué)習(xí)能力和動手能力等,但還存在一些有待解決的問題:如何完善上機(jī)測試與考試的Java題庫,如何設(shè)計(jì)更多合適的編程任務(wù)和項(xiàng)目以適應(yīng)不同水平的學(xué)生,如何更有效地組織、引導(dǎo)學(xué)生進(jìn)行分組協(xié)作開發(fā),如何將Java的一些新特性引入課堂等。
參考文獻(xiàn):
[1] 朱慶生,古平.Java程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,2011:1-348.
[2] 陳國君. Java2程序設(shè)計(jì)基礎(chǔ)[M].北京:清華大學(xué)出版社,2009:2-10.
[3] 李嗇. 項(xiàng)目教學(xué)法在Visual FoxPro教學(xué)中的應(yīng)用[J]. 計(jì)算機(jī)教育,2007(9):53-54.
[4] 譚浩強(qiáng). C程序設(shè)計(jì)[M].4版.北京:清華大學(xué)出版社,2010:37-288.
[5] 羅剛,任廷艷,趙成. 如何有效地從C語言的學(xué)習(xí)過渡到Java[J].電腦知識與技術(shù), 2013(32).
[6] Ivor Horton(美). Java2入門經(jīng)典[M]. 北京:機(jī)械工業(yè)出版社,2009:22-153.endprint