邱 珊
(武漢華夏理工學(xué)院信息工程學(xué)院,武漢 430223)
Java語言程序設(shè)計精品資源共享建設(shè)與實踐
邱 珊
(武漢華夏理工學(xué)院信息工程學(xué)院,武漢 430223)
Java語言程序設(shè)計是應(yīng)用型本科計算機類和通信類專業(yè)必修的專業(yè)基礎(chǔ)課。學(xué)院對Java語言程序設(shè)計課程進行教學(xué)方法與手段的改革,對課程內(nèi)容和教學(xué)資源進行持續(xù)發(fā)展和更新,并在此基礎(chǔ)上將課程轉(zhuǎn)型升級為精品資源共享課程,為開放課程的建設(shè)提供借鑒和參考。
Java語言程序設(shè)計;課程改革;CDIO;精品資源共享;在線教育
武漢華夏理工學(xué)院質(zhì)量工程項目(No.2015114)
Java語言是當(dāng)前流行的面向?qū)ο蟪绦蛟O(shè)計語言。Java語言簡單易用、完全面向?qū)ο?、具有平臺無關(guān)性且安全可靠。在全球云計算和移動互聯(lián)網(wǎng)的產(chǎn)業(yè)環(huán)境影響下,Java更具備了顯著優(yōu)勢和廣闊前景。
《Java語言程序設(shè)計》課程是為武漢華夏理工學(xué)院信息工程學(xué)院計算機科學(xué)與技術(shù)、軟件工程、通信工程以及物聯(lián)網(wǎng)等專業(yè)學(xué)生開設(shè)的一門專業(yè)基礎(chǔ)課。是學(xué)生繼C之后學(xué)習(xí)的第二門編程語言,也是學(xué)生學(xué)習(xí)的第一門面向?qū)ο蟮某绦蛟O(shè)計語言。本課程由基礎(chǔ)理論、設(shè)計和應(yīng)用三部分組成,其中Java基礎(chǔ)理論部分主要內(nèi)容包括Java語言基本概念、基本語法規(guī)則及Java面向?qū)ο蟮某绦蛟O(shè)計方法;Java設(shè)計部分包括Java圖形用戶界面設(shè)計、Java事件處理機制、Java異常處理機制和Java多線程機制;Java應(yīng)用部分內(nèi)容包括輸入輸出流、Java集合操作、網(wǎng)絡(luò)編程和數(shù)據(jù)庫編程等。
通過本課程的學(xué)習(xí),學(xué)生將理解和掌握Java語言的基本語法和語義以及面向?qū)ο蟮某绦蛟O(shè)計方法,并能熟練使用JDK和一種IDE(NetBeans或者Eclipse)設(shè)計開發(fā)Java桌面應(yīng)用系統(tǒng)。
本課程的學(xué)習(xí)將為后續(xù)的《Android手機應(yīng)用開發(fā)》和《Java Web應(yīng)用開發(fā)》課程打下基礎(chǔ)。
《Java語言程序設(shè)計》轉(zhuǎn)型升級為學(xué)院精品資源共享后,課題組根據(jù)項目任務(wù)書,進一步以實踐教學(xué)改革為先導(dǎo),對課程內(nèi)容,教學(xué)方法和手段以及教學(xué)資源進行了持續(xù)發(fā)展,改革和更新。
1.1 課程重點突出
《Java語言程序設(shè)計》本身是信息工程學(xué)院學(xué)生的一門面向就業(yè)的重要專業(yè)基礎(chǔ)課程,是后續(xù)Java應(yīng)用開發(fā)的基礎(chǔ)。而面向?qū)ο蟮某绦蛟O(shè)計思想和方法則是整個課程的重中之重?!邦悺焙汀皩ο蟆笔荍ava最重要的概念,重點介紹“類”的定義、繼承、封裝和多態(tài)等。反復(fù)向?qū)W生灌輸“面向?qū)ο蟮某绦蛟O(shè)計方法更符合人類的思維習(xí)慣。在面向?qū)ο蟮某绦蛟O(shè)計中,程序是由對象組成的,通過對象之間的相互交互和通信完成程序的功能”的設(shè)計思想。
因為有了C語言的基礎(chǔ),對一些Java基本語法如數(shù)據(jù)類型、常量和變量、表達式和流程控制這部分內(nèi)容則作相對簡單介紹。完成了對面向?qū)ο蟮某绦蛟O(shè)計思
想的概念講授后,將面向?qū)ο蟮某绦蛟O(shè)計思想和方法貫穿于后續(xù)的整個課程教學(xué)中,將重點放在通過面向?qū)ο蟮某绦蛟O(shè)計方法解決問題而不是語法和算法上,通過實際問題的分析與解決,激發(fā)學(xué)生學(xué)習(xí)興趣,提高學(xué)生應(yīng)用能力,培養(yǎng)學(xué)生的學(xué)習(xí)信心。
1.2 持續(xù)更新課程內(nèi)容和開發(fā)環(huán)境
課程內(nèi)容持續(xù)更新,從基于Java1.4更新到基于Java5.0和Java6.0,再到基于Java 8.0。在2015年度開設(shè)的《Java語言程序設(shè)計》課程中,增加了數(shù)據(jù)庫訪問技術(shù)內(nèi)容;在2016年度開設(shè)的《Java語言程序設(shè)計》課程中,將JDK更新到最新版本Java 8.0,Java開發(fā)環(huán)境NetBeans IDE也從版本6.9更新到最新版本8.1。
1.3 改革教學(xué)手段
以CDIO工程教育模式為指導(dǎo),采用靈活多樣的教學(xué)方式[1]:
(1)在Java語言基礎(chǔ)理論部分采用集中式課堂授課的教學(xué)方法
集中式課堂授課的優(yōu)點是以教師為主,在多媒體教室中安裝能夠編譯運行Java代碼的真實的開發(fā)環(huán)境,通過黑板板書、PPT演示、程序運行和教師的語言和肢體動作,有利于基本概念的講解,有助于建立清晰的宏觀體系。
在知識點的講解過程中大量運用啟發(fā)、比喻、類比、舉例和實例動態(tài)演示等方法深入淺出地講解面向?qū)ο蟮某绦蛟O(shè)計所涉及類、對象、繼承和多態(tài)等概念,使教學(xué)生動,教學(xué)效果顯著。如在剛開始引入類和對象的概念時,以狗為例,帶著學(xué)生一起從無到有,構(gòu)造一個Dog類。首先通過啟發(fā)性提問,得到現(xiàn)實世界中狗有名字、品種、顏色等屬性,狗也有犬吠、吃東西、搖尾巴等行為特征。然后引導(dǎo)學(xué)生認識現(xiàn)實世界中的每一個屬性都對應(yīng)著類定義中的一個成員變量,而每一個行為特征則對應(yīng)類定義中的一個方法,而構(gòu)建類的過程就是將一個現(xiàn)實世界中的類型轉(zhuǎn)換成計算世界中的一個類。因此和學(xué)生一起得到的Dog類的定義如下:
而在引入對象的概念時,在上面Dog類的基礎(chǔ)上,以班上一個性格比較大大咧咧的男孩子來舉例,說他是一只名叫“Michael”的高大威猛而又溫柔善良的棕色德國獵犬,他現(xiàn)在餓了搖尾巴要吃東西。引來同學(xué)們哄堂大笑,氣氛輕松活躍。順勢轉(zhuǎn)換成代碼:
通過輕松愉快的課堂講授,學(xué)生發(fā)現(xiàn)原來現(xiàn)實世界就是面向?qū)ο蟮?,而寫面向?qū)ο蟮某绦蚓褪菍F(xiàn)實世界中的類和對象轉(zhuǎn)換翻譯成計算世界的類和對象,并不是很困難的事,也意識到學(xué)好英語的重要性。
再比如,在講解方法重載時,以中國人和印度人的表示同意的方式的不同來描述,中國人表示“是”會點頭,而印度人則邊說“yes”邊搖頭。在講解多態(tài)時,以開花為例,都是開花,不同類型的花呈現(xiàn)不同的形態(tài),花仙子仙杖一揮,百花齊放,多姿多彩。
(2)在Java語言的應(yīng)用部分,增加上機學(xué)時,采用機房授課的形式,通過邊講邊練的教學(xué)方法,通過“學(xué)中做,做中學(xué)”,激發(fā)學(xué)生學(xué)習(xí)興趣,提高學(xué)生實踐動手能力。
在講授了面向?qū)ο蟮某绦蛟O(shè)計基礎(chǔ)、思路和方法后,在Java語言的應(yīng)用部分,改變以教師為主體的教學(xué)方式,將課堂更多地交給學(xué)生。通過機房的教師端和學(xué)生端軟件工具的使用,教師可以將概念的講解,Java應(yīng)用與程序的運行和演示緊密地結(jié)合起來,學(xué)生一人一機,可以更為清晰地觀察和理解程序代碼的撰寫過程和運行結(jié)果。教師講解演示后,學(xué)生可以馬上進行操
作,對所學(xué)內(nèi)容能及時驗證,訓(xùn)練鞏固,程序出現(xiàn)問題可以得到教師的及時指導(dǎo)。如教師講解完Socket編程的原理和過程后,在教師機上同時模擬客戶端和服務(wù)器端進行通信,學(xué)生觀察學(xué)習(xí)如何編碼、配置以及運行;然后要求學(xué)生兩人一組,一個客戶端,一個服務(wù)器端,彼此進行通信。教師引導(dǎo)學(xué)生如何獲取對方機器的IP地址(計算機網(wǎng)絡(luò)課程還沒開設(shè)),之后的連接和通信就由學(xué)生自己來完成的??吹皆谧约簷C器上輸入的信息顯示在對方機器上,學(xué)生感到成功的喜悅,很有成就感。
在這種“教師主導(dǎo)-學(xué)生主體”的教學(xué)模式中,教師更多地是問題的提出著和引導(dǎo)者,而學(xué)生是問題的解決者,提高了學(xué)生分析問題,解決問題和綜合應(yīng)用的能力。課堂教學(xué)從講授式向研究探索式、合作學(xué)習(xí)式轉(zhuǎn)變,“教學(xué)內(nèi)容呈現(xiàn)方式”、“教師的教學(xué)方式”、“學(xué)生的學(xué)習(xí)方式”和“師生互動方式”正朝個性化、差異化的方向轉(zhuǎn)變。
圖1 教學(xué)方式多樣化
1.4 注重實踐教學(xué)
在15級和16級培養(yǎng)方案的制定和修訂中,進一步提高該課程的實踐學(xué)時,使得該課程的理論和實踐學(xué)時比例達到1:1。由此整個課程教學(xué)中,有更多學(xué)時能夠?qū)崿F(xiàn)“教師邊講,學(xué)生邊練”的CDIO工程教育模式,進一步增加了學(xué)生上機實踐的時間,提高學(xué)生實踐動手能力。課程同時配置有專門的實驗環(huán)節(jié),有完善的實驗指導(dǎo)書。實驗內(nèi)容以設(shè)計性實驗為主,按章節(jié)內(nèi)容組織,按照授課章節(jié)的次序,實驗內(nèi)容依次累加。實驗?zāi)繕嗽O(shè)定為面對實際問題能夠編程解決,具有熟練編寫程序的能力,而不追求理論的完整,不追求使用復(fù)雜的算法。而累加式的實驗內(nèi)容,加強了學(xué)生對總體知識和能力的把握,加強了對所學(xué)知識綜合運用的能力。
1.5 “校企合作,項目驅(qū)動”的Java課程設(shè)計
近年來,由企業(yè)將實際的項目帶到學(xué)校來,由企業(yè)的工程師和學(xué)院專職教師共同指導(dǎo)學(xué)生對項目進行需求分析,系統(tǒng)設(shè)計,編碼,調(diào)試和測試以及最后的部署運行。在2014級該課程的課程設(shè)計中,與武漢軟帝信息科技有限公司(Softeem)合作,指導(dǎo)學(xué)生完成了一個基于Java平臺的飛鴿傳書聊天系統(tǒng)的設(shè)計與開發(fā),該系統(tǒng)使用Eclispe開發(fā)工具,綜合運用了Java Swing圖形用戶界面,多線程,異常處理,Java輸入輸出,Java集合和Java網(wǎng)絡(luò)編程的內(nèi)容。在2015年該課程1周的課程設(shè)計中,引入Android移動開發(fā)環(huán)境,開發(fā)一個相對簡單的移動應(yīng)用,激發(fā)學(xué)生學(xué)習(xí)興趣。在2016年該課程1周的課程設(shè)計中,開發(fā)一個基于Java的中國象棋對弈系統(tǒng),學(xué)生參與度較高。
1.6 出版了適合三本院校學(xué)生使用的《Java語言程序設(shè)計》教材
課題組總結(jié)了多年來從事Java語言開發(fā)和教學(xué)的經(jīng)驗編寫了適合應(yīng)用型本科使用的教程。該教材以Java語言的內(nèi)容體系為線索,全面系統(tǒng)地介紹了Java語言程序設(shè)計的基礎(chǔ)知識,Java面向?qū)ο蟮某绦蛟O(shè)計的思想、方法與設(shè)計過程,以及Java在圖形用戶界面編程、文件和集合操作,網(wǎng)絡(luò)和數(shù)據(jù)庫編程等方面的應(yīng)用。該教材概念清晰,知識點全面,例題和代碼豐富實用。每章均備有大量的練習(xí)題,幫助讀者檢驗學(xué)習(xí)情況和掌握各章的主要內(nèi)容。
本教材自13年開始使用以來,學(xué)生反映良好,認為“該書是從初級知識逐步深入到更深奧的知識,讓初學(xué)者更容易接受學(xué)習(xí)一門全新的語言,而且課本的章節(jié)內(nèi)容也是理論聯(lián)系實踐雙重結(jié)合,循序漸進。這本書很適合我們,它的知識面很廣,多用通俗方式告訴我們關(guān)于Java的知識,是本值得推薦的書”。
精品資源共享課是以高校教師和學(xué)生為主體,為了能夠更好地實現(xiàn)優(yōu)質(zhì)資源共享而開展的課程建設(shè)項目,目的在于改變傳統(tǒng)的教育教學(xué)理念,利用現(xiàn)代教育技術(shù)改革現(xiàn)有的教學(xué)方法和模式,從而促進教學(xué)質(zhì)量的提高[2-3]。
《Java語言程序設(shè)計》于2015年轉(zhuǎn)型升級為院級
精品資源共享?!禞ava語言程序設(shè)計》精品資源共享課主要著重點是研究、建立和完善適合創(chuàng)新型、應(yīng)用型Java語言程序設(shè)計的教學(xué)模式,由“教”向“學(xué)”的教學(xué)模式轉(zhuǎn)變,引導(dǎo)學(xué)生自主學(xué)習(xí);保證本課程教學(xué)與時俱進、不斷更新,實現(xiàn)《Java語言程序設(shè)計》課程的資源共享;《Java語言程序設(shè)計》精品資源共享課的最終目標是通過對課程的持續(xù)建設(shè)和更新,將其轉(zhuǎn)型升級為規(guī)范、系統(tǒng)和先進的資源共享課,給在校學(xué)生學(xué)習(xí)參考。
(1)制作《Java語言程序設(shè)計》課件。
《Java語言程序設(shè)計》教學(xué)課件概念清晰、實例豐富,圖文并茂,使抽象的知識變得生動、直觀、形象,課堂氣氛變得輕松、愉悅。課件內(nèi)容緊跟Java技術(shù)的發(fā)展,內(nèi)容持續(xù)更新,這種更新貫穿課程建設(shè)的全過程。
(2)根據(jù)程序設(shè)計課程特點錄制全程教學(xué)視頻。
《Java語言程序設(shè)計》無論是在多媒體教室還是在機房授課都安裝能夠編譯運行Java代碼的真實的開發(fā)環(huán)境,本課程本身邏輯性較強,而且設(shè)計與實現(xiàn)的步驟也比較多,通過教師的概念講解和程序在真實開發(fā)環(huán)境下的演示運行相結(jié)合來加深學(xué)生對概念的理解和提高學(xué)生實踐動手能力。所以要求教學(xué)視頻能夠完整反映所講程序設(shè)計實現(xiàn)和演示運行過程。
因此本課程的全程教學(xué)視頻的錄制分成兩部分:第1部分是采用由我院人文與藝術(shù)學(xué)院專業(yè)攝影團隊進行高清攝影錄像的方式錄制課堂中教師的講解和板書以及與學(xué)生的互動,攝影錄像不錄制開發(fā)環(huán)境中代碼的操作和運行;第2部分采用屏幕錄制軟件錄制開發(fā)工具中代碼的撰寫、操作和運行過程。第2部分由主講教師控制,在授課過程中與第1部分同步完成。兩部分錄制完成后,再通過專業(yè)的視頻處理軟件按照上課的內(nèi)容次序?qū)⒌?部分穿插到第1部分中,形成完整的教學(xué)視頻。
采用屏幕錄制軟件錄制的程序設(shè)計開發(fā)過程的視頻,能夠清晰完整地記錄程序設(shè)計中的每一步操作和運行結(jié)果,主題明確,時間短,通常1-2個視頻闡述一個知識點或者應(yīng)用點。這樣的視頻符合微課的定義,將這種微課視頻作為全程教學(xué)視頻的補充,這樣當(dāng)學(xué)生在不清楚某一部分時可以反復(fù)觀看這一部分,深刻理解程序的設(shè)計原理與過程,對引導(dǎo)學(xué)生自主學(xué)習(xí)起到積極的推動作用。
(3)建設(shè)《Java語言程序設(shè)計》精品資源共享網(wǎng)站。
《Java語言程序設(shè)計》課程充分利用網(wǎng)絡(luò)技術(shù),實現(xiàn)課程資源的開放與共享。課程網(wǎng)站建設(shè)改變了傳統(tǒng)的教學(xué)和答疑模式,給學(xué)生課后學(xué)習(xí)Java語言提供一個開放的網(wǎng)絡(luò)教學(xué)平臺和交流平臺,對提高Java語言教學(xué)質(zhì)量,激發(fā)學(xué)生學(xué)習(xí)Java語言的積極性起到了促進作用。
本課程利用武漢高德精品開放課程學(xué)習(xí)平臺,從基本資源和拓展資源兩個方面建立了系統(tǒng)、完整的網(wǎng)上課程資源,創(chuàng)建了符合軟件應(yīng)用人才培養(yǎng)目標的開放性教學(xué)環(huán)境。除教學(xué)錄像外,所有的教學(xué)資料都通過Print2Flash工具轉(zhuǎn)換成Flash動畫文件(以.swf為擴展名的文件)后輕松發(fā)布到網(wǎng)站,供學(xué)生在線瀏覽閱讀。教學(xué)錄像則以MP4的格式存儲,通過流媒體文件的形式上傳到網(wǎng)站,通過Windows Media播放器在線播放。
①基本資源建設(shè)
根據(jù)精品資源共享課的要求,基本資源必須要能夠反映教學(xué)思想、課程內(nèi)容、教學(xué)方法等內(nèi)容?!禞ava語言程序設(shè)計》精品資源共享的基本資源包括教學(xué)團隊、課程介紹、課程視頻、教學(xué)課件、實踐教學(xué)、典型例題、課程互動等七大板塊。教學(xué)團隊包括對課程負責(zé)人的介紹、對團隊成員的介紹以及對團隊教科研的總結(jié);課程介紹板塊包括課程簡介、課程目標、教學(xué)改革、教學(xué)日歷、教學(xué)大綱和參考資料;課程視頻中包含了全程課程錄像;教學(xué)課件為圖、文、動畫并茂的課程演示文稿;實踐教學(xué)包括課程實驗大綱、課程設(shè)計大綱、實驗指導(dǎo)書和課程設(shè)計任務(wù)書;典型例題為授課課堂中使用到的主要程序源代碼;課程互動包括論壇、答疑、作業(yè)和考試。
②拓展資源建設(shè)
拓展資源包括企業(yè)面試例題、等級考試例題、常用的學(xué)習(xí)網(wǎng)站、參考書和源代碼等。這些擴充性資料既滿足課程教學(xué)的需要,又兼顧了學(xué)生課外自主學(xué)習(xí)的要求。通過學(xué)生自己查找和組織學(xué)習(xí)內(nèi)容,培養(yǎng)學(xué)生主動學(xué)習(xí)的能力和習(xí)慣,這種能力和習(xí)慣也是企業(yè)非??粗氐钠焚|(zhì)。Java作為流行的編程語言和主要的就業(yè)方向,歷來是企業(yè)面試的重要內(nèi)容,搜集整理了常見Java面試題以及華為、騰訊等公司的真實面試題,幫助學(xué)生為就業(yè)做準備。
作為課堂教學(xué)的有益補充,學(xué)生可以在課下的任何時候隨時地訪問課程網(wǎng)站。學(xué)生通過查看課件,觀看
授課錄像和課堂源代碼,與課堂中所學(xué)的知識進行印證、對比和鞏固。學(xué)生有問題可以通過網(wǎng)站提交問題,由教師通過網(wǎng)站及時解答,這樣的問題和解答是透明的,其他學(xué)生都可以看到,對于有代表性的常見問題,真正起到了解惑的作用。不僅如此,教師和學(xué)生都可以通過論壇發(fā)表Java相關(guān)資源,實現(xiàn)信息的共享。學(xué)生的學(xué)習(xí)完全不受限于課堂學(xué)時的限制,對于學(xué)生來說,可以更好地激發(fā)其學(xué)習(xí)的興趣和動力。
精品資源共享課建設(shè)對深化課程教學(xué)改革、提高應(yīng)用型本科教學(xué)質(zhì)量意義重大。優(yōu)質(zhì)的課程教學(xué)資源與開放的資源全面共享相結(jié)合的精品資源共享課建設(shè),改變了傳統(tǒng)的以教師為主體滿堂灌的授課方式,轉(zhuǎn)向“教師為主導(dǎo)、學(xué)生為主體”的引導(dǎo)式、啟發(fā)式、探究式和合作學(xué)習(xí)式教學(xué)模式,強化學(xué)生實踐動手和分析能力,激發(fā)學(xué)生學(xué)習(xí)興趣,促進思維和自學(xué)能力提高。后續(xù)將繼續(xù)對《Java語言程序設(shè)計》精品資源共享課程進行持續(xù)的建設(shè)、更新和發(fā)展,培養(yǎng)創(chuàng)新應(yīng)用型軟件人才。
[1]邱珊.CDIO教育模式在Java語言程序設(shè)計教學(xué)中的應(yīng)用[J].現(xiàn)代計算機,2011(9):21-23.
[2]楊久紅,王小增.互聯(lián)網(wǎng)+時代背景下精品資源共享課建設(shè)研究——以《C語言程序設(shè)計》課程為例[J].蘭州教育學(xué)院學(xué)報, 2015(12):86-87.
[3]陳鵬,邱煥耀.高職院校程序設(shè)計精品資源共享網(wǎng)站建設(shè)問題探析[J].軟件導(dǎo)刊,2016(4):74.
Construction and Practice of Programming in Java Excellent Resource Sharing
QIU Shan
(College of Information Engineering,Wuhan Huaxia University of Technology,Wuhan 430223)
Java Programming is a required professional basic course for the application-oriented undergraduate computer and communication related majors.Wuhan Huaxia University of Technology has applied reforms of teaching methods and means to the course and the content of the curriculum and teaching resources have been sustainably developed and renewed.The course has been upgraded as excellent resource sharing,provides reference for the construction of open courses.
Java Programming;Curriculum Reformation;CDIO;Excellent Resource Sharing;E-Learning
1007-1423(2016)30-0033-05
10.3969/j.issn.1007-1423.2016.30.009
邱珊(1970-),女,湖北武漢人,碩士研究生,副教授,研究方向為軟件工程、計算機安全和計算機基礎(chǔ)教育
2016-09-13
2016-10-20