趙營穎++崔娟娜
摘 要 課程設(shè)計(jì)環(huán)節(jié)是程序設(shè)計(jì)類課程實(shí)踐教學(xué)的一種非常重要的途徑。通過在JAVA程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)中引入WWH理念,闡述在理論學(xué)習(xí)中如何對學(xué)生進(jìn)行引導(dǎo),在評價(jià)體系中引入PSP評價(jià)方式,對軟件代碼進(jìn)行評價(jià),解決實(shí)踐教學(xué)過程中學(xué)生重視度不夠、教師評價(jià)難的問題。
關(guān)鍵詞 JAVA程序設(shè)計(jì)基礎(chǔ);課程設(shè)計(jì);PSP
中圖分類號:G642.4 文獻(xiàn)標(biāo)識碼:B
文章編號:1671-489X(2017)14-0115-02
Evaluation Model of Course Design of JAVA Program based on PSP//ZHAO Yingying, CUI Juanna
Abstract The curriculum design is a very important way of practical teaching of programming course. This paper introduces the concept of WWH in the course of JAVA Programming Foundation teaching curriculum. How to guide students in theoretical study , In the evalu-
ation system to introduce the PSP evaluation of the software code to
evaluate the solution to solve the practice of teaching students in the
process of insufficient attention, teacher evaluation difficult problem.
Key words JAVA programming foundation; course design; PSP
1 前言
在程序設(shè)計(jì)類課程中,實(shí)踐教學(xué)環(huán)節(jié)一般包含兩個(gè)方面,即實(shí)驗(yàn)教學(xué)環(huán)節(jié)、課程設(shè)計(jì)環(huán)節(jié)。實(shí)驗(yàn)教學(xué)環(huán)節(jié)是對理論教學(xué)中的知識點(diǎn)進(jìn)行實(shí)踐;而課程設(shè)計(jì)環(huán)節(jié)是對本門課程乃至之前學(xué)習(xí)的課程知識綜合性的練習(xí)和實(shí)踐,對學(xué)生動(dòng)手能力的提升具有非常重要的意義。課程設(shè)計(jì)是對某一門課程進(jìn)行教學(xué)策劃的研究活動(dòng),具體來說是指在學(xué)完專業(yè)課一段時(shí)間內(nèi),安排組織學(xué)生用學(xué)到的知識在一定的時(shí)間內(nèi)有組織或者分散地完成一些任務(wù)。目前在大學(xué)計(jì)算機(jī)教學(xué)過程中,很大一部分程序設(shè)計(jì)類課程都開設(shè)了課程設(shè)計(jì),以期學(xué)生在課程設(shè)計(jì)中能夠掌握程序設(shè)計(jì)的基本思想、軟件開發(fā)的基本流程、程序調(diào)試的基本方法[1]。
目前存在的問題 本文針對河南中醫(yī)藥大學(xué)JAVA程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)執(zhí)行過程中出現(xiàn)的問題進(jìn)行總結(jié)。在實(shí)施過程中總結(jié)遇到的問題,有學(xué)生的學(xué)習(xí)態(tài)度問題,包括對課程設(shè)計(jì)不重視,認(rèn)為課程設(shè)計(jì)不重要;有教學(xué)計(jì)劃設(shè)計(jì)問題,指軟件工程課程安排在程序設(shè)計(jì)類課程之后,學(xué)生對軟件開發(fā)流程沒有整體概念,無從下手;評價(jià)方法和評價(jià)標(biāo)準(zhǔn)過于簡單、單一,且隨意性強(qiáng),沒有嚴(yán)格的評價(jià)標(biāo)準(zhǔn),造成課程設(shè)計(jì)的質(zhì)量下降。可見,問題集中在學(xué)生的態(tài)度問題、基本開發(fā)軟件的技能、教師的評價(jià)標(biāo)準(zhǔn)這三個(gè)方面[2]。
鑒于學(xué)生的學(xué)習(xí)態(tài)度問題,教師對不同層次的學(xué)生進(jìn)行調(diào)查,原因主要為:課程為考察課,重視程度不夠;課程學(xué)習(xí)起來太難,難以接受,更不想動(dòng)手做東西;課程設(shè)計(jì)以往采用分組形式,每組人數(shù)較多,存在渾水摸魚的情況。對此,教師在組織課程設(shè)計(jì)實(shí)施過程中引入WWH模型,從學(xué)習(xí)動(dòng)機(jī)、知識儲備、實(shí)際操作三個(gè)方面對學(xué)生課程設(shè)計(jì)實(shí)施過程進(jìn)行干預(yù)。
2 課程設(shè)計(jì)過程控制
在JAVA程序設(shè)計(jì)基礎(chǔ)課程設(shè)計(jì)實(shí)施過程中,教師采用WWH模型來完成課程設(shè)計(jì)的組織和實(shí)現(xiàn)。WWH具體是指Why、What和How。其中,Why解決的是在態(tài)度層面上學(xué)生的學(xué)習(xí)動(dòng)機(jī)問題,也就是為什么要來學(xué)習(xí)本門課程;What解決的是在知識層面上學(xué)員的知識儲備不足問題,也就是學(xué)生需要掌握哪些專業(yè)的知識才能支撐具體的編碼實(shí)現(xiàn);How解決的是在技能層面上,學(xué)生的實(shí)際操作技能問題,也就是如何解決課程設(shè)計(jì)實(shí)現(xiàn)中的疑難困惑。
Why(為什么學(xué)) Why是學(xué)生對待課程設(shè)計(jì)態(tài)度層面的問題。進(jìn)行課程設(shè)計(jì)的意義需要借助相應(yīng)的素材,從專業(yè)層面、課程層面、就業(yè)層面進(jìn)行分析。使用最常用的方法案例,選用一個(gè)正面案例及一個(gè)負(fù)面案例。正面案例講授的是用心完成課程設(shè)計(jì),將獲得什么收益,包括對前期知識系統(tǒng)性復(fù)習(xí),代碼調(diào)試能力提升,代碼量增加,取得很好的成績;反面案例講授的是如果不學(xué)可能導(dǎo)致的嚴(yán)重后果,比如掛科、重修等。
What(學(xué)什么) 學(xué)什么是知識層面的問題。學(xué)習(xí)的知識一般包括定義、概念、標(biāo)準(zhǔn)、要求、原則、區(qū)別、特點(diǎn)、基本組成要素等。課程設(shè)計(jì)時(shí)需要分析學(xué)生在掌握相關(guān)技術(shù)時(shí)還缺乏哪些知識,哪些技能掌握比較匱乏。比如:“軟件工程”中軟件開發(fā)的系統(tǒng)化流程,結(jié)構(gòu)圖、流程圖的繪制,在代碼結(jié)構(gòu)以及代碼調(diào)試方面能力較差[3]。由教師提供相關(guān)的書籍、材料進(jìn)行補(bǔ)充。
How(如何做) “如何做”是學(xué)生完成課程設(shè)計(jì)的基本技能?!叭绾巫觥币话闶侵刚n程設(shè)計(jì)實(shí)現(xiàn)過程中需要學(xué)生重點(diǎn)實(shí)現(xiàn)的內(nèi)容,包括課程設(shè)計(jì)報(bào)告、軟件,如軟件開發(fā)中各個(gè)模塊分配的時(shí)間比例如何?哪個(gè)模塊分配的時(shí)間最多、人力最大?“如何做”包括了軟件開發(fā)的流程以及軟件開發(fā)中的技術(shù)。在這個(gè)過程中需要教師能夠進(jìn)行指導(dǎo),協(xié)助學(xué)生分析各個(gè)模塊重難點(diǎn),進(jìn)而確定分工。
3 課程設(shè)計(jì)目標(biāo)考核
在課程設(shè)計(jì)環(huán)節(jié)執(zhí)行過程中,除了加強(qiáng)過程控制外,對結(jié)果目標(biāo)的考核是非常重要的一個(gè)方面,學(xué)生的態(tài)度問題究其原因,其中一個(gè)方面是在教學(xué)評價(jià)過程中課程設(shè)計(jì)環(huán)節(jié)評價(jià)指標(biāo)不明確,教師對學(xué)生課程設(shè)計(jì)評價(jià)結(jié)果與實(shí)際有偏差,造成學(xué)生渾水摸魚的現(xiàn)象存在。所以軟件開發(fā)的工作量和質(zhì)量如何衡量、如何評價(jià),是課程設(shè)計(jì)評價(jià)環(huán)節(jié)的一個(gè)重點(diǎn)內(nèi)容。河南中醫(yī)藥大學(xué)JAVA程序設(shè)計(jì)基礎(chǔ)課程教學(xué)中引入PSP(Personal Software Process)模式進(jìn)行評價(jià)。PSP認(rèn)為在軟件評估過程中有下列四個(gè)因素需要考慮。endprint
1)任務(wù)有多大?用代碼行數(shù)(不包括空行/注釋行/單字符行)來表示,或使用功能點(diǎn)來表示。在實(shí)施過程中采用兩種方式相結(jié)合的形式,首先確定功能點(diǎn)的個(gè)數(shù),按照功能點(diǎn)逐個(gè)確定代碼行數(shù)。
2)花了多少時(shí)間?一組人所花費(fèi)的時(shí)間可以用人數(shù)*時(shí)間來表示,但是由于學(xué)生的基本功有差距,此標(biāo)準(zhǔn)對學(xué)生課程設(shè)計(jì)的工作量計(jì)算并不適用。
3)質(zhì)量如何?交付的代碼中有多少缺陷?在課程設(shè)計(jì)中將交付定義為在“代碼完成”的時(shí)候,交付給負(fù)責(zé)測試的學(xué)生,并完成測試用例表。使用缺陷的數(shù)量來除以項(xiàng)目的大小,也就是缺陷的數(shù)量除以總的代碼量,衡量評價(jià)一個(gè)軟件的質(zhì)量。
4)是否按時(shí)交付?這個(gè)指標(biāo)對學(xué)生不適用,學(xué)生完成課程設(shè)計(jì)的時(shí)間有明確的要求,不能延期交付。
綜合以上幾點(diǎn),在課程設(shè)計(jì)目標(biāo)評估中,結(jié)合PSP模式并對其進(jìn)行課程設(shè)計(jì)評估的相關(guān)修改,通過功能點(diǎn)數(shù)、代碼行數(shù)以及缺陷數(shù)來評估課程設(shè)計(jì)中軟件的質(zhì)量。
4 結(jié)果調(diào)研
按照WWH模型組織實(shí)施課程設(shè)計(jì)進(jìn)行過程控制和引入PSP模型進(jìn)行課程設(shè)計(jì)目標(biāo)考核,在現(xiàn)有課程JAVA程序設(shè)計(jì)基礎(chǔ)上實(shí)施,并對結(jié)果進(jìn)行調(diào)查研究,樣本如下:
調(diào)查對象為2015級信息管理與信息系統(tǒng)專業(yè)學(xué)生;人數(shù)91人;考核方式為考查。采用分組完成課程設(shè)計(jì),至多五人一組,共計(jì)19組。代碼量分布圖如圖1所示。成績分布:5%不及格,5%及格,30%中等,40%良好,20%優(yōu)秀。
數(shù)據(jù)顯示,學(xué)生在課程設(shè)計(jì)的代碼量均在1000行左右,最少的在600行。從代碼量來看,學(xué)生在課程設(shè)計(jì)中代碼量在各個(gè)小組之間差距不大,這有助于小組之間競爭,并進(jìn)而促進(jìn)軟件功能點(diǎn)的增多。在軟件開發(fā)中引入PSP評價(jià)代碼質(zhì)量,使用測試用例方式統(tǒng)計(jì)軟件完成情況、性能、穩(wěn)定程度,進(jìn)一步提高了代碼的質(zhì)量,并讓學(xué)生在課程設(shè)計(jì)中了解了軟件開發(fā)的流程,課程設(shè)計(jì)報(bào)告的完整度和質(zhì)量有所提升。
5 結(jié)語
課程設(shè)計(jì)是程序類課程不可或缺的一個(gè)環(huán)節(jié),對課程設(shè)計(jì)量和質(zhì)的控制是非常重要的。使用合理評價(jià)體系對課程設(shè)計(jì)的工作量和軟件質(zhì)量進(jìn)行評價(jià),是從結(jié)果逆向來促使學(xué)生提升課程設(shè)計(jì)質(zhì)量的一種方式,加強(qiáng)目標(biāo)管理也是實(shí)踐性課程教學(xué)目標(biāo)實(shí)現(xiàn)的一種重要途徑。加強(qiáng)過程管理以及目標(biāo)評價(jià),是提升課程設(shè)計(jì)質(zhì)量的重要保障。
參考文獻(xiàn)
[1]吳軍其,劉玉梅.學(xué)習(xí)設(shè)計(jì):一種新型的教學(xué)設(shè)計(jì)理念[J].電化教育研究,2009(12):80-83.
[2]章杰,陳笑蓉,皮建勇.項(xiàng)目實(shí)踐為導(dǎo)向的教學(xué)方法在軟件開發(fā)課程中的應(yīng)用[J].計(jì)算機(jī)教育,2010(5):91-94.
[3]李茂民.《JAVA語言程序設(shè)計(jì)》課程教學(xué)改革實(shí)踐探討[J].軟件工程師,2015(5):48.endprint