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