常燕 劉嘉敏 朱世鐵 于霞
摘要:程序設計實踐課程是高校計算機學科部分相關專業的必修課程之一,該課程對于高校學生的邏輯思維能力和動手實踐操作能力要求較高。然而,在高校程序設計實踐課程中學生對待課程的“畏難”心理、學校對于程序設計實踐的重視度不夠、高校教師考核方式的不科學等都是阻礙高校學生編程能力提高的障礙。結合時代發展及我國教育信息化規劃,本文提出以項目教學為驅動的程序設計實踐課程的“翻轉課堂”+SPOC教學模式。根據項目驅動教學特點,基于“翻轉課堂”+SPOC的網絡在線教學平臺,筆者結合具體Java教學實例從課前準備、課中教學和課后評價三個方面對程序設計實踐課程展開了教學研究,為高校計算機程序設計實踐課程提供一定的參考。
關鍵詞:項目驅動;翻轉課堂;計算思維;SPOC
中圖分類號:G642.4 文獻標志碼:A 文章編號:1674-9324(2019)01-0157-03
根據2011年《教育信息化十年發展規劃》中所提出的理念,我國教育要在改革過程中實現信息化元素的介入,全面推進信息技術與教育之間的有效結合。
近幾年來,為了積極響應國家的號召,不少高校加強對程序設計實現課堂的教育教學改革,本文以Java程序設計課程實踐環節展開教學研究。
一、高校程序設計實踐課堂教學現狀分析
1.學生存在“畏難”心理。計算機程序語言和人類語言的邏輯差別是比較大的。我國現如今大的教育背景致使大部分高校生在大學期間才初次接觸程序設計課程,調查顯示,有相當一部分大學生對程序設計課程存在“畏難”心理。程序設計課程對學生邏輯分析能力要求較高,剛剛接觸的學生常常找不到頭緒,不知道怎么學習計算機程序編寫。部分程序代碼的編寫過程是十分枯燥的,往往不起眼的小失誤,如變量名稱的前后不一致、標點符號使用不恰當等都會導致整個程序無法正常運行,這對學生樹立學習的信心是非常不利的。
2.程序設計課程對實踐教學重視度不夠。程序設計課堂培養學生的計算機思維能力固然很重要,但實踐教學也是絕不可忽視的。很多高校在對計算機編程課進行教學安排的時候犯了一些指向性錯誤,沒有考慮到理論與實踐教學之間的緊密聯系,制定教學計劃的時候將理論教學與實踐教學分別安排給不同的教師。這種分離式的教學模式使得程序課程的實踐教學質量不能得到保證。
所謂的程序設計實踐課程教學無非就是根據制定教材的例題或是與教材配套的上機指導實驗書作為實踐教學的主要內容。這樣的實踐教學不能切實培養學生的計算機思維和實際動手能力,教師可控性太差,目的性不強。實踐教學重視度的缺失是制約高校程序設計課堂進步的一個重要因素。
3.課程考核方式不科學。程序設計實踐課堂對學生實踐能力要求很高,其最大的特點就是“靈活性”,教學內容的靈活和學生編程方式的靈活性都對課程考核方式提出了很高的要求。不同于傳統的學科,以所掌握知識的書面呈現作為期末考核形式,程序設計實踐課判斷學生是否達到課程考核要求的判斷標準為是否對所學知識點靈活操作,而且程序能否成功調試運行完成。不少程序設計實踐課的教學導師并未在實際行動中貫徹實施這一考核標準,書面考核方式往往導致學生為達考核要求而死記硬背現象的產生。
二、項目驅動和“翻轉課堂”+SPOC概述
1.項目驅動教學。提高學生編寫程序的能力是開展程序設計實踐課程的目的,也是開設程序設計實踐課程最根本的宗旨,將引導學生熟練進行編程項目開發作為教學目標,幫助學生提高面向對象進行分析的基本技能。此外,程序設計實踐課程還可以幫助學生掌握項目驅動并建立整體架構的開發能力。
單純代碼的編寫和代碼實現的小技巧只是作為一名合格IT編程人員的基本素養,大信息時代下要求程序設計人員必須懂得整體架構、以“項目驅動”為起點展開對問題的分析。所謂“項目驅動”教學即以學生為主體,以項目完成為起點和動力展開對高校程序設計學生的教學,其不同于傳統的任務教學法,而是注重培養學生完成實際實際項目的動手能力[1]。在以項目為驅動的程序設計實踐課程教學過程中,為了讓學生對編程基本知識點有更深刻的理解和把握,高校教師應結合當今在具體應用中使用較多的主流技術,并結合高校學生身邊的具體場景,給出學生能夠感興趣并能真真實實學到技術的應用項目,并分析項目重點、難點,演示項目的最終呈現效果及實際價值,激發學生對程序設計實踐課程的學習興趣和求知欲。項目驅動教學給了學生一個教學目標,從而以此為目標提升課堂教學和學生自主學習效果,大大提升學生對Java程序設計過程中理論知識的理解和將理論應用于實際項目中解決分析問題的能力[2]。
2.“翻轉課堂”+SPOC。當前SPOC(Small Private Online Course,小規模限制性在線課程)的大多數教學案例主要是針對圍墻內的大學生和在校大學生這兩類學生設置的[3]。以圍墻內的大學生為教學藍本的SPOC教學案例是整合課堂教學與在校教學兩種教學方式的新型融合性教學方法,學生在大學課堂上采用MOOC(massive open online courses,大型開放式網絡課程)的講座視頻及其包含的在線測試、在線評價等功能性模塊,實現“翻轉課堂”教學。“翻轉課堂”(the Flipped Classroom/the Inverted Classroom)指的是學生可在課外通過教學視頻實現自主學習,課上與教師、同學積極溝通實現更好學習的一種學習方法。不少高校針對計算機程序設計實踐課程展開“翻轉課堂”+SPOC的教學模式,學生可以在線學習的方式接觸到國內外高校一流的程序設計課程,同時師生之間、學生之間也可通過溝通實現優質教學資源共享,提高高校實踐教學水平。與傳統教學模式不同的地方在于,“翻轉課堂”+SPOC程序設計實踐課程的教學內容質量較高,同步、異步的教學模式選擇靈活[4],不僅能夠體現出在校開放課程的獨到之處,還可以將傳統課堂教學模式中存在的不足進行充分的彌補。新型教學模式的優點不僅融合了實踐信息技術和傳統教學的可取之處,還將教師與學生之間的角色轉換為學生為主的狀態,充分迎合了以學生為教育過程主體的核心教育理念。
但“翻轉課堂”+SPOC在實際應用于高校程序設計實踐課程的教學過程中時是存在一些問題的。首先,高校學生對計算機編程認知有限,其知識層次及學習能力存在差異,在接受部門高質量教學視頻時會存在吃力現象。其次,計算機編程設計實踐課堂對學生動手實現能力要求較高,大部門教學視頻更側重于編程理論、編程方法的講解,高質量的實踐課程相對較少。計算機程序設計實踐課程的教學機制是高校學生整體編程能力難以提升的重大制約因素,不完善的教學機制注定不能培養出能力出眾的計算機程序設計人才,為此在實踐教學過程中,應針對具體學科特點,對“翻轉課堂”+SPOC教學模式進行修正、完善。
三、項目驅動的程序設計實踐課程的“翻轉課堂”+SPOC教學模式研究
高校計算機Java程序設計實踐課程的開展需要根據其教學內容的特點合理制定教學方法,項目驅動教學和“翻轉課堂”+SPOC教學模式非常適用于這門課程的教學。本文在考慮到課程本身特點的前提下提出這一教學模式,目的是為了解決學生在實際動手進行程序設計過程中表現出來的實踐能力不足的問題。為了更好地提高高校學生對程序設計課程的學習興趣,消除學生“畏難”情緒,在根源上提高高校對程序設計實踐課程的重視程度,本文對項目驅動的程序設計實踐課程的“翻轉課堂”+SPOC這一教學模型進行了深入的研究,分析這種教學模式在程序設計實踐課程中的適用性,主要通過課前、課中、課后三個模塊闡述教學模式與課程之間的結合。
1.課前準備階段。要想提高高校學生對Java程序設計課程的興趣,課前教學準備階段是十分重要的[5]。首先,教師應結合Java編程語言的特點,考慮學生的認知水平準備好合適的項目,并根據不同的教學階段將項目進行合理劃分為幾個子項目。為了激發學生的學習興趣,教師應根據各個子項目的側重點,準備與知識點相對應的課堂導入、備課環節及測試點,將整個教學內容制作成“微視頻”或者以幻燈片的形式掛在本班學生經常觀看的Java程序設計課程的在線網絡教學多媒體平臺上。此外,教師還應在課前準備階段設計好實踐課程的每一個教學活動,對每個子項目的教學過程設計出具體的教學步驟。根據教師給設定的具體程序設計項目,學生可在基于“翻轉課堂”+SPOC的多媒體平臺上自主學習教師發布的數字化課程資源,在課前預習階段對所學知識點做到大致了解或掌握。
如教師給出“網站下載器”一個具體的項目,要求主要以Java程序設計語言(結合項目的具體要求,也可少量搭配Web開發自行選擇其他程序設計語言)實現以下幾項功能:以圖形界面為展現媒介,用程序實現網絡數據的發送請求以實現所需圖片的下載過程;對于需要個人注冊、登錄的網站進行有效模擬;運用多線程同時完成對該網站多張圖片的下載過程;結合實際需求對某些圖片實現加密并定向保存到前期制定文件夾。單純給定“網站下載器”項目可能會使學生找不到頭緒,教師將這個綜合類的大項目在課前根據所實現的功能以分類的形式進行子項目劃分,學生利用課堂上所學到的基礎知識完成設計難度較低的所有子項目,進而達到整個項目合理完成的目標,只要對每個子項目的設計做到全部掌握,那么整個項目的設計也可以順利完成。教師除了完成子項目的劃分,還應給學生提出問題,激發學生的興趣[6]。第一項功能中涉及“圖片文件搜索”的程序實現,教師可在相應的教學環節給出學生思考問題:(1)文件和目錄應以何種方式進行區分;(2)怎樣實現文件夾和子文件夾的搜索過程;(3)計算機應怎樣完成搜索條件下的篩選工作等問題。
2.課中教學階段。由于在前期在網絡平臺完成了自主預習、學習過程,在教學過程中,一旦學生對某個具體功能的實現和某些代碼存在疑惑,可隨時向教師舉手請教。針對個別問題,學生可在學生計算機上實時指導功能實現,針對疑惑較為集中的部分,教師可在課堂組織集體答疑,在機房實時實地演示學生困惑的地方,這樣學生便可集中注意力參與整個教學過程,提高學生的積極性。在教學過程中,教師還可通過問題引導、項目驅動、實現路徑分解、代碼編寫及調動的方式進行示例講解,給學生演示出子項目具體功能的實現[7]。
在課堂上,教師可將學生分為不同的學習小組,小組成員不能過多,必須使每位學生有單獨負責的部分,以項目驗收的具體要求評定學生是否達到本節課堂的教學目標。首先,教師可隨機抽查小組進行項目實現效果演示,并根據演示過程及結果向小組內學生提問,檢查代碼的書寫是否規范、演示的功能是否完善、界面顯示信息是否符合呈現要求等多種考核標準;其次,不同小組間也可實現有效溝通,針對不懂的問題向教師請教,做到取長補短;最后教師可根據項目實現的具體功能,對學生完成的功能予以評價,鼓勵學生繼續努力以實現更大的進步。
3.課后評價階段。課前與課中兩個環節的教學效果如何及時反饋到教師手里是十分關鍵的,在課后階段的教學環節中學生可以利用所學程序設計知識制作一個多媒體網絡平臺。在網絡平臺上學生可以將學習成果以及遇到的阻礙通過在線上傳的方式反饋給教師,學生自主發現問題并在教師的引導下解決問題是這種教學模式的鮮明特點,線上與線下能夠實現最大程度的緊密結合。通過Java程序設計實踐多媒體教學平臺,每個小組還可將課堂上完成的作品進行在線上傳,供教師和其他小組完成傳閱。教師可在課下實現對課堂上沒有展示的小組作品進行考核評價,學生也可在網絡平臺完成相互溝通、學習[8]。傳統的教學模式下,學生的溝通受時間、空間限制,“翻轉課堂”+SPOC的教學模式給教師和學生提供了方便、快捷的溝通平臺。通過積極溝通,學生可認真分析每個子項目存在的問題,對整個項目功能的實現打下了良好的基礎。課后評價環節的意義在于幫助學生找到自己在程序設計實際操作中的不足之處,遇到的學術方面的阻礙能夠得到正確的引導和及時的解決。通過整合學生反饋給教師的信息,教師可以針對性地加強該方面理論知識和實際操作的教學,以項目為驅動順利完成程序設計的教學過程,從而大大提高學生在計算機方面的邏輯思維能力和動手操作能力。
四、結語
信息化進程的不斷推進要求高校輸送更多計算機程序設計方面的人才,解決了學習計算機程序設計的學生的就業壓力問題。計算機程序設計注重對學生“理論+實踐”雙重能力的培養,相比之下,后者尤為重要。項目驅動的程序設計實踐課程的“翻轉課堂”+SPOC教學模式為高校計算機程序設計課程的教學注入了新的活力。
參考文獻:
[1]程珍,池凱凱,李燕君,徐利鋒.項目驅動和翻轉課堂相融合的教學模式在Java程序設計教學中的應用[J].計算機教育,2018,(02):91-94+99.
[2]常燕,李丙紅,劉嘉敏.在Java程序設計教學中任務驅動法對計算思維能力培養的探索與實踐[J].教育現代化,2017,4(43):159-161.
[3]劉嘉敏,常燕,黃靜,李丙紅.基于計算思維的程序設計課程教學改革[J].教育現代化,2017,4(39):43-45+47.
[4]夏愛月.項目教學法在程序設計教學中的應用[J].中國教育技術裝備,2017,(05):91-92.
[5]吳德.基于SPOC的在線課程教學模式設計初探——以《Java程序設計》為例[J].電子世界,2016,(24):57+60.
[6]曹菡,裴艷,王長纓.基于翻轉課堂教學模式的大學生計算思維能力的培養研究[J].中國醫學教育技術,2015,29(05):494-497.
[7]李凌霞,郭川軍,王曉.應用型本科院校計算機專業“慕課+翻轉課堂”教學模式研究——以《Java程序設計》課程為例[J].黑龍江教育(理論與實踐),2017,(11):46-47.
[8]戴振中,葉曉彤.基于“多微驅動”的SPOC混合教學模式的研究與實踐——以《面向對象程序設計》為例[J].教育教學論壇,2017,(28):133-134.