陳群賢
【摘要】C++程序設計已成為高校計算機專業的一門專業基礎必修課,因該課程內容較抽象,學好它并不簡單。本文從課堂教學方式、實驗教學方式、考核方式等方面介紹一種能較好激發學生學習C++程序設計興趣的教學方法,值得教編程類老師們學習和借鑒。
【關鍵詞】全年滾動式教學培養計劃 實驗驅動的課堂教學模式 競技式考試模式
【中圖分類號】G642.4;TP312.1-4 【文獻標識碼】A 【文章編號】2095-3089(2017)08-0021-01
C++程序設計是眾多高校計算機專業的必修課,該課程的特點是語法繁多、內容抽象,學生普遍反映難以理解和掌握。為了激發學生的學習積極性,達到理想的教學效果,讓學生領悟和掌握C++編程語言的精髓,要求任課教師在教學中根據本課程教學內容的特點,確定切實可行的教學和考核方式。
一、課堂教學——實驗驅動的方式
課堂教學內容分Part1、Part2、Part3三部分,第一學期進行Part1和Part2的面向過程教學,第二學期進行Part3的面向對象教學。
傳統的C++課堂教學方式是先理論再實驗,先在理論課上介紹各節的主要知識點,然后把各知識點融入到例題中進一步講解,課后布置作業和實驗題。學生在實驗前預習實驗題,實驗課上編寫程序并進行調試。這種教學方式老師似乎是課堂上的唯一主體,容易引起學生上課參與度不夠,學生上課注意力不集中的現象,課堂教學效果不理想。
為了激發學生的學習興趣、提高課堂教學效果,本文介紹一種采用實驗項目驅動[1]的課堂教學方式。該教學方法是實驗之前講解最基本的知識點,然后就布置實驗題,學生就在ACM系統上進行實驗。ACM系統中可以看到每道實驗題的全部要求,包括功能要求、輸入描述、輸出描述、輸入模版、輸出模版。根據實驗題要求讓學生進行上機實驗,等實驗完成后回到課堂中解答同學所遇到的各種問題。理論課時老師先給學生展示一個最精煉的代碼,然后把這個代碼一步步松散,松散到學生完全理解為止。對一道題老師自身要有好幾種編程方法,結合程序把解法、C++教材中的知識點講解出來。在程序的講解過程中讓學生全程參與進來,學生不斷的提問,老師不斷的解答,寬松互動。課堂授課以實驗內容主導,聚焦分析和設計方法,深化理解,便于把握師生互動,課堂氣氛活躍。整個課堂教學可以做到在應用中學習,從而避免了枯燥的理論說教,不僅能增進學生的學習興趣,而且對提高學生綜合分析和解決實際問題的能力也大有幫助,起到較好的教學效果。
二、建立新穎實驗系統——競技式實驗形式
競技式實驗形式的特點:ACM是多個人一起做題,實驗大量代碼是公開的,當編程遇到瓶頸的時候可以適當借鑒其他同學的代碼,有借鑒的話更能提高激情去解決新問題,學生之間越融洽,越有一個大的學習氛圍環境對學習越有好處、越有幫助,實際上是團隊合作精神在那里起作用。但不許同學之間互相拷貝和抄襲,平時實驗互相拷貝和抄襲的話考試肯定不及格。因為考試時每道題都是全新的問題描述與要求,須獨立解決,假如平時一直依靠其他同學的話考試肯定過不了。
競技式實驗形式的作用:培養獨立分析問題解決問題的能力;培養團隊合作,多角度鍛煉學生能力與素質;實驗形式變得緊張、刺激、趣味、激發強烈的求知欲;機改與輔導配合,后進生追補與冒尖生暢進并舉,內外實驗效果顯著。能充分挖掘學生的自主學習動力和能力,提高教學效率[2]。
三、考核方式——競技式上機考核與理論考核相結合
傳統的C++課程考核方式:期中理論測試占20%,期末實驗測試占20%,平時實驗和作業占10%,期末占50%。注重過程考查,顧全到全體學生,考試題型難度不超過平時實驗和作業的難度,但沒能做到每道題都確保為全新的問題描述與要求,所以較難發現和培養冒尖生。
競技式考核方式:第一學期采用競技式開卷考試方式,考試時間為2.5小時,考試時實驗室通過校園網訪問實驗系統,單擊調試、代碼提交,機器判提、實時排名。題型結構,難度不超過平時實驗的難度,但每道題都確保為全新的問題描述與要求,須獨立解決,每次考試題數在8-10道不等。成績評定,4題為及格底線,按每題10分劃分數線。
第二學期的考試形式,書面閉卷2小時。題型結構,知識要求部分包括單項選擇題和是非判斷題,能力要求部分包括理解操作題和分析設計題,其中理解操作題包括看程序寫結果、改寫程序結構、根據流程圖或算法流程寫出代碼、根據代碼寫出流程圖、對給定代碼按一定要求優化。成績評定,平時成績占50%,檢驗編程的框架組織,調試代碼的數量;考試成績占50%,考核程序設計知識體系的把握程度。
在教學過程中根據學生的實際情況適當的采納本文介紹的課程考核方式,進一步提高學生學習編程的興趣和積極性。
四、充分發揮教師上機輔導的積極性,利用ACM平臺,達到理想的教學效果
ACM是一種講故事式的做題實驗平臺,能很好的激發學生的學習興趣和求知欲。在激發的過程中,學生可能也會受到挫折,抵不住挫折還是不行的,比如在實驗時,一個編譯關過不了,檢查不出錯誤,這時假如老師沒有及時給予幫助的話,他會受到很大的挫折。在他受挫折時老師在旁邊能夠給他一援手,這是很重要的,所以只有那些實驗輔導兢兢業業的老師他的教學效果才會較為完美的發揮。所以在實驗時作為老師我們要一直呆在學生中間,當他們遇到問題自己努力了還無法解決時我們要及時給予幫助,這樣可以很好的保護好學生們的學習積極性,達到良好的教學效果。
五、巧妙運用ACM/ICPC理念,開拓“全年滾動式教學培養計劃”,激發學習興趣
《C++程序設計》課程教學理念升華為“知識、能力、素質”三位一體,促全方位人才培養,在課程教學中,以激發學習興趣為一切教學手段的核心目標。
教學理念的提升,學習不是為了學習而學習,而是把學生培養成真正有能力、有用的人才,那必然要涉及到知識、素質和能力,三個方面綜合去考慮和培養,具體手段開動了一個全年滾動式教學培養計劃。
全年滾動式計劃激發學生學習興趣,實際內涵是教學貫穿全年,每一屆學生學C++一年,在學一年的時間中有ACM活動穿插、編程和技巧的選修課、編程培訓,寒暑假都包括進來,時間上基本無間隙,內容很豐富。ACM的訓練活動讓精品學生報名參加,學生真要提高是有很多渠道的,能充分享受ACM訓練的樂趣,也有機會脫穎而出,就業也會看好。老師把ACM的優秀學生推薦到自己掛鉤的單位去,這樣學生會得到更多的機會去實踐和提高。
六、結束語
要教好C++程序設計課程,首先教師得深刻領悟ACM/ICPC理念,在此前提下采用實驗驅動的課堂教學方法,采用新穎的競技式實驗系統將競技式上機考試貫徹到底,開拓全年滾動式教學培養計劃,充分激發學生的學習興趣,達到良好的教學效果。
參考文獻:
[1]李高杰.任務驅動式教學在計算機軟件教學中的應用探析.無線互聯科技,2013(8):230.
[2]陳晉音,俞山青,毛國紅.面向C++程序設計課程的翻轉課堂教學改革.計算機教育,2015(19):39-44.