曹薇
摘要:指出了在高職基礎性程序設計課程教學中存在的問題,提出了適用于課程教學的若干可行方法,最后指出了在實施上述方法的過程中需要進一步關注的問題。
關鍵詞:高職;程序設計課程;教學方法
中圖分類號:TP393 文獻標識碼:A 文章編號:1009-3044(2014)22-5280-03
在高職院校計算機相關專業(yè),基礎性的程序設計課程(如C語言程序設計、Java程序設計、C#程序設計)均是各專業(yè)的專業(yè)核心課程,而且往往在大學一年級開設,在專業(yè)課程體系中有著大量的后續(xù)課程。這類課程的教學效果,直接影響著學生后續(xù)課程的學習效果和專業(yè)核心能力的養(yǎng)成,因而在專業(yè)課程體系中占據(jù)著十分重要的位置。該文結合該類課程教學中目前存在的問題,提出了若干有益的教學方法,以期提升高職計算機專業(yè)基礎性程序設計課程的教學實效。
1 課程教學目前存在的問題
在高職計算機專業(yè)基礎性程序設計課程教學中,目前存在著諸多問題,主要包括:
1) 學生學習興趣不高,學習積極性欠缺
絕大多數(shù)學生在課程學習之初懷有良好的學習愿望,學習態(tài)度也較端正。但基礎性的程序設計類課程往往在大一上學期或下學期開設,大多數(shù)學生之前沒有任何編程基礎,突然接觸這一類課程較難進入角色,表現(xiàn)為老師講的內容大多數(shù)聽不懂,或者即使勉強能聽懂,但自己不會編程序。因而隨著時間的推移,部分學生會因為難以體會到成就感而漸失學習興趣,甚至有部分學生會從內心深處放棄該類課程的學習。
2) 學生被動接受知識,編程能力嚴重不足
高職計算機專業(yè)的編程類課程與學生在高中階段學習的數(shù)學、物理等課程在學習方法、能力要求等方面有很大不同,主要區(qū)別在于,編程類課程的學習過程中,如果學生只是被動地接受老師講授的知識和方法,不能轉化為自己的編程能力,則并沒有達到該類課程的核心能力要求。
然而,現(xiàn)實情況正是如此,在學完編程類的課程后,具有相當強的編程能力的學生少之又少。
3) 課程考核方式不合理
大學階段,課程考核的意義不僅在于評測學生的課程學習水平,它的意義更在于作為一種有效的全程約束和激勵學生的機制,促使學生在學習該課程的整個過程中全力投入、學有所得。
然而,出于保證及格率等方面的原因,現(xiàn)有的考核方式降低了對學生的要求,更傾向于通過期末考試來一次性評測學生的課程學習水平,難以成為全程約束和激勵學生的機制。
2 高職計算機專業(yè)基礎性程序設計課程教學中的若干可行方法
為解決課程教學中出現(xiàn)的上述問題,需要教師花大氣力,在教學模式、教學方法上進行調整。除采用大家熟知的項目驅動、案例式等教學模式外,結合自己的教學實踐和思考,筆者認為,在課程教學中綜合使用以下一些方法或舉措是有效的。
2.1分層次教學
在教學實踐中,很多教師曾遇到過這樣的困境,無論教師在備課和授課上花多大氣力,教學效果都不夠好,突出表現(xiàn)為愿意聽課和按要求做實驗的學生不多。這其中的原因在哪里呢?實際上,教師并沒有站在學生的立場上來評判授課效果。事實上,相當一部分學生可能會覺得教師授課內容過于難懂,還會有一部分學生可能會覺得授課內容重點不突出或過于簡單。如何解決這一問題呢?在教學過程中注重因材施教,對學生實施分層次教學是一個可行的辦法。
高職學生與本科學生的差別主要體現(xiàn)在以下兩方面:一、從總體來說,高職學生的認知水平、學習能力稍弱;二、高職學生生源種類多,因而學生的學習能力、興趣、個性等差別很大?;谶@兩點,對高職學生實施分層次教學是十分必要的。
分層次教學是根據(jù)學生不同基礎、不同學習需求而實施教學的一種教學手段[1]。在實施分層次教學時,針對高職學生的特點,應把握理論和實踐教學內容的總體難度均不宜太高,這樣才能讓大多數(shù)學生學有所獲,進而有堅持學下去的動力。教師授課切忌完全按自己的意志決定授課內容和進度,在授課和學生上機實踐過程中,應注意和學生交互,把握學生的接受程度及想法意見等,進而在授課計劃大框架不變的前提下,及時地、靈活地調整授課內容及進度。同時,考慮到部分學生的學習能力較強,教師在準備教學內容時應有少量難度較大的知識及技能點。對于難度較大的知識點,教師在課件中詳細闡述,在授課過程中僅作少量提示,供學有余力的學生課余自學。對于難度較大的技能點,教師可將其列在實驗任務書中,供學生選做。
此外,針對特定課程,在校內成立俱樂部、興趣小組、協(xié)會、工作室等組織,讓學有余力的學生有發(fā)揮特長、協(xié)作提高的機會,也是實施分層次教學的重要補充。
2.2 采用翻轉課堂教學模式
考慮基礎性程序設計課程在計算機專業(yè)課程體系中的重要性,而課程教學學時相當有限,為有效延長課程教學及學生學習時間,更為了提升學生的自主學習能力,在教學中適當?shù)匾敕D課堂(the Flipped Classroom)的教學模式是必要的。
翻轉課堂教學模式最早于2007年出現(xiàn)在美國科羅拉多州落基山的“林地公園”高中[2],在2011年,薩爾曼·可汗正式在TED 大會上將翻轉課堂作為一種全新的教學模式介紹給全球的教育工作者。近幾年,全球越來越多的學校嘗試使用翻轉課堂教學模式并從中獲益。
對于翻轉課堂的界定不盡一致,國內學者張金磊指出,判斷一堂課翻轉成功的標準是,學生在課前的學習情況達到了傳統(tǒng)課堂中教師講授的效果和課堂中學生完成了本次課程內容的內化[3]。
雖然從目前來看, 翻轉課堂教學模式的實施主要集中于中小學,針對的教學科目主要為數(shù)學、化學等理科課程。但無論從技術條件還是學科特點來看,翻轉課堂應用于高職基礎性程序設計課程的教學是可行的。當然,也應考慮到,翻轉課堂應用于高職基礎性程序設計課程的教學沒有太多先例可以參照,課前、課中的教學細節(jié)需要教師自行設計,對教師各方面的能力要求是較高的,若教師缺乏這方面經(jīng)驗和能力,極有可能達不到既定的目標,弄巧成拙。因此,教師可以先不急于在整個學期的教學中全盤推行翻轉課堂的教學模式,而是在小范圍,如某一章或某幾章嘗試翻轉課堂模式,如果效果良好則可逐步擴大應用范圍。
盡管基礎性程序設計課程的紙質及網(wǎng)絡教學資源豐富,但為了實現(xiàn)特定的教學目標,教師應以課程網(wǎng)站為翻轉課堂的主要技術平臺,這個課程網(wǎng)站應當是課程組教師以課程標準為準繩自行創(chuàng)建的。實際上,利用課程網(wǎng)站輔助教學在各類大學早已十分普遍,但為了能成功實現(xiàn)教學的“翻轉”,必須在提升課程網(wǎng)站的質量方面下功夫,課程網(wǎng)站的質量主要取決于兩方面:
其一、是否有足夠多的高質量的視頻及其他各類學習資源支持學生的自主學習及協(xié)作學習,一般說來,一個教學單元可對應幾個視頻,考慮到程序設計類課程的特點,每個視頻時長可在25分鐘左右。
其二、是否有足夠的約束和激勵機制促使學生能自覺自愿地利用課程網(wǎng)站進行學習。教師采用的約束和激勵機制可以包括:
1) 對學生進入課程網(wǎng)站學習的時間長度進行統(tǒng)計,計入學生的平時成績。
2) 有明確而有趣味的任務(主要是編程任務)引導學生在網(wǎng)站上利用視頻等資源進行學習后完成任務,并對學生完成相應任務的情況進行評測。每個教學單元對應的任務涵蓋了教師的教學目標,但該任務是通過學生自主學習之后自行完成的,避開了教師枯燥的說教或演示,提高了學生分析和解決問題的能力。
3) 課程網(wǎng)站中有針對每個教學單元的測試題,學生利用網(wǎng)站上的視頻等資源學習完某個教學單元后自行進行測試,并將答案發(fā)送給老師供其批閱。
此外,在翻轉課堂模式下,課堂教學活動必然與傳統(tǒng)的課堂教學大不一樣。教師在課堂教學中應完成如下幾個目標:
1) 針對一個教學單元,通過提問或上機測試等方式把握學生個體的學習情況,以便于針對學生的具體情況有的放矢地開展課堂教學活動。當然,為提高課堂效率,這一過程應在課前就開始了,如教師可在課前查看學生的網(wǎng)上測試情況,或搜集學生在網(wǎng)上的提問,大致了解學生學習情況,擬定課堂教學活動的具體計劃。
2) 針對一個教學單元,通過重要知識點串講、教師分別輔導、學生團隊協(xié)作等方式實現(xiàn)教學內容的內化,盡可能讓每一位學生都實現(xiàn)課堂收益最大化。在此過程中,應以課程網(wǎng)站中針對每個教學單元布置的任務為主線開展教學,也就是說,判斷教學內容的內化的重要標準應是學生對老師在課程網(wǎng)站中布置的任務能夠完成,并能理解其涵蓋的知識點。換句話說,即學生已通過課前自主學習和課堂教學活動,將教學內容轉化為了自己的實踐能力??紤]到基礎性程序設計課程的特點,課堂教學活動最好在一體化教室進行。
2.3 注重學習方法的引導
不論采用分層次教學,還是翻轉課堂教學模式,在學生學習基礎性程序設計課程過程中,學生的心理因素均是影響學習效果的主導因素。相對于高中課程,高職程序設計類課程在學習方法上的要求大不相同,使得許多學生很難快速地適應;同時,相對于本科生,高職學生自我約束、自我激勵的能力稍弱,在學習過程中,如果遇到了較多的問題不能及時解決,便很容易產生消極心理,從而放棄課程的學習。因此,在教學過程中,教師應特別注重觀察學生的心理狀況,對學生進行合理的、及時的引導。
高職學生均已成年,針對其心理方面的單純的說教并無太大意義,而在學習方法上引導學生可能是解決其心理問題的一個可行方法。
比如有些學生在學習過程中對每個知識細節(jié)都不放過,因而很容易因為有些障礙跨不過去而產生挫敗感。教師應告訴學生,在剛開始學習程序設計課程時,不一定要每個細節(jié)都弄懂,在一定意義上,少即是多。如果過分關注每一個細節(jié),勢必會給自己的學習之路設置很多障礙,導致學習無法進展下去。學生只需把握老師要求的重點即可,隨著學習的推進,很多問題以后自然而然就會得到解決。
又比如,在上機編程時,常有學生抱怨,老師講的我能聽懂,可就是不會自己編程序。在這一方面,教師可向學生傳授一些方法,引導學生將所學的知識轉化為自己的編程能力。比如,在學習C語言時,教師可這樣引導學生:看別人的程序相當于是看一幢幢用積木搭好的房子,雖然每個房子不同,但使用的積木卻無非是那么幾種,如順序結構、選擇結構、循環(huán)結構、以及各類數(shù)據(jù)結構等。與其說我們在看別人搭的房子,不如說我們在學習若干常用積木的使用方法。熟悉到一定程度,自己根據(jù)需求選用適當?shù)姆e木搭一個簡單的房子就不難了。
2.4 轉變課程考核方式
如前所述,基礎性程序設計課程考核的意義主要在于建立一種有效的全程約束和激勵學生學習的機制,而且這種學習中自主學習應占到相當大的比重。為達到這一目標,可對目前的課程考核方式作如下改變:
1) 平時成績在課程考核中的比重應增大。平時成績主要取決于:在課程網(wǎng)站的學習情況(需要諸多的評測機制支撐,如對學生進入課程網(wǎng)站學習的時間長度進行統(tǒng)計,對學生在課程網(wǎng)站進行自測的情況進行評測,對學生完成課程網(wǎng)站中某一教學單元對應任務的情況進行評測等),課堂考勤情況,課堂參與度,團隊協(xié)作情況,作業(yè)及實驗報告提交情況,等等。建議平時成績占課程總評成績的50%左右。
2) 期末考核方式也應做較大調整??紤]到程序設計課程是實踐性極強的課程,期末考核可由上機考試和筆試兩部分構成,建議這兩種考試都采用開卷的形式,允許學生帶教材、筆記本等資料,但試題難度應較原先閉卷方式下有所增加,以真實地評測學生的課程學習水平。
3 結束語
高職計算機專業(yè)基礎性程序設計課程在專業(yè)課程體系中的重要性是不言而喻的,該類課程的教學也一直是高職計算機相關專業(yè)教學的難點,我們在這類課程教學中,采用以上方法,進行了有益的嘗試,收到了較好的效果。但仍有一些問題值得持續(xù)關注并巧妙解決,如在翻轉課堂模式中,課堂教學活動如何能在按教學目標有序推進和根據(jù)學生情況靈活調整間取得平衡,又如對學生在課程網(wǎng)站的學習情況進行評測如何做到客觀有效等。
參考文獻:
[1] 袁淑玲,徐連孝,李臻,等.分層次教學與案例教學在高職《C語言程序設計》中的有效結合[J].硅谷,2010(21)154,105 .
[2] 張金磊,王穎,張寶輝.翻轉課堂教學模式研究[J].遠程教育雜志,2012(4):46-51.
[3] 張金磊.“翻轉課堂”教學模式的關鍵因素探析[J].中國遠程教育,2013(10):59-64.