柴群 唐型基 梁劍波


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