崔海燕(廣東理工職業(yè)學(xué)院計(jì)算機(jī)系,中山 528400)
對高職院校軟件測試專業(yè)Java課程教學(xué)的探索
崔海燕
(廣東理工職業(yè)學(xué)院計(jì)算機(jī)系,中山528400)
本專業(yè)開設(shè)的Java課程,是作為軟件測試專業(yè)的選修課來開設(shè)的,目的是通過系統(tǒng)的編程技術(shù)學(xué)習(xí),使學(xué)生具有基本的編程技能,為白盒測試及自動(dòng)化測試腳本打下良好的基礎(chǔ)。但是在教學(xué)過程中發(fā)現(xiàn),部分學(xué)生沒有認(rèn)識(shí)到Java課程在軟件測試專業(yè)中作用和重要性,誤以為軟件測試專業(yè)學(xué)習(xí)Java課程無用,從而抱著一種無所謂的心態(tài)去學(xué)習(xí),甚至不去學(xué)習(xí)。還有部分學(xué)生雖然意識(shí)到Java課程的重要性,但是由于課程要求較高,對學(xué)生編程能力的有一定要求,而學(xué)生本身的接受能力和學(xué)習(xí)能力有限,致使學(xué)生形成畏難心理,學(xué)習(xí)興趣不高。這兩種偏差的Java課程定位,使學(xué)生不能以良好的心態(tài)投入到學(xué)習(xí)中,嚴(yán)重的影響了學(xué)習(xí)的積極性。
Java課程是一門實(shí)用性、操作性很強(qiáng)的課程,目前的教學(xué)方式主要是以課堂理論教學(xué)和上機(jī)實(shí)踐為主,課堂上對于Java語句及語法等細(xì)節(jié)過分注重,上機(jī)實(shí)踐大多偏重于功能簡單的、驗(yàn)證性的小程序,學(xué)生幾乎沒有機(jī)會(huì)結(jié)合實(shí)際的軟件項(xiàng)目進(jìn)行實(shí)戰(zhàn)性的訓(xùn)練。在教學(xué)過程中,由于理論教學(xué)和上機(jī)時(shí)間間隔時(shí)間較長,導(dǎo)致很多學(xué)生在上機(jī)實(shí)踐時(shí)通過照抄課本回顧理論知識(shí),很難對已學(xué)知識(shí)進(jìn)行融會(huì)貫通。這種教學(xué)模式,固然使學(xué)生對Java基礎(chǔ)知識(shí)的掌握較好,但是很難靈活運(yùn)用所學(xué)知識(shí)解決實(shí)際問題。
Java課程的學(xué)習(xí)沒有捷徑,必須通過多寫多練才能對所學(xué)知識(shí)熟練掌握,學(xué)校安排的72課時(shí)(36理論、36實(shí)踐)很難滿足學(xué)生的實(shí)踐要求,這就要求學(xué)生在課后花費(fèi)一定的時(shí)間,并按時(shí)完成教師布置的練習(xí)。但是在授課過程中發(fā)現(xiàn),本專業(yè)的學(xué)生自我管理能力稍差,大部分學(xué)生習(xí)慣于在課堂上解決所有問題,很不愿意在課后花費(fèi)時(shí)間學(xué)習(xí),并且在學(xué)習(xí)過程中很容易受外界影響。在提交課后練習(xí)時(shí),會(huì)出現(xiàn)學(xué)生抄襲作業(yè)的情況。
Java課程作為測試專業(yè)的一門基礎(chǔ)課程,在教學(xué)計(jì)劃中,我們把Java課程分為兩個(gè)部分:前期的Java編程基礎(chǔ)與后期的Java應(yīng)用開發(fā)與測試。Java編程基礎(chǔ)放在大學(xué)一年級(jí)第二學(xué)期,72學(xué)時(shí),每周4學(xué)時(shí)。Java應(yīng)用開發(fā)與測試放在大學(xué)二年級(jí)第一學(xué)期,54學(xué)時(shí),每周4學(xué)時(shí)連排課程。Java編程基礎(chǔ)主要講授Java的基本語法、類與對象、Java API的使用、集合類、圖形用戶界面編程、網(wǎng)絡(luò)編程等知識(shí),主要目的是培養(yǎng)學(xué)時(shí)的基本編程技能。Java應(yīng)用開發(fā)與測試主要講授輸入輸出流、多線程等Java的高級(jí)編程知識(shí),Java單元測試,以及代碼檢查等知識(shí),主要目的是對學(xué)生的項(xiàng)目能力進(jìn)行鍛煉,并為白盒測試及自動(dòng)化測試打下良好的基礎(chǔ)。
學(xué)生剛開始接觸編程,不可能很快就具有獨(dú)立編程的能力,在實(shí)訓(xùn)課堂上經(jīng)常會(huì)出現(xiàn)學(xué)生拿著課本逐個(gè)單詞比較查找代碼出錯(cuò)的原因。面對這種現(xiàn)象,我們不得不反思,在給學(xué)生講解例子的時(shí)候,很多教師習(xí)慣于帶領(lǐng)著學(xué)生把課本上的例子敲一遍,然后再讓學(xué)生按照課本把程序再抄一遍加深理解,這種授課方式真正對學(xué)生的編程能力及動(dòng)手能力的提高有多大的幫助?
針對教學(xué)過程中遇到的問題,我們也調(diào)整了現(xiàn)有的教學(xué)方式方法,采用了以“讀、練、改、測”為主線的任務(wù)與項(xiàng)目驅(qū)動(dòng)相結(jié)合的教學(xué)方法,激發(fā)學(xué)生的學(xué)習(xí)興趣,提高教學(xué)質(zhì)量。所謂的“讀、改、練、改、測”,就是“讀程序、改程序、做練習(xí)、測程序”。在前期的Java編程基礎(chǔ)學(xué)習(xí)時(shí),主要采用任務(wù)驅(qū)動(dòng)的方式,讓學(xué)生在“讀、改、練”中完成對基礎(chǔ)知識(shí)的掌握,鍛煉學(xué)生的基本編程技能。在后期的Java應(yīng)用開發(fā)與測試學(xué)習(xí)時(shí),主要采用項(xiàng)目驅(qū)動(dòng)的方式,讓學(xué)生在“讀、改、練、測”中完成對Java知識(shí)點(diǎn)的融會(huì)貫通,培養(yǎng)學(xué)生獨(dú)立編寫小型應(yīng)用程序的能力,并用所學(xué)知識(shí)對自己的程序進(jìn)行測試,給出相應(yīng)的測試報(bào)告。
(1)讀程序
在課堂上,先帶領(lǐng)學(xué)生去讀懂例子程序,讓學(xué)生了解程序的功能是什么,明白完成該功能要用到哪些知識(shí),并掌握程序設(shè)計(jì)的思路和步驟,然后再讓學(xué)生試著回顧教師所講,試著自己把程序?qū)懗鰜?。在讀程序的過程中,養(yǎng)成主動(dòng)思考的習(xí)慣,從而激發(fā)學(xué)習(xí)的積極性。
在講解Java編程基礎(chǔ)的時(shí)候,我的教學(xué)重點(diǎn)放在怎么去讀懂例子程序上,并不是怎么去驗(yàn)證這個(gè)例子。讓學(xué)生在讀程序的同時(shí)去主動(dòng)思考,思考例子程序的功能,思考所用到的知識(shí)點(diǎn)。在講解Java應(yīng)用開發(fā)與測試時(shí),通過一些簡單的項(xiàng)目的講解(比如山寨版QQ的實(shí)現(xiàn)),通過帶領(lǐng)學(xué)生讀代碼,讓學(xué)生去認(rèn)識(shí)我們平常所用的QQ是怎么實(shí)現(xiàn)的。讓學(xué)生按照各個(gè)功能塊,引導(dǎo)學(xué)生主動(dòng)思考怎么用所學(xué)的知識(shí)設(shè)計(jì)并實(shí)現(xiàn)例子中所要求的功能。
(2)修改程序
Java課程在注重理論課程學(xué)習(xí)的同時(shí),重點(diǎn)培養(yǎng)學(xué)生的動(dòng)手編程能力。但是在授課過程中,很多學(xué)生感覺自己聽懂了,也能夠模仿例子寫一些簡單的程序,可是讓他們獨(dú)立完成一些編程任務(wù)時(shí),就會(huì)有心無力、無從下手。針對這種情況,我采用了先讀、后改、再寫的辦法。先在其他項(xiàng)目中找到類似的模塊,讓學(xué)生讀懂該模塊的代碼,然后在其基礎(chǔ)上進(jìn)行修改,最后再把修改后的代碼加入到自己的項(xiàng)目中,從而完成編程任務(wù)。通過查找程序、修改程序、完成任務(wù)的過程,讓學(xué)生逐漸體會(huì)到編程的樂趣,消除編程的畏難心理,這樣才能讓學(xué)生更加積極主動(dòng)的學(xué)習(xí)。一旦學(xué)生的學(xué)習(xí)興趣得到激發(fā),學(xué)生才會(huì)勤于思考、積極動(dòng)手,甚至?xí)阉妓朕D(zhuǎn)化為優(yōu)秀的軟件,使學(xué)生的創(chuàng)新能力得到進(jìn)一步的提高。
(3)做練習(xí)
練習(xí)主要都是在課下完成,練習(xí)主要是圍繞著所講內(nèi)容所給出的一些貼合實(shí)際的具有趣味性的程序。在講解Java編程基礎(chǔ)時(shí),每周開課之前,會(huì)先告訴學(xué)生該周的任務(wù),然后在講解到相關(guān)知識(shí)點(diǎn)時(shí),會(huì)針對該周任務(wù)對學(xué)生進(jìn)行引導(dǎo),讓學(xué)生思考怎么利用所學(xué)的知識(shí)完成任務(wù),并在課后完成該周的任務(wù)。在下周進(jìn)行講評的時(shí)候,隨機(jī)抽取部分學(xué)生講解思路演示代碼。通過以任務(wù)為驅(qū)動(dòng)的教學(xué)方式,激發(fā)學(xué)生的學(xué)習(xí)興趣,提高學(xué)生獨(dú)立完成問題的能力,并能對學(xué)生的課后練習(xí)的完成情況進(jìn)行有效的監(jiān)督。學(xué)生具有了基本的編程能力之后,在Java應(yīng)用開發(fā)與測試的課程中,就會(huì)對學(xué)生的項(xiàng)目能力進(jìn)行培訓(xùn),依然采用“讀、改、練”的方式進(jìn)行指導(dǎo),培訓(xùn)成果為以小組(2-3人)為單位的項(xiàng)目作品。
(4)測試程序
測試程序分為兩步:第一步是小組內(nèi)的單元測試,旨在提高學(xué)生編碼的規(guī)范性,確保軟件功能的完整性;第二步是小組間的互測,各個(gè)小組互相選擇另一小組使用代碼走查工具對其提交軟件進(jìn)行測試,并提交最終的測試報(bào)告,為以后學(xué)習(xí)白盒測試奠定基礎(chǔ)。
測試程序的環(huán)節(jié),在提高學(xué)生自身能力的同時(shí),也是為了督促學(xué)生更好的完成項(xiàng)目的練習(xí),更重要的則是為了確保學(xué)生對Java課程定位準(zhǔn)確,擺在心態(tài)認(rèn)真學(xué)習(xí),為后續(xù)課程打下堅(jiān)實(shí)的基礎(chǔ)。
考試作為教學(xué)活動(dòng)的一個(gè)重要環(huán)節(jié),是對教學(xué)效果的重要測試手段。當(dāng)前,Java課程的考試主要采用筆試的方式,重在考察Java語言的理論知識(shí),忽視了學(xué)生的動(dòng)手能力、項(xiàng)目能力,這樣的考核方式不能真正檢驗(yàn)學(xué)生的真實(shí)水平。針對Java課程在軟件測試專業(yè)中的地位,把考試變?yōu)榭己?,將平時(shí)成績考核與期末成績考核結(jié)合,將考分分解到教學(xué)過程中去。具體做法如下:平時(shí)成績(40%),期末成績(60%)。平時(shí)成績包括課堂考勤(10%)、課堂表現(xiàn)(5%)、實(shí)驗(yàn)(10%)、練習(xí)(15%),期末成績則是每個(gè)小組提交項(xiàng)目作品及測試報(bào)告。
每個(gè)專業(yè)的Java課程授課的側(cè)重點(diǎn)有所不同,本文針對軟件測試專業(yè)的特點(diǎn),對Java課程改革進(jìn)行探索,通過教學(xué)實(shí)踐我們發(fā)現(xiàn),學(xué)生編程積極性空前高漲,教學(xué)成果顯著。學(xué)生一旦認(rèn)識(shí)到了Java課程在測試專業(yè)課程體系中的重要性,學(xué)習(xí)態(tài)度較前幾屆學(xué)生認(rèn)真,學(xué)習(xí)的積極性也有了明顯提高。同時(shí)由于Java課程結(jié)構(gòu)的調(diào)整,學(xué)生有了更多的實(shí)踐時(shí)間,在授課的過程中采用了以“讀、練、改、建、測”為主線的任務(wù)與項(xiàng)目驅(qū)動(dòng)相結(jié)合的教學(xué)方法,在實(shí)踐中使得學(xué)生的動(dòng)手能力也得到明顯提高。
[1]賀玉珍.Java課程教學(xué)改革與實(shí)踐[J].Computer Era,2014(10),64-65.
[2]黃婕.高職Java程序設(shè)計(jì)課程“做中學(xué),做中教”教學(xué)模式研究[J].長沙航空職業(yè)技術(shù)學(xué)院學(xué)報(bào),2014(3),43-47.
[3]李潔.《Java程序設(shè)計(jì)課程》教學(xué)改革研究[J].赤峰學(xué)院學(xué)報(bào),2014(11),260-261.
[4]吳麗英,李書滿,張永剛.應(yīng)用型人才培養(yǎng)模式下的Java課程教學(xué)改革[J].消費(fèi)電子,2013(3),213-214.
[5]李茂民.《Java語言程序設(shè)計(jì)》課程教學(xué)改革實(shí)踐探討[J].軟件工程師,2015(5),48、43.
[6]解紹詞,代勁.基于任務(wù)與項(xiàng)目混合驅(qū)動(dòng)的Java平臺(tái)課程改革探索[J].教育教學(xué)論壇,2014(42),124-126.
Java;Vocational Colleges;Teaching Reformation
Exploration on the Teaching of Java Course in Software Testing in Higher Vocational Colleges
CUI Hai-yan
(Department of Computer Science,Guangdong Polytechnic Institute,Zhongshan 528400)
1007-1423(2015)27-0042-03
10.3969/j.issn.1007-1423.2015.27.012
崔海燕(1987-),女,河南駐馬店人,碩士,教師,研究方向?yàn)樵拼鎯?chǔ)
2015-08-20
2015-09-25
以高職院校軟件測試專業(yè)為背景,針對Java課程教學(xué)的特點(diǎn),總結(jié)了教學(xué)中存在的問題,并針對這些問題結(jié)合教學(xué)實(shí)際,提出以“讀、練、改、測”為主線的任務(wù)與項(xiàng)目驅(qū)動(dòng)相結(jié)合的教學(xué)方法,激發(fā)學(xué)習(xí)興趣,提高教學(xué)質(zhì)量。
Java;高職院校;教學(xué)改革
In the background of software testing professional in vocational colleges,according to the characteristics of Java teaching,summarizes the problems in teaching,combined with teaching practical to solve these issues,puts forward a teaching method to inspire students to learn interest and improve teaching quality.This method is read,practice,change,test as the main line to combine task with project driven.