壽周翔 胡則輝
摘? 要: 為加強(qiáng)學(xué)生Java應(yīng)用能力的培養(yǎng),分析了Java程序設(shè)計課程的教學(xué)現(xiàn)狀,結(jié)合課程的特點(diǎn),提出以校企共建課程為依托的“項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動、工學(xué)結(jié)合”分步迭代教學(xué)法,并從教學(xué)設(shè)計、課堂教學(xué)組織實(shí)施、教學(xué)效果評價三方面進(jìn)行了論述。教學(xué)實(shí)踐表明,分步迭代教學(xué)法的引入有效地促進(jìn)了學(xué)生項(xiàng)目開發(fā)能力的培養(yǎng),提高了該課程的教學(xué)水平與教學(xué)質(zhì)量。
關(guān)鍵詞: 分步迭代; Java程序設(shè)計; 校企共建; 教學(xué)設(shè)計
Abstract: In order to strengthen the cultivation of students' Java application ability, this paper analyzes the current teaching situation of Java programming course, and combining the characteristics of the course, puts forward the step-by-step iterative teaching method of "project leading, task driving, combination of work and learning" based on the course jointly built by school and enterprise. And the teaching design, classroom teaching organization and implementation, and teaching effect evaluation are discussed as well. Teaching practice shows that the introduction of step-by-step iterative teaching method effectively promotes the cultivation of students' project development ability, and improves the teaching level and teaching quality of the course.
Key words: step by step iteration; Java programming; school enterprise co construction; teaching design
0 引言
目前Java程序設(shè)計課程的教學(xué),一般是基于課程知識結(jié)構(gòu)體系,教師遵循其內(nèi)蘊(yùn)的邏輯,依次講授該課程知識點(diǎn),雖然大多數(shù)知識點(diǎn)輔以相應(yīng)的例子講解,但從學(xué)生的角度來看,由于這些例子與具體的工程應(yīng)用脫鉤,缺乏整體性和實(shí)戰(zhàn)性。這種教學(xué)方式主要存在的問題[1]有以下幾方面。
⑴ 教師單方面的知識輸出,學(xué)生只是被動地接受。教師與學(xué)生之間缺少一種媒介來推動雙向交流,難以激發(fā)學(xué)生的學(xué)習(xí)興趣,導(dǎo)致學(xué)生積極性、主動性不足,一旦學(xué)生在學(xué)習(xí)過程中受挫,就容易產(chǎn)生畏難情緒,造成厭學(xué),甚至棄學(xué)。
⑵ 學(xué)生在學(xué)習(xí)過程中,看不到當(dāng)前所學(xué)知識的用處,在學(xué)習(xí)中分不清重點(diǎn),往往“胡子眉毛一把抓”,過分拘泥于一些語法細(xì)節(jié),甚至“撿了芝麻,丟了西瓜”。學(xué)生學(xué)得很累,但最后整個課程教學(xué)效果很不理想。
⑶ 學(xué)生學(xué)完該課程后,由于缺少實(shí)際項(xiàng)目訓(xùn)練這一過程,對整體知識結(jié)構(gòu)難以把握,所學(xué)知識是零碎的、孤立的,缺乏對一門課程的整體把握能力,難以在實(shí)際項(xiàng)目開發(fā)中靈活應(yīng)用。
⑷ 采用知識結(jié)構(gòu)驅(qū)動的教學(xué)法,嚴(yán)格按照教科書的編排順序組織教學(xué),雖然注重了教學(xué)的系統(tǒng)性和完整性,但培養(yǎng)出來的學(xué)生在理論深度上會顯不足,同時在實(shí)踐動手能力上無法達(dá)到企業(yè)的崗位要求,造成應(yīng)屆畢業(yè)生就業(yè)困難。
基于上述情況分析,為了實(shí)現(xiàn)Java程序設(shè)計課程教學(xué)目標(biāo),培養(yǎng)學(xué)生軟件工程師職業(yè)崗位的能力,我們提出基于校企共建課程,“項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動、工學(xué)結(jié)合”的分步迭代教學(xué)法,目的是要尋求解決上述問題的方法和途徑,以期根本性地提升Java程序設(shè)計課程的教學(xué)質(zhì)量,增強(qiáng)學(xué)生運(yùn)用Java編程語言進(jìn)行實(shí)際工程項(xiàng)目的開發(fā)能力。
1 分步迭代教學(xué)法的基本思想
迭代法是用計算機(jī)解決問題的一種基本方法,其基本思想是用前一次的結(jié)果作為下一次迭代的初始值,遞推出新的結(jié)果,不斷重復(fù)這一過程,從而逼近正確的結(jié)果。迭代法所內(nèi)蘊(yùn)的反饋性、修正性、進(jìn)步性正好符合教學(xué)過程的特點(diǎn)。我們提出的分步迭代教學(xué)法是指基于校企共建課程,通過“項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動、工學(xué)結(jié)合”的方式來開展課程教學(xué)。每一個階段都是對學(xué)生編程開發(fā)能力的不斷迭代,最終實(shí)現(xiàn)培養(yǎng)學(xué)生具有較強(qiáng)工程項(xiàng)目開發(fā)能力的目標(biāo)。其中項(xiàng)目引領(lǐng)是指教師以一個完整的項(xiàng)目為載體,對遴選的教學(xué)內(nèi)容進(jìn)行整合、序化,通過示范來引導(dǎo)學(xué)生掌握基礎(chǔ)知識,構(gòu)筑起課程知識的支架,然后運(yùn)用知識遷移、協(xié)作討論等方式完成對知識在感覺層上的意義構(gòu)建。任務(wù)驅(qū)動是以項(xiàng)目任務(wù)為導(dǎo)向,以知識點(diǎn)為紐帶,將教學(xué)內(nèi)容設(shè)計成一個或多個具體的、可操作性強(qiáng)的任務(wù),并將任務(wù)劃分成多個子模塊,構(gòu)建模塊化課程結(jié)構(gòu)。學(xué)生緊密圍繞任務(wù)活動,在教師的指導(dǎo)下,通過自主學(xué)習(xí)、合作探究,實(shí)現(xiàn)知識在感知層上的構(gòu)建。工學(xué)結(jié)合是以IT職業(yè)崗位活動為導(dǎo)向,學(xué)生參與到實(shí)際工程項(xiàng)目開發(fā)中去,教、學(xué)、做有機(jī)結(jié)合,從而實(shí)現(xiàn)知識在感悟?qū)由系臉?gòu)建[2]。
在分步迭代教學(xué)法中,項(xiàng)目、任務(wù)的設(shè)計在整個教學(xué)實(shí)施中起到非常關(guān)鍵的作用。所選擇的項(xiàng)目案例作為課程知識的載體應(yīng)具有一定的典型示范作用,既要覆蓋Java程序設(shè)計課程主要的教學(xué)內(nèi)容,又要讓學(xué)生對項(xiàng)目的需求容易理解和接受,并具備良好的擴(kuò)展性,方便學(xué)生以此項(xiàng)目為支架,為后續(xù)工程項(xiàng)目開發(fā)作為參照。所以需要通過校企共建課程,邀請IT企業(yè)資深工程師、項(xiàng)目經(jīng)理和高校教師合作,對企業(yè)的實(shí)際項(xiàng)目進(jìn)行精心提練、適度分割、與教學(xué)知識點(diǎn)有機(jī)結(jié)合,真正起到讓學(xué)生通過項(xiàng)目開發(fā)對課程知識“感覺、感知、感悟”。
2 教學(xué)設(shè)計
按照軟件工程的思想以企業(yè)軟件開發(fā)項(xiàng)目為載體貫穿整個課程教學(xué),以企業(yè)項(xiàng)目的實(shí)現(xiàn)為目標(biāo),以項(xiàng)目的開發(fā)過程為脈絡(luò)安排教學(xué)步驟,通過項(xiàng)目引領(lǐng)→任務(wù)驅(qū)動→工學(xué)結(jié)合的分步迭代訓(xùn)練方式來組織教學(xué)過程。設(shè)置可遷移、可替代、可操作的學(xué)習(xí)情境,訓(xùn)練學(xué)生的項(xiàng)目開發(fā)能力,提高學(xué)生溝通能力和團(tuán)隊(duì)協(xié)作精神。
2.1 校企共建課程
通過與本專業(yè)有長期合作關(guān)系的IT企業(yè)資深項(xiàng)目經(jīng)理、軟件工程師合作,首先確定計算機(jī)科學(xué)與技術(shù)專業(yè)面向的職業(yè)崗位群,梳理出各崗位對應(yīng)要求完成的工作任務(wù)以及應(yīng)具備的專項(xiàng)能力。在此基礎(chǔ)上,通過分解專項(xiàng)能力確定教學(xué)目標(biāo),組織教學(xué)內(nèi)容,結(jié)合分步迭代教學(xué)法,提高教學(xué)內(nèi)容的應(yīng)用性、以及與職業(yè)崗位能力培養(yǎng)的匹配性。
⑴ 分解專項(xiàng)能力
根據(jù)對IT職業(yè)崗位群進(jìn)行分析,分解出軟件開發(fā)的專項(xiàng)能力以及應(yīng)達(dá)到的標(biāo)準(zhǔn),描述出每一專項(xiàng)能力所要求知識結(jié)構(gòu)和素質(zhì)結(jié)構(gòu),以及相應(yīng)的支撐課程。
⑵ 確定教學(xué)內(nèi)容
課程團(tuán)隊(duì)成員通過集體備課形式,討論將專項(xiàng)職業(yè)能力標(biāo)準(zhǔn)轉(zhuǎn)化為教學(xué)目標(biāo),并根據(jù)專項(xiàng)能力所要求的知識結(jié)構(gòu)劃分教學(xué)模塊。依照專項(xiàng)能力目標(biāo)要求,將課程知識進(jìn)行重構(gòu)、組合、序化,并結(jié)合工程項(xiàng)目來設(shè)計課程子模塊,確定各個子模塊的階段性目標(biāo)、教案設(shè)計、教學(xué)組織等。通過IT企業(yè)資深工程師、項(xiàng)目經(jīng)理和高校教師合作,對企業(yè)的實(shí)際項(xiàng)目進(jìn)行精心提練、適度分割,每個模塊對應(yīng)的知識點(diǎn)再分解成若干個教學(xué)單元,將書本上孤立知識點(diǎn)通過項(xiàng)目進(jìn)行串聯(lián),使教學(xué)目標(biāo)和內(nèi)容融入到實(shí)際項(xiàng)目的開發(fā)和實(shí)踐中,與教學(xué)知識點(diǎn)有機(jī)結(jié)合,真正起到讓學(xué)生對項(xiàng)目開發(fā)“感覺、感知、感悟”。我們選用了“教師業(yè)績管理系統(tǒng)”項(xiàng)目作為課內(nèi)教學(xué)案例,設(shè)計了“8個教學(xué)模塊和1個綜合模塊”,每一個教學(xué)模塊圍繞一個主題,將項(xiàng)目分解成若干模塊作為教學(xué)內(nèi)容的案例,覆蓋了教學(xué)大綱所有的內(nèi)容,見表1。
2.2 課堂教學(xué)組織實(shí)施
在“項(xiàng)目引領(lǐng)、任務(wù)驅(qū)動、工學(xué)結(jié)合”三位一體教學(xué)模式中,學(xué)生是主體,教師是學(xué)習(xí)過程的指導(dǎo)者和組織者,教師根據(jù)IT崗位工作任務(wù)提供相應(yīng)的學(xué)習(xí)資源,編制模塊化課程的學(xué)習(xí)指南;按照“教、學(xué)、做”一體化原則,強(qiáng)化學(xué)生能力訓(xùn)練,采取項(xiàng)目引領(lǐng)→任務(wù)驅(qū)動→工學(xué)結(jié)合分步迭代訓(xùn)練方式來組織教學(xué)過程。
⑴ 在項(xiàng)目引領(lǐng)階段,教師通過項(xiàng)目案例進(jìn)行教學(xué)示范與演示,講解相應(yīng)的知識點(diǎn),幫助學(xué)生建立起知識支架以及基本的項(xiàng)目開發(fā)能力,通過這個階段的學(xué)習(xí),教師幫學(xué)生“扶上馬”,使學(xué)生初步對課程知識和項(xiàng)目開發(fā)過程有了一定的感覺;
⑵ 在任務(wù)驅(qū)動階段,教師通過為學(xué)生分析項(xiàng)目案例功能需求及關(guān)鍵問題,指出所需要用到的知識點(diǎn)。在項(xiàng)目任務(wù)開發(fā)實(shí)踐教學(xué)環(huán)節(jié),考慮到學(xué)生個體之間存在的差異性,將不同層次的學(xué)生組成到同一個項(xiàng)目小組,采用協(xié)作學(xué)習(xí)的方式來進(jìn)行組織教學(xué)實(shí)施。每組設(shè)一名組長,各組在項(xiàng)目組長的協(xié)調(diào)下共同去完成案例任務(wù),針對任務(wù)開展研究討論、分工協(xié)作,提高團(tuán)隊(duì)合作能力。在學(xué)生開發(fā)實(shí)踐過程中,教師要特別注意發(fā)揮協(xié)助和引導(dǎo)作用,為學(xué)生再“送一程”。通過這個階段的迭代,學(xué)生對課程知識進(jìn)一步理解和鞏固,解決實(shí)際問題的能力進(jìn)一步提升,對課程知識及項(xiàng)目開發(fā)達(dá)到了感知的程度。
⑶ 在工學(xué)結(jié)合階段,學(xué)生參與到合作企業(yè)的實(shí)際工程項(xiàng)目開發(fā)中去,與企業(yè)員工一同完成系統(tǒng)總體結(jié)構(gòu)和邏輯設(shè)計、代碼編寫、系統(tǒng)測試以及文檔整理等工作。對于開發(fā)過程中需要用到的知識,學(xué)生通過自主學(xué)習(xí)和知識遷移,實(shí)現(xiàn)對課程知識理解的升華與靈活運(yùn)用[3]。教師在這一環(huán)節(jié),主要起到監(jiān)督指導(dǎo)作用,給學(xué)生“壓擔(dān)子”,并會同企業(yè)對學(xué)生進(jìn)行學(xué)習(xí)效果的評價。通過這個階段的迭代,學(xué)生對知識與工程項(xiàng)目開發(fā)的理解真正達(dá)到了感悟意義上的構(gòu)建。
3 教學(xué)效果評價
本課程在考核過程中采用基于過程、以成效為導(dǎo)向的教學(xué)質(zhì)量評價方法[4],即將傳統(tǒng)的考試機(jī)制與成效評價有機(jī)結(jié)合,綜合評定教學(xué)效果。學(xué)生成績由理論筆試成績和成效評價成績二部分組成,理論筆試檢測學(xué)生對課程基礎(chǔ)概念、理論知識的掌握情況,成績占整個評價結(jié)果的45%;而成效評價則貫穿整個學(xué)習(xí)過程,重點(diǎn)考核的是學(xué)生的學(xué)習(xí)態(tài)度、團(tuán)隊(duì)協(xié)作精神、項(xiàng)目開發(fā)能力以及創(chuàng)新能力,其成績占整個評價結(jié)果的55%。由于成效評價需要結(jié)合項(xiàng)目任務(wù)開發(fā)的實(shí)踐過程,所以把成效評價分為過程評價和成果評價兩個方面[5]。
過程評價是根據(jù)學(xué)生在項(xiàng)目開發(fā)過程中的表現(xiàn)情況,包括到課率、回答問題、參與討論發(fā)言等,評定結(jié)果反映的是該學(xué)生平時的學(xué)習(xí)態(tài)度,可占總成績的15%。
成果評價則是在項(xiàng)目完成后根據(jù)學(xué)生完成項(xiàng)目的作品、報告等多個方面來評價學(xué)生在項(xiàng)目實(shí)踐過程中的開發(fā)能力、學(xué)習(xí)能力、創(chuàng)新能力、組織協(xié)作能力等綜合能力。由于成果評價相對主觀性比較強(qiáng),為了更加客觀公正地進(jìn)行成果評價,應(yīng)引入第三方合作企業(yè)參與到這一環(huán)節(jié)。這部分評價的是學(xué)生應(yīng)用知識的能力,重點(diǎn)考察的是學(xué)生的綜合素質(zhì),可占總成績的30%。這兩部分成績的合計基本反映出了學(xué)生對這門課程的綜合運(yùn)用情況。
4 結(jié)束語
我們在Java程序設(shè)計課程教學(xué)中引入分步迭代教學(xué)法,經(jīng)過三輪的教學(xué)實(shí)踐,學(xué)生的學(xué)習(xí)目標(biāo)更明確,學(xué)習(xí)主動性增強(qiáng),對于課程知識的系統(tǒng)性應(yīng)用能力以及項(xiàng)目開發(fā)能力均有了大幅度的提升,教師的主導(dǎo)作用和學(xué)生主體地位都得以體現(xiàn)。實(shí)踐證明,在程序設(shè)計類課程中應(yīng)用分步迭代教學(xué)法是可行的。但在分步迭代教學(xué)法組織和實(shí)施過程中,對教師的教學(xué)技能也是一個大的挑戰(zhàn),需要運(yùn)用新的教學(xué)策略幫助學(xué)生完成知識構(gòu)建,教師需要投入更多的精力和時間來準(zhǔn)備課前課中的教學(xué)設(shè)計。另外,分步迭代教學(xué)法實(shí)施過程中也要求學(xué)生有較高的自我約束能力及溝通表達(dá)能力,這些問題需要在今后的教學(xué)中不斷反思與改進(jìn)[6]。
參考文獻(xiàn)(References):
[1] 周運(yùn).Java EE框架課程教學(xué)方法改革與實(shí)踐[J].高師理科學(xué)刊,2012.2(32)99-102
[2] 鐘原,劉忠慧.基于CDIO以面向?qū)ο蟪绦蛟O(shè)計思維為導(dǎo)向的教學(xué)研究與實(shí)踐[J].軟件工程,2019.22(11):45-47
[3] 謝凱,李靚,馮文祥.項(xiàng)目驅(qū)動模式下的面向?qū)ο蟪绦蛟O(shè)計教學(xué)改革研究[J].電腦知識與技術(shù),2019.15(15):208-209
[4] 黃鈺,王建勇.JAVA語言程序設(shè)計的新三段式教學(xué)[J].計算機(jī)教育,2011.7(14)55-58
[5] 譚火彬,林廣艷.培養(yǎng)軟件工程思想的面向?qū)ο蟪绦蛟O(shè)計課程改革與實(shí)踐[J].計算機(jī)教育,2018.8:53-58
[6] 壽周翔,王李冬,李文娟,胡克用.翻轉(zhuǎn)課堂教學(xué)模式在Java程序設(shè)計課中的應(yīng)用研究[J].計算機(jī)時代,2016.10(292):83-86