黃飛虎,肖逸飛,吉家成
(電子科技大學計算機科學與工程學院,成都611731)
Java 語言程序設計是一種面向對象的程序語言,具有廣泛的應用場景,例如大型企業級平臺,移動應用等[1-2]。在大數據時代,很多大數據平臺也都能支持Java語言,例如Hadoop、Spark 等[3]。在高校中,Java 程序語言不僅是計算機專業的主要課程,也是非計算機專業的熱門選修課程[4-5]。然而,從教學效果來看,面向跨專業學生的Java 語言課程并未達到預期的效果。
課程內容繁多。作為廣泛應用的編程語言,Java語言涵蓋的知識點很多。從抽象的面向對象,到可視化組件,再到多線程編程,以及數據庫和網絡編程,這些內容枯燥且抽象。此外,有些知識點還涉及相應的計算機專業課程,例如,多線程編程的理論基礎涉及計算機操作系統,網絡編程涉及計算機網絡的通信協議,數據編程也需要數據庫課程的支撐。這些內容增加了學習Java 語言編程的難度,一定程度上減少了非計算機專業學生的學習興趣和積極性。
學生基礎薄弱。選修跨專業Java 課程的學生有工科類專業(例如,電子科學與技術專業、通信專業、數學專業),也有文科類專業(例如,經濟管理專業、資源與環境專業)。很多學生只是簡單地學過C 語言或者VB語言,有些學生可能并沒有接觸過任何編程語言。學生的編程基礎較弱是面向跨專業學生開設Java 語言程序設計遇到的首要的問題[6]。
面對課程內容繁多,學生基礎薄弱的問題,任課教師則趨向于把大部分課時放在理論基礎的講解,實驗動手的時間嚴重不足。一味地進行理論講解,不僅讓課堂變得枯燥乏味,也減少了教師與學生的交流,不利于掌握理論知識和編程能力的培養[7]。
以結果為基礎的教育(Outcome-Based Education,OBE)是20 世紀90 年代在北美發展起來的教育模式。國內學者姜波在文獻[8]中針對OBE 教育模式提出了“兩個目標、三個假設和四個原則”,他認為如果不以這四項原則為中心的教育模式就不能被稱為是“以結果為基礎”的教育模式。這四個原則分別是:
(1)明確地聚焦于最終有意義的結果;
(2)為成功擴大機會并提供支援;
(3)對所有成功寄于較高的期待;
(4)從最終的結果反向設計。
OBE 教育模式得到了很多學者的青睞。針對成人教育學習群體在年齡、技能、學習能力等方面的特點,李小俞以OBE 為基礎提出了適用于成人教育的教學方案[9]。李柏林等人提出以OBE 教育模式進行設計心理學課程建設,用學習成果驅動代替以往的教學內容驅動,進一步提高教學質量[10]。在Java 課程方面,余燁等人提出了基于OBE 的教學模式,他們認為針對不同學生的學習目標,可以對Java 程序設計的內容進行模塊化設計。這樣可以適應不同學生的特點,讓每個學生達到自己的目標[7]。
基于OBE 的Java 跨專業課程建設主要包括課程內容改革、教學方法改革和評估方式改革。余燁等人提出的教學模式對于面向跨專業學生的Java 課程設計具有一定的啟發。然而,其主要是針對計算機專業或者具有相應編程基礎的工科學生。同時,在文章中作者只提出了課程內容的模塊劃分,并沒有給出實驗內容的設計。因此,對于面向跨專業學生的Java 課程建設仍需進一步地探索和研究。
選修跨專業Java 課程的學生具有不同的專業背景,在本文把學生分成三類:文科類、工科類和專業類。文科類學生主要是經管政法等專業方向的學生。這類學生的編程基礎較弱,選修跨專業Java 課程的目標主要是希望了解Java 程序語言的基本語法。工科類學生主要是數學、通信、電子等工科專業方向的學生。這類學生具有較強的邏輯思維,具有一定的編程基礎,選修跨專業Java 課程的目標是希望提升編程能力,能進行簡單的Java 程序開發。專業類學生是指計算機相關專業的學生,主要包括計算機科學與技術、軟件工程、大數據等方向的學生。這類學生具有專業基礎,編程思維強,選修跨專業Java 課程的目標是擴展專業知識,提升專業核心競爭力。
圖1 給出了傳統教學方案中Java 課程的主要知識點。一般來說,一學期課程的總學時是64 學時,其中包括16 學時的實驗課程。按照傳統的教學模式,教師需要對這些知識點進行全部講解。由于學時數的限制,課程內容進度安排很緊湊。如果按照傳統的教學模式,這樣的進度安排對于計算機相關的專業類學生也是有一定的難度,更何況沒有編程基礎的文科類學生。按照OBE 教學模式,根據不同專業背景的學生,可以設定不同的教學目標。按照不同的教學目標將Java 知識點模塊化,本文將Java 知識點分為3 個模塊:模塊1 為Java 基礎知識點,模塊2 為Java 應用知識點,模塊3 為Java 進階知識點。基于OBE 的教學模式,對于跨專業的Java 課程內容,教師可以把模塊1 作為公共基礎內容,是每個學生需要達到的基本目標。模塊2 和模塊3 可以作為選學內容,學生可以根據自己的專業背景選擇學習。

圖1 Java課程的主要知識點
在傳統的教學模式中,實驗內容主要以簡單的實驗為主,側重于對理論知識的理解。然而,忽略了對學生解決問題能力的培養,創新思維的培養。對于工科類和專業類的學生而言,他們希望能夠通過這門課程,使得自己的編程能力有所提高,而不只是停留在基本知識的掌握階段。對于文科類學生而言,由于專業的背景不一樣,學生希望通過選修這門課擴展自己的知識視野,培養一定的編程興趣和編程思維,不需要過分地強調編程能力。因此,在實驗內容的設定方面,基于OBE 的教學原則,同樣需要根據學生的目標設定不同難度的實驗內容。本文認為,跨專業的Java 課程在設定實驗內容時應該注意以下幾點:
(1)基礎知識的掌握。在實驗內容設定時應該側重對于基礎知識的理解和把握,這是編程應用和高階學習的基礎。
(2)綜合能力的培養。在實驗內容設定時也需考慮綜合能力的培養。綜合能力包括學習能力和編程能力。教師可以根據知識點,設置一個綜合實驗,培養學生運用理論知識解決問題的能力。
(3)實驗難度的適度。盡管強調學生編程能力的培養,也需要注意實驗內容的難易程度。由于課時的有限性,不用按照綜合課程設計的思路設置編程量大的實驗題目。

表1
表1 為實驗內容設置情況的例子。考慮到基礎知識的掌握情況,可以根據相應的知識點設置簡單的實驗,加強學生對于基礎知識的理解。為了訓練學生解決問題的能力,培養一定的編程能力,設置一個綜合實驗。考慮到課時有限的原因,綜合實驗題目的設置旨在能夠讓學生綜合運用相應的知識解決問題。這樣有益于增強學生的編程自信心,激發學習積極性和主動性。
基于OBE 的教學模式,考慮到不同學生的專業背景,可以采取混合教學模式,即課堂講授加微視頻的教學模式。對于模塊1 的知識點,任課教師可以采取課堂詳細講解的方式,讓沒有接觸過Java 語言的學生能夠對Java 基礎知識有全面的了解。同時,提供相應的微課視頻,讓學生課前預習和課后消化。對于模塊2和模塊3 的知識點,任課教師可以通過微課,以微視頻的方式講述知識點。微視頻的利用,有效縮減了教學中理論講解的課時。任課教師可以充分利用這些課時指導學生完成實驗,加深理解,提升編程能力。這不僅增加了師生交流互動的時間,也避免了乏味枯燥的理論講解。
跨專業Java 課程目標在于激發學生的學習積極性,培養實際動手能力和解決問題的能力,并不局限于對理論知識簡單地理解和記憶。對于不同目標的學生,采取多元化的考核機制,鼓勵學生主動學習動手實踐。表2 為基于OBE 的跨專業Java 課程評估方式。考核內容包括平時成績和實驗成績。
(1)平時成績占總成績30%。其中課堂出勤情況占10%,通過簽到或者點名的方式進行考核。學習情況,占20%,針對的是課堂的表現(占10%)和課后的微課學習情況(占10%),考核學生的自主學習能力。
(2)實驗成績占總成績70%。其中,項目實戰,占40%。根據不同目標的學生,分別考核基礎實驗和綜合實驗的完成情況。項目匯報,占20%。在期末,學生需要總結自己的項目完成情況,按照要求撰寫實驗報告。實驗報告內容包括項目解決方案,實驗代碼和自我評價。實驗報告的語句組織和排版也作為考核內容之一。創新能力,占10%,學生可以根據自己的學習情況和能力,擴展綜合實驗項目的內容。

表2 基于OBE 的跨專業Java 課程評估方式
在“互聯網+”時代,Java 程序語言作為大數據平臺、企業應用平臺和移動客戶端的主流開發語言之一,具有龐大的市場和人才需求。在高校的復合型人才培養模式中,不僅要求學生對專業知識的掌握,也注重知識視野的拓展,創新能力的培養和解決問題能力的訓練。基于OBE 教育模式探索跨專業Java 課程的教學改革,有益于學生綜合能力的培養。同時對于非計算機專業的學生,可以在了解和掌握Java 程序語言的基礎上,激發編程興趣,培養編程思維,提升編程能力。