湖州師范學院求真學院 侯向華
湖州師范學院信息工程學院 劉紅海
在分析了目前教學過程中存在的問題和學生情況之后,本文根據當前高校教育提出的新工科工程認證對java程序課程進行了教學改革研究,結合OBE教學理念和項目導向對課程目標和課程內容進行了重構,并采用信息化手段進行多維度多檢測點的教學評價,通過教學改革豐富了教學內容,更好的幫助不同水平的學生進行學習,多樣化的考核方式不但全面的考核學生學習的整個學習過程,并且促進了學生學習的動力。
Java程序設計是計算機專業課之一,計算機相關專業建選課程,有著重要的課程地位。先修課程為C程序設計,在學生有了初步程序設計基礎之后而開設的一門課程。在以往的講授過程中往往過分注重語法知識,而忽略了java面向對象的特點,忽略了培養學生的工程實踐能力。教育部高教司司長吳巖在今年的工程教育高峰論壇上提出:打造世界水平中國特色工程教育認證體系。報告中指出:新工科再深化,改變高校教與學的行為,改為人才培養方案,改變評價體系與資源配置方式。在此背景下,本文結合OBE理念,對Java程序設計課程進行了教學改革。
OBE,基于學習產出的教育模式(Outcomes-based Education)最早出現于美國和澳大利亞的基礎教育改革。在OBE教育模式中,學生學到了什么和是否學會,遠比怎樣學習和什么時候學習重要。“教育者必須對學生畢業時應達到的能力及其水平有清楚的構想,然后尋求設計適宜的教育結構來保證學生達到這些預期目標。”
Java程序設計課程以java為例講授面向對象的理論和相關知識,通過該課程的教學,幫助學生了解國際上最新的計算機編程設計思想,并能初步運用java技術和基本開發工具進行計算機軟件代碼設計;培養學生用面向對象程序設計思想和邏輯思維方式進行計算機編程研究,啟發學生的創新意識;提高學生在軟件設計過程中分析問題和解決問題的實際動手能力,使學生的理論知識和實踐技能得到共同發展。為將來參與實際項目的開發奠定堅實的基礎。課程目標的設立不是孤立的,而是根據畢業要求而設立,表1是畢業要求與課程目標的對應關系。

表1 課程目標與畢業要求的對應關系
根據畢業培養目標,分解具體的畢業要求,從而制定了課程目標。根據學生實際情況和課程目標,重構了課程內容。課程內容承階梯狀逐步深入,每部分不僅有針對性,而且能夠相互促進,最后課程結束的時候,使學生能夠完成一個獨立的小項目。

表2 課程教學內容和課程目標的關系
傳統的講述方法,是按照課程內容逐一講解。一般按照1:1配置理論和實驗課時。各部分實驗自成一體,沒有關聯。實驗的設置就是為了練習某個知識點。這種方式有其優點,短小精悍易于教學,易于學習。但也存在一定問題,學生各個部分的學習是分裂的,為了學習而學習。學完之后,各個知識點是剝離的,不能夠融會貫通。不能夠很好實現工程認證中的教學目標4和5。所以,在確定重構好課程內容后,我們需要改變我的教學設計和方法。
在此,我們采用項目教學法。以一個完整的項目貫穿整個課程,將java語言學習的關鍵知識點融入到整個項目中,學習的過程,就是一步步完成項目的過程。課程內容結束,一個項目也就完成,從增強了學生學習的主觀能動性,培養了學生工程實踐能力。項目以學生熟悉的學生成績管理系統為例,將項目分解到原來的各個實驗中。項目內容分解如表3所示。

表3 將學生成績管理系統按照實驗內容分解

圖1 界面設計樣例
在理論教學中,java的語法繁多,往往學了后面,忘記前面,或者知識點都記住了,實驗也會做,但是對整個java的整個體系結構不能把握。為此,對語法繁多的類和對象部分,我們采用教畫思維導圖的方式,這樣學生不但看見掌握了分散的知識點,而且還能夠從結構上對整個知識體系把握。
在重構的教學內容中,我們的實驗教學具有很強的連貫性,考慮到學生的學情,會存在部分同學因為前面實驗沒有理解,而導致后續實驗無法完成的情況。所以,在具體教學實施的過程中,我們根據學生的情況,將每個實驗具體細化,根據不同學生的情況,給出不同實驗版本,供學生選擇適宜自己的難度。下面以實驗六中設計用戶登陸界面為例說明。這個實驗要求學生編程設計登陸界面如圖1所示,并且能夠實現登陸和取消按鈕的功能。這是一個綜合性較強的實驗,涉及到類的設計對象的使用,GUI中常用類的使用以及布局管理。

圖2 實驗程序框架示例
根據學情將實驗設計成三種類型。第一種針對基礎比較薄弱的同學,可以給出布局設計思路和程序框架。程序框架如圖2所示。第二種針對一般的同學,只給出程序中用到的類名和API手冊以及大概的布局設計思路,對于這一類同學可以引導他們使用java的API手冊自行查詢如何使用java給定的類,給出大概設計思路但是不限制他們的解決方案的選取,可以使這部分同學逐漸能夠自己設計界面布局。第三種針對學有余力的同學,針對這部分同學可以給出更高的要求,除了能夠設計出給定界面之外,盡可能的美化界面,這就要求這部分同學在快速完成基本要求之后,還要自己查詢API手冊選定合適的java類,這也是對課程目標4的一個體現。通過對每個實驗的分層次設計可以很好的滿足不同同學的水平,這就讓不同水平的同學在實驗課堂上都能把整個項目順利進行下去,從而避免了以前那種同一要求的實驗而導致的部分同學無從下手,而部分同學又很快完成而無所事事。

圖3 隨堂測驗答題情況分析
在具體的教學實施中,我們還存在一個問題,由于實驗的連貫性,我們某些實驗需要前期實驗的代碼,為了使學生養成團隊協作以及管理代碼的良好習慣。在學期開始即讓每位學生建立github賬戶,每次實驗完畢將代碼提交到云端,下次上課需要的話把代碼下載并導入到本地即可。
教學評價是教學中很重要的一個環節,以往程序設計類課程都是以考試為考核方式,但是這種考核方式太單一,往往使學生過分重視語法,而忽略了java語言的軟件開發功能。在OBE的理念下,我們應該針對不同的課程目標設計合適的考核方式,也就是一門課程我們要有多種監測手段。為此,我們對課程考核做了多種形式。對于課程目標1,2,3我們采用隨堂測驗的形式,占總分20%,對于課程目標4我們采用課堂討論和報告的形式,占總分30%,對于課程目標5,我們采用項目匯報和小組互評的方式,占總分50%。多維度的測評可以更好的檢查學生對課程目標完成的情況。
多維度多監測點的測評無疑會增加教師的工作量,為了緩解這種壓力,我們充分利用學習通提供的信息化教學手段,將一些客觀性的測驗用學習通完成,學習通不但可以自動批閱,而且可以自動分析答題情況。圖3所示是某次隨堂測驗學生提交完答題即得出的分析的結果。這種及時反饋可以使教師在授課過程中有的放矢的進行講解。
結束語:這次教學改革是在校級教學模式改革課程和校級教改項目的支持下完成的。信息化手段為我們的教學改革提供了有力幫助;OBE理念為我們提供課程改革的總體框架;思維導圖和層次化的實驗設計是我們教學改革的有益補充;項目引導的總體實驗設計充分培養了學生團隊組織與協調能力,培養了學生項目開發的綜合能力,為后續的相關課程設計和軟件工程課程打下良好基礎。