柴群 唐型基 梁劍波
摘要:根據(jù)現(xiàn)有的教學(xué)特點,在《Java程序設(shè)計》課程中引入基于項目驅(qū)動的課程教學(xué)改革,以LSN在線教學(xué)平臺作為支撐,打破原有的“課堂講授為主,實驗輔助為輔”教學(xué)模式,以項目形式組織教學(xué)內(nèi)容,從而解決理論和實際脫離的問題。訓(xùn)練學(xué)生的編程能力、分析能力、解決問題的能力和團隊、協(xié)作、創(chuàng)新、探索的精神。
關(guān)鍵詞:Java程序設(shè)計;項目驅(qū)動;教學(xué)改革;教學(xué)設(shè)計
中圖分類號:G642? ?文獻標(biāo)識碼: A
文章編號:1009-3044(2022)07-0124-02
1 教學(xué)現(xiàn)狀
《Java程序設(shè)計》是為了教授Java語言而開設(shè)的計算機類專業(yè)的核心課程,通過本課程的學(xué)習(xí),逐步引導(dǎo)學(xué)生掌握Java編程語言基礎(chǔ)理論知識、開發(fā)面向?qū)ο蟪绦虻幕驹O(shè)計過程和開發(fā)技能,重點培養(yǎng)學(xué)生編程自學(xué)能力。
目前《Java程序設(shè)計》仍然采用傳統(tǒng)的教學(xué)方式,即理論課和實驗課分離,理論和實驗各2個學(xué)時/周,實行理論和實踐相分離的教學(xué)模式,偏重理論知識而輕實際應(yīng)用能力的培養(yǎng),學(xué)習(xí)內(nèi)容與實際應(yīng)用需求有點脫節(jié)。學(xué)期結(jié)束后,學(xué)生掌握了理論知識,卻難以應(yīng)用于實踐。最終的學(xué)習(xí)的結(jié)果變成了以考試為目的,以及格為結(jié)果,因此很有必要對現(xiàn)有的教學(xué)模式進行改革,以適應(yīng)時代發(fā)展的需要。
2 項目驅(qū)動教學(xué)法[1]
為解決教與學(xué)相分離的問題,國內(nèi)外學(xué)者以建構(gòu)主義教與學(xué)的理論為基礎(chǔ),提出項目驅(qū)動教學(xué)法,即利用“項目學(xué)習(xí)”教學(xué)法與“任務(wù)驅(qū)動”學(xué)習(xí)法,輔以一定的教學(xué)軟件進行教與學(xué)的研究。
“項目學(xué)習(xí)”教學(xué)法是實施探究式教學(xué)模式的一種教學(xué)方法,是一種建立在建構(gòu)主義教學(xué)理論基礎(chǔ)上的新方法,建構(gòu)主義學(xué)習(xí)理論認為,知識不是通過教師傳授得到的,而是學(xué)習(xí)者在一定的情境下,借助他人的幫助,利用必要的學(xué)習(xí)資料,通過意義建構(gòu)方式獲得的。“項目學(xué)習(xí)”教學(xué)模式是學(xué)生在教師的指導(dǎo)下,通過合作學(xué)習(xí),共同實現(xiàn)一個完整的綜合項目而進行的教學(xué)活動。
對于學(xué)生來說,學(xué)生看到的是教師發(fā)布的一個個學(xué)習(xí)任務(wù),學(xué)生通過“任務(wù)驅(qū)動”的模式學(xué)習(xí)知識,掌握相關(guān)技能。學(xué)生在具有明確的“任務(wù)”下,自發(fā)地知識學(xué)習(xí),完成各項學(xué)習(xí)任務(wù)。在學(xué)習(xí)過程中,教師也必須轉(zhuǎn)換角色,由“主導(dǎo)者”轉(zhuǎn)變?yōu)椤拜o導(dǎo)者”,輔助學(xué)生學(xué)習(xí)[2]。
3 研究內(nèi)容
根據(jù)學(xué)院的現(xiàn)狀,在校企合作的教學(xué)平臺——曙光Sugon_edu? LSN課程管理系統(tǒng)下開展研究:
采用“項目驅(qū)動與案例引導(dǎo)教學(xué)+校企合作實踐教學(xué)”教學(xué)模式,該模式主要過程是將《Java程序設(shè)計》課程按類別分為若干個單元,每個單元作為一個教學(xué)項目,實行理論、實驗一體式的教學(xué),每個單元教學(xué)都以一個作業(yè)來結(jié)束,考核合格后,可以進行下一個項目的教學(xué)。
選定的實驗項目放置于LSN課程管理系統(tǒng)上,任課教師利用LSN課程管理系統(tǒng)批改學(xué)生提交的作業(yè),與學(xué)生交流,答疑,指導(dǎo)學(xué)生學(xué)習(xí)并且記錄學(xué)生學(xué)習(xí)過程,為以后利用大數(shù)據(jù)對學(xué)生學(xué)習(xí)行為進行分析打下基礎(chǔ)。學(xué)生利用LSN課程管理系統(tǒng)中提供的案例作為引導(dǎo),完成教師發(fā)布的任務(wù),查詢相關(guān)的資料,完成教師布置的任務(wù),分組或單人進行探究式學(xué)習(xí)。
在課程后,利用教學(xué)實踐周2周的時間,與校企合作單位進行合作,由合作企業(yè)從企業(yè)項目中選擇部分模塊,由學(xué)生開發(fā),企業(yè)工程師作為指導(dǎo),在規(guī)定的時間內(nèi)完成項目,訓(xùn)練學(xué)生的編程能力、根據(jù)場景解決實際問題的能力和團隊、協(xié)作能力。
4 課程設(shè)計
根據(jù)《Java程序設(shè)計》教學(xué)改革的內(nèi)容,可以分為3個模塊:教學(xué)大綱修訂,課程教學(xué)整合,引入校企合作實踐教學(xué)。
4.1 教學(xué)大綱修訂[2]
現(xiàn)有的教學(xué)方式是理論和實驗、實踐相分離模式,考核也是理論、實驗、實踐分開考核,現(xiàn)有的教學(xué)大綱也是在這種模式下制定的,不能滿足教學(xué)要求。在進行課程改革前,修訂現(xiàn)有的教學(xué)大綱,將理論、實驗、實踐教學(xué)評價模式融合,確定各部分的比例;根據(jù)Java程序設(shè)計課程的特點,對知識點進行劃分,形成模塊化,指定選修和必修模塊,指導(dǎo)教學(xué)。修訂好的教學(xué)大綱還應(yīng)根據(jù)研究中出現(xiàn)的問題進行動態(tài)修改,研究結(jié)束后定稿。
4.2 課程教學(xué)整合
(1) 項目設(shè)計的原則與教學(xué)時間安排
項目是項目驅(qū)動式教學(xué)中的核心部分,其設(shè)置和選取應(yīng)遵循趣味性和可行性的原則,即采用的項目既能夠滿足學(xué)生的知識水平,又能激發(fā)學(xué)生對Java的興趣,還能提高學(xué)生的Java程序設(shè)計能力??尚行砸髮椖康囊?guī)模需要控制,不能過于復(fù)雜或者耗時過長;趣味性則可與實際生活相結(jié)合或開發(fā)游戲設(shè)置相關(guān)的問題。
在教學(xué)內(nèi)容的安排上,不分理論教學(xué)、實踐教學(xué),將課時統(tǒng)籌安排,根據(jù)任務(wù)需要,分割成一個一個時間單元,用于配合項目驅(qū)動教學(xué)。
(2) 項目實施過程[4]
項目的實施過程可以分為三步,如圖1:項目設(shè)計、任務(wù)選擇、算法設(shè)計與編碼,均在LSN平臺上完成。
(3) 項目的設(shè)計階段[3]
在設(shè)計項目時,根據(jù)《Java程序設(shè)計》課程的知識體系分為基礎(chǔ)項目、進階項目、提高項目、應(yīng)用項目,涉及的知識點如圖2:
基礎(chǔ)項目涉及的知識點有Java開發(fā)環(huán)境配置、Java語法基礎(chǔ)知識點,涉及的項目有:配置JDK(涉及的知識點:Java Development Kit,Java開發(fā)環(huán)境包),輸出全部的希臘字母(知識點:基本數(shù)據(jù)類型,輸出語法,數(shù)組等),計算二元一次方程的根(知識點:表達式、運算符的使用,輸入輸出語法、選擇結(jié)構(gòu)等),求100以內(nèi)的素數(shù)(知識點:輸入輸出語法,選擇結(jié)構(gòu),循環(huán)結(jié)構(gòu),break和continue語句等)等內(nèi)容。學(xué)生在學(xué)習(xí)C語言時已經(jīng)解決過,把C語言的編程方法遷移到Java語言中,起到一個過渡作用。
進階項目的知識點圍繞類、子類、接口展開。主要涉及類、子類、接口的創(chuàng)建,方法的重載與重新,子類與接口的引用,UML的使用,繼承與多態(tài),面向抽象與面向接口的編程等,這些屬于Java的核心知識,理論學(xué)習(xí)有點枯燥。圍繞這些知識點,教師可以分別設(shè)計一些趣味項目,如機動車的設(shè)計(知識點:類與對象),計算銀行利息(知識點:子類與繼承),計算多邊形面積(知識點:類與對象,類的繼承、方法的重寫,子類的繼承,面向抽象的編程思想),電池充電(知識點:面向接口的編程思想)等。學(xué)生根據(jù)教師發(fā)布的項目進行編程,學(xué)習(xí)Java的核心知識,為將來的進一步提高學(xué)習(xí)打下基礎(chǔ)。
提高階段的知識點是在完成進階項目知識的基礎(chǔ)上,要求學(xué)生學(xué)會處理Java異常、使用常用類,組件與事件處理,IO流、集合與泛型、多線程、網(wǎng)絡(luò)編程等知識點,還要求學(xué)生能夠閱讀JDK中英文幫助文檔,根據(jù)需要在專業(yè)學(xué)習(xí)網(wǎng)站查找資料。學(xué)完這些知識,學(xué)生能根據(jù)需求設(shè)計一些小的應(yīng)用程序,如飛機大戰(zhàn),五子棋,貪吃蛇,憤怒的小鳥、掃雷等游戲,綜合運用所學(xué)知識完成一個任務(wù),學(xué)生不僅能獲得成就感,還可以為進入企業(yè)打下實踐基礎(chǔ)。
應(yīng)用階段的項目留給學(xué)生在課程設(shè)計階段完成,根據(jù)學(xué)生的專業(yè)特點,選擇貼近專業(yè)實際的項目,培養(yǎng)學(xué)生的應(yīng)用能力和解決實際問題的能力。如對計算機科學(xué)與技術(shù)專業(yè)的學(xué)生,可以設(shè)計Java Web項目,如利用Java語言完成購物網(wǎng)站的設(shè)計,也可以設(shè)計Android應(yīng)用項目,如Android游戲開發(fā) ;對于數(shù)字媒體技術(shù)專業(yè)學(xué)生,可以安排圖像優(yōu)化,音視頻播放軟件設(shè)計等項目;對于物聯(lián)網(wǎng)工程專業(yè),可以利用Java語言進行嵌入式開發(fā)等。通過這些項目,可以讓學(xué)生根據(jù)自己的特長,愛好,選擇學(xué)習(xí)。
(4) 任務(wù)選擇
在選擇任務(wù)時,學(xué)生根據(jù)授課的進度和教師的安排,進行分組探究式學(xué)習(xí),學(xué)生必須在LSN教學(xué)平臺上完成必做項目,可以根據(jù)自身的特點,選擇完成選做項目。分組目的在于培養(yǎng)、訓(xùn)練學(xué)生的編程能力、根據(jù)場景解決實際問題的能力和團隊、協(xié)作能力。任務(wù)的選擇也是在LSN平臺上進行。
(5) 算法設(shè)計與編碼
在算法設(shè)計和代碼實現(xiàn)時,學(xué)生也必須在LSN教學(xué)平臺上進行算法分析、上傳設(shè)計思路,然后根據(jù)算法完成代碼、調(diào)試實現(xiàn)。使用教學(xué)平臺的目的在于記錄現(xiàn)代碼調(diào)試痕跡,教師可以根據(jù)痕跡監(jiān)控學(xué)習(xí)的情況,避免濫竽充數(shù)和渾水摸魚者出現(xiàn)。
4.3 引入校企合作實踐教學(xué)[5]
實踐教學(xué),是鞏固理論知識,加深理論認識的有效途徑。為有效地實現(xiàn)理論聯(lián)系實際,實踐教學(xué)與校企合作單位進行合作,利用教學(xué)實踐周2周的時間,由合作企業(yè)從企業(yè)項目中選擇部分模塊,由學(xué)生開發(fā),企業(yè)工程師作為指導(dǎo),在規(guī)定的時間內(nèi)完成項目。
5 結(jié)束語
總之,通過項目驅(qū)動與案例引導(dǎo)式教學(xué),不僅在教與學(xué)過程中引入項目驅(qū)動和案例引導(dǎo)教學(xué),還利用技術(shù)條件,記錄學(xué)生的學(xué)習(xí)過程,避免出現(xiàn)抄襲,濫竽充數(shù)現(xiàn)象的出現(xiàn),真正實現(xiàn)過程性考查。同時引入合作企業(yè)力量,根據(jù)專業(yè)的特點,選擇合適的課程設(shè)計內(nèi)容,提高學(xué)生的編程和創(chuàng)新能力。
參考文獻:
[1] 胡燕,孔凡哲,陳心浩.實驗項目驅(qū)動式教學(xué)促進四大關(guān)鍵能力的實證研究[J].實驗室研究與探索,2021,40(2):191-196,203.
[2] 劉超,肖宗梁,藺婷婷,等.項目驅(qū)動教學(xué)背景下應(yīng)用型人才培養(yǎng)模式改革研究[J].課程教育研究,2019(49):244.
[3] 金新娟,郭金旭.項目驅(qū)動式混合教學(xué)模式在軟件課群中的應(yīng)用研究[J].教育教學(xué)論壇,2019(15):264-265.
[4] 湯淼.軟件工程專業(yè)“項目驅(qū)動”實驗教學(xué)模式研究[J].實驗技術(shù)與管理,2012,29(4):267-268,271.
[5] 姜楠楠,孫璐榮,于曉婷.基于項目驅(qū)動的Java程序設(shè)計課程教學(xué)改革研究[J].科技風(fēng),2020(19):66.
【通聯(lián)編輯:梁書】
收稿日期:2021-09-15
基金項目:凱里學(xué)院教學(xué)內(nèi)容和課程體系改革項目(項目名稱:項目驅(qū)動與案例引導(dǎo)模式下《Java程序設(shè)計》課程教學(xué)改革的研究,項目編號:JG202022,項目負責(zé)人:柴群);凱里學(xué)院線上線下一流課程項目(項目名稱:線下一流課程-Java程序設(shè)計,項目編號:xx202009,項目負責(zé)人:唐型基)
作者簡介:柴群(1979—),男,江蘇徐州人,碩士研究生,副教授,主要研究方向為計算機應(yīng)用技術(shù);唐型基(1984—),男,貴州凱里人,本科,副教授,主要研究方向為算法設(shè)計與分析;梁劍波(1982—),男,貴州凱里人,碩士研究生,副教授,主要研究方向為人工智能。