張鑫
(哈爾濱華德學院數據科學與人工智能學院,黑龍江 哈爾濱 150025)
Java自誕生之日起,就因具有平臺無關性、面向對象、多線程、安全性高等特性,成為網站開發(fā)、移動應用開發(fā)以及管理工具的首選開發(fā)語言。目前,全國各高校的計算機專業(yè),基本都是以Java語言程序設計作為編程的入門工具,尤其是在一些新的技術領域都涉及Java語言。因此,在很多高校的計算機科學與技術專業(yè)中,學習和掌握Java已成為共識。
成果導向教育OBE(Outcome Based Education)教育理念,也稱為能力導向教育、目標導向教育或需求導向教育。它是于1981 年由Spady 等人提出的一種先進的教育理念。其核心思想就是“以學生為主體,以成果為驅動”的成效為本教育理念[1]?;诖四康?,我校計算機科學與技術專業(yè)Java語言程序設計課程中引入OBE教學理念,旨在幫助教師改進教育教學、管理,幫助教師指導學生工作。
Java語言程序設計作為入門級的編程課程,學生在學習時,因為學生個體之間存在的認知差異,對編程的抽象方法理解不一致,不同學生的掌握程度也就不一樣。這就造成有些學生認為學習編程很容易,有些學生認為學習編程難度較大,讓教師在授課時的教學方法把握不好分寸。
以往Java 語言程序設計教學方式采用按照教材的章節(jié)分布,以知識導向為主,講授知識的基本概念和語法,在課堂上基本都是采用PPT教學方式,并且局限于教學課時和教學進度的安排,降低了教師與學生之間的交流,學生對教學活動的參與不多。而且教師也未能很好地針對學生個體差異因材施教,從某種程度上限制了學生的編程潛能和創(chuàng)新能力。
Java 語言程序設計的實踐部分的實驗內容往往是針對教材中特有的知識點而設計,實驗內容比較單一、枯燥,并且對后續(xù)的知識學習并沒有很好的關聯(lián)性。學生在完成實驗內容時,更注重語法規(guī)則,并沒有深刻理解題目的通俗含義,沒有理解面向對象的本義,學生多是按照教材中的答案敲到計算機里,這樣造成學生對問題分析、編程思想理解不深入。教材上的實踐案例并不能貼近行業(yè)發(fā)展的實際情況,不能把前期學習的內容和后續(xù)學習的知識貫穿在一起,設計出貼近行業(yè)真實的綜合項目實訓,這也造成多數學生對編程思維沒有清晰的認識,對知識還不能融會貫通。
Java語言程序設計考核方式往往采用平時成績+期末筆試的方式進行,平時成績基本都是由學生出勤和課堂表現(xiàn)組成,而期末筆試考核內容多是概念性和記憶性的知識點,編程題目較少,這就造成一部分學生往往忽視編程能力的學習,更多去記憶一些理論知識,考核成績既不能反映學生對編程能力和創(chuàng)新能力的掌握程度,也不能反映教學情況和考核的意義[2]。因此,需要根據Java 語言程序設計的課程目的和學生的學習特點,設計出科學的課程考核方式。
教育的根本任務是立德樹人,在課程教學的過程要把思想政治貫穿教育教學的全過程。在教學中要制定德育工作目標,實現(xiàn)全員育人、全過程育人、全方位育人的體系。專任教師也是思想政治教師,強化示范引領效應,使社會主義核心價值觀內化于心、外化于行。著力增加愛國主義教育,引導學生樹立正確的價值觀,增強民族的榮譽感和社會責任感。
在過往的Java 語言程序設計的課程講授過程中,教師并沒有向學生講授這門課程的教學目的,這就使學生不能理解Java 語言程序設計課程對后續(xù)的課程起到什么樣的作用。為了讓學生更好地理解Java 語言程序設計課程教學目的,教師在講授課程的過程中,要著重培養(yǎng)學生的計算思維的能力,理解面向對象的深層含義,并且通過學校與行業(yè)、企業(yè)積極合作,充分發(fā)揮校企合作的作用,設置一些適合行業(yè)需求的簡單應用程序案例。但前提是在教學過程中,更好地講授課程的基本概念和語法,讓學生能夠靈活運用所學的基礎知識。
結合計算機科學與技術專業(yè)的需求,對Java語言程序設計的教學課時進行了調整。從原來的40學時調整為現(xiàn)在的64 學時,理論課程占32 學時,實踐課程占32 學時,加大了實踐課程的比重。并且在教學過程中重點對Java 語言的基本語法、面向對象的三大特性、集合、輸入流、異常處理、JDBC訪問數據庫、多線程和網絡編程等內容作了側重學時分配。并結合Java語言程序設計課程的性質,將課程安排在學院的實驗室機房內授課,實驗室授課能夠提供真實的實踐環(huán)境和模擬企業(yè)氛圍,從而使學生直觀、全方位地了解各種設備和應用環(huán)境,真正加深對理論、操作的體會。這樣保證了學生可以隨時運行計算機來調試程序,增強學生的對編程的理解能力。教師也提高了授課的靈活性,能夠及時發(fā)現(xiàn)學生的反饋問題,側重知識講授的重點[3]。
在Java語言程序設計的教學設計和實施過程中,教師特別重視想讓學生取得的學習成果是什么,這也是OBE教育理念中強調的4 個問題中的第1 個問題。這也就要求,教師在講授課程前,需要確定學生預期學習成果。對于計算機科學與技術專業(yè)的學生來說,Java語言程序設計需要學生能夠掌握基本理論知識,并且能夠熟練掌握實際操作,從而能夠進行更深層次的學習。那么教師在授課時,會著重這些方面的傳授。尤其是培養(yǎng)學生應用Java 解決和處理實際問題的思維方法與基本能力,使學生養(yǎng)成良好的編程習慣、風格?;诖四康?,計算機科學與技術專業(yè)將Java語言程序設計這門課程設定為以學生學習成果為導向,建立課前—課后的分布式課堂環(huán)境。課前,教師通過在線平臺將課程需要預習的課件、視頻以及課程的各個重要知識點的導圖等內容推送到學生的手機端,讓學生能夠對要講授的課程有足夠的預習時間。課后,教師收集在課堂上學生不清楚的知識點,再次將知識點細化,重難點分析解釋,以及將相關復習資料發(fā)送到學生手機端[4]。通過課前—課后的教學方法,消除了課上和課下的界限,讓學生在一個自發(fā)性的環(huán)境中進行學習,從封閉課堂轉向開放課堂,提高了學生自主學習能力和計算思維。這樣也能讓教師準確把握每名學生的學習軌跡,及時把握每名學生的學習進程。
OBE教育理念中強調的第2個問題,就是為什么要讓學生取得這樣的學習成果。Java 語言程序設計是計算機科學與技術專業(yè)的必修課,也是基礎課,通過此課程的學習,重點培養(yǎng)學生對后續(xù)課程的理解,并且培養(yǎng)學生自主學習的積極性和動手能力;同時,也為后續(xù)課程Java Web應用開發(fā)和Java開發(fā)綜合實戰(zhàn)打下基礎。在課程的講授過程中,教師需要讓學生學會發(fā)現(xiàn)問題、分析問題、解決問題和創(chuàng)新能力的提升,才能真正培養(yǎng)滿足行業(yè)企業(yè)需求的高素質人才。
Java 語言程序設計課程是一門實踐性和動手能力要求較高的課程,實踐教學的目的就是為了培養(yǎng)學生綜合知識的運用和自主動手解決問題的能力。在制定課程實踐部分時,要把Java語言的基本知識和語法、面向對象編程的思想結合起來,鍛煉學生的計算思維能力,并且培養(yǎng)學生的團隊交流、溝通協(xié)作能力。如何有效地幫助學生取得這些成果,這也是OBE教學模式強調的第3個問題。
傳統(tǒng)的Java 語言程序設計的實踐部分的實驗題目過于陳舊、與實際應用相脫節(jié),導致學生在實際開發(fā)中不知如何運用所學的知識去解決設計問題。教師在講授課程中需要加入真實的案例進行循序漸進式的操作,讓學生理解為什么應用課程里的這些知識點,這些知識點如何去運用到真實案例中,也可以讓學生進一步分析如何解決問題,促使學生增強編程興趣[5]。這樣能夠把學生學習的積極性充分調動起來,思維也能夠更加開闊,想象的空間也更加靈活,讓學生自主地思考、挖掘、摸索和體會。教師需要認真觀察和記錄學生們遇到的問題,并及時幫助學生解決問題,使學生盡可能少走彎路。教師還可以對學生們遇到的共性問題,做示范性講解,用真實案例去說明,讓學生能夠在課堂上將學到的知識進行消化。學生一旦對編程產生濃厚的興趣,那么就會自然產生對知識的求知欲望,體會開發(fā)成功的成就感,從而激發(fā)學生們的編程積極性和熱情。
教師在實踐教學過程中,還可以將學生進行分組實驗。學生采用分工合作的方式完成項目的某一模塊,模擬真實行業(yè)的協(xié)作分工,每組還需要根據實驗的整體過程設置項目經理、程序員和測試人員,通過學生積極動手參與,不僅鍛煉了學生的編程能力,也培養(yǎng)了學生的團結合作能、協(xié)調溝通能力、工程實踐能力和團隊創(chuàng)新能力[6]。同時,教師也要更加關注每個學生對實際項目的了解程度,把握學生的學習方向、進度、質量,起到引導、規(guī)范的作用,讓學生在團隊協(xié)作中更加主動。
教師應積極鼓勵學生參加各類技能設計比賽,比如“全國大學生編程大賽”“藍橋杯”“互聯(lián)網+”等各類大學生技能設計比賽。通過引導學生參加比賽,讓學生將知識運用到實際項目中,以提高學生的動手實踐能力和創(chuàng)新意識,而且通過這些技能競賽為學生就業(yè)提供更多機會。
學院應積極尋求與國內外的知名企業(yè)開展深層次、緊密的合作,聘請企業(yè)的工程師給學生們授課,發(fā)揮企業(yè)在人才培養(yǎng)中的作用,企業(yè)技術人員與教師共同組織和帶領學生們完成真實項目的設計、施工、調試和維護,使學生真正進入企業(yè)項目實戰(zhàn),提高項目的實際運作能力,形成校企共建、共管的格局。通過學習不同類型的項目,可以彌補校內案例經驗不足和實際運作能力匱乏的缺陷,最大限度達到理論和實際相結合[7],使學生能夠真正領悟團隊合作精神,同時培養(yǎng)解決問題的能力。
課程的考核成績應該是客觀反映學生的學習情況,衡量學生的課程知識點掌握情況,以及利用所學知識解決實際問題的能力。如何考核學生已經取得的學習成果,是OBE教育理念中強調的第4 個問題。傳統(tǒng)的Java 語言課程設計的考試方式采用平時成績+期末考試的組合方式合計學生的最終成績。這往往不足以體現(xiàn)學生的學習情況,通過對課程考核方式的改革,讓學生能夠理解和掌握課程的知識點,能夠將知識點應用于實際的能力,注重其實用性[8]。
Java 語言課程設計課程新的考核方式是將傳統(tǒng)的考核組合方式更加細化,將平時成績設置成為不單單是學生出席情況、課堂表現(xiàn)等基礎考核,更增加了平時作業(yè)和實踐項目考核,考核主要檢查學生在平時作業(yè)和實踐項目活動中動手能力提高和發(fā)展的過程,其中包含學生參與教學活動各環(huán)節(jié)的表現(xiàn)及完成項目的質量;將期末考試成績劃分為筆試試卷成績和課程設計成績。筆試試卷以基本知識為主,輔助常用算法實例來填補代碼的形式來完成算法的設計。而對于課程設計,更應該注重項目設計、需求分析、代碼完整性和課程報告的撰寫。除此之外,學生也可以通過整體考核方式來進行考核,對于真實項目的實施過程,學生需要回答完成的進程和遇到的困難,并且進行項目演示答辯,這樣不僅鞏固了學生的編程能力,也鍛煉了學生的表達能力。該課程考核方式在本學院計算機科學與技術專業(yè)2020級學生中實施,達到了預期的效果,有利于對學生學習能力、分析能力、解決問題能力和創(chuàng)新能力的綜合評價。
隨著我國以新技術、新業(yè)態(tài)、新模式為代表的新經濟蓬勃發(fā)展,對計算機科學與技術專業(yè)人才的要求也進一步提升,這對于我校的應用型人才培養(yǎng)工作也提出了挑戰(zhàn)?;贠BE的Java語言程序設計的教學改革,是對傳統(tǒng)Java課程教學模式的創(chuàng)新,而且也是一項非常深遠、意義重大的工作?;贠BE的教育理念對Java語言程序設計課程中的課程培養(yǎng)目標、理論教學內容的側重點、實踐教學的方向性、課程考核的多樣性等都提出了系統(tǒng)化的要求,這些要求雖然加大了教師的知識儲備和教學工作強度,但該課程改革是以學生學到了什么為導向,使得學生真正學得明白,用得明白,成為課程改革的最大受益者。