韋萍萍 崔忠偉
摘 要: C語言程序設計思維的養成需要教與學雙方的配合。文章討論了教學中存在的問題,給出參與式教學方式下的教學嘗試、教學評價及教學反饋,實踐證明對學生的學習具有一定的促進作用。
關鍵詞: C語言; 程序設計; 參與式教學; 教學嘗試
中圖分類號:TP311.1 文獻標志碼:A 文章編號:1006-8228(2017)09-64-02
Abstract: The formation of C language programming thinking needs the cooperation between the teaching and learning sides. This paper discusses the problems existing in the teaching, and gives the teaching experiment, teaching evaluation and teaching feedback under the participatory teaching mode. The practice has proved that it can promote the students' study.
Key words: C language; programming; participatory teaching; teaching experiment
0 引言
C 語言程序設計課程是高校計算機專業及部分非計算機專業必修的一門計算機基礎課。它通過C語言的語法規則、結構化程序設計方法的學習,使學生了解程序設計的總體思路,掌握程序設計的基本算法,借助上機實踐操作,逐步培養學生掌握程序設計的思想和方法,使其具備一定的程序設計和程序調試的能力、問題的求解能力和探索創新能力。
由于C語言是學生可能接觸的第一門程序設計課程,對于抽象的程序邏輯無法正確理解,以致于造成程序設計思想錯誤。傳統的教學方法通常在內容上從淺到深,層層遞進,配以實驗實訓,理論上來看是符合教學要求的,但往往學校課堂教學效果并不理想,還比不上培訓學校的教學成果。
1 常見教學改革方法
由于傳統教學方法已不適應當今的教學環境,所以不斷涌現出新的教學方式,主要的教學方法有以下幾種。
⑴ 任務驅動教學[1]
教師對每個知識點設計相應的任務,學生自主選擇任務,圍繞任務展開學習,以任務的完成結果檢驗和總結學習過程,教師根據學生學習情況補充課堂知識,它改變了學生的學習狀態,使學生主動建構探究、實踐、思考、運用、解決高智慧的學習體系。
⑵ “翻轉課堂”
翻轉課堂是教師提前創建視頻,學生在家中或課外自由觀看視頻,在課堂上師生共同交流并完成作業的一種教學形態[2]。
⑶ 參與式教學
參與式教學是一種以學生為教育教學主體,教師組織、設計”活動”的形式,全面調動學生積極參與、創造性學習與發展的教育理念、教育模式,它改變了傳統教學模式以教師為核心的模式,加強了師生之間的討論和交流,充分調動了學生的積極性與主動性,有效地提高了教學質量。
⑷ 慕課[3]
慕課作為一種新型教學模式,以高清晰度的微視頻、高質量的教學文本為核心,輔以交流、答疑等機制,近年來在高校中得以實施,將傳統的課堂向網絡學習遷移,給學生提供了自主選擇的學習途徑。
⑸ “雨課堂”[4]
2016年6月,學堂在線與清華大學在線教育辦公室推出共同研發的教學工具,將PowerPoint與微信結合,課外:使用雨課堂,教師可以將帶有MOOC視頻、習題、語音的課前預習課件推送到學生手機,學生提前預習;課堂上:學生憑借微信加入教師班級,PPT推送到終端,教師實時答題、彈幕互動,為傳統課堂教學師生互動提供了溝通橋梁。
2 教學存在問題討論
新的教學模式的出現彌補了傳統教學模式的不足,但從學生的學習態度、自身基礎等角度來看,其實也存在一些問題。
⑴ “聽得懂,不會做”
掌握C語言,必須從其抽象的程序邏輯入手,只有將基本的程序邏輯弄懂,才能談得上靈活運用,但這恰恰是初學者的一大障礙,相比于模仿、背誦程序段,掌握基本程序邏輯是事半功倍的辦法。若教師的課堂、微課或PPT課件在講解邏輯上不夠透徹,而學生的基礎不夠好,好似聽懂了內容,但真要做題做卻無頭緒,反而需要在課堂下多花時間,重新學習,那課堂的“教”就沒有產生良好效果。
⑵ 學生厭學,無興趣
C語言程序設計是大學生新進校就接觸的計算機課程,通常都以簡單枯燥的運行方式呈現,學生并沒有感受到它的作用,對于非計算機專業的學生,更是覺得難以理解為什么要學,因此學習不積極,作業沒按時完成,或是敷衍了事。
⑶ 缺乏關注
由于班級多數是大班制,課堂時間有限,無論是傳統教學的教師主導地位,還是其他分組討論、實施項目的情形,總有一些學生不能表現自己,得不到想象中的關注,課堂的積極性就會降低。
3 教學思考
“教”和“學”是兩個相輔相存的部分,隨著社會的發展,人類文明的進步,教學重心已慢慢從“教”遷移到“學”,“教”的比重在減少,它的主要任務應著重于基本邏輯講解、重點和難點講解。所有的教學改革都是為了能更好地學,更快地學,理論、實際措施具有科學性,但不能忽略的是,具體實施中每一環節學生的學習效果。因此學生的學習效果評價是教學過程的重要組成部分。
下面討論幾個具體實施環節。
⑴ 夯實基本程序邏輯基礎
以“學”為主的課堂需建立在學生基礎知識良好,具有一定的自學能力情況的基礎之上,而初接觸程序設計的學生,還需要在“教”上下功夫,做好引導。endprint
對于比較抽象的程序邏輯,如分支、循環語句的嵌套,可以采用微課講解或課堂上講解方式。課堂上講解可采用參與式教學,將基本程序邏輯編排在游戲中,小劇本中,讓學生完成、體驗并總結。
游戲充滿趣味,對于提高學生注意力、學習積極性有一定幫助,并且有很多游戲過程、小劇本就象程序執行過程一樣,所以將基本程序邏輯編排在游戲、小劇本中,能讓學生很快理解知識、掌握知識。
示例:講解一維數組的兩層循環結構。
游戲:將全班分成兩個大組,每組選出三個人編號為1,2,3,然后,按編號對應組成三個小隊,每隊依次以三局的石頭剪刀布定輸贏,最終以贏的次數多的小組獲勝。
⑵ 注重過程考核
語法枯燥、邏輯抽象、范例單調是學生失去興趣的原因,期末考試已無法衡量學生學習效果,也無法促進學生的學習。只有將考核分發到一些固定階段或固定的時間,才能起到督促的作用。
以某些需掌握的知識點為單元,以一定的周期如兩個星期,一個月來進行定期、定量考核,能使學生正視當前需要完成的任務,及時解決存在的問題。
⑶ 科學的評價方式
傳統的作業批改、閱卷方式均為手工操作,優點是能人為的發現學生未掌握的知識點,但是費時、費力。現在多數院校采用在線測試系統來進行試驗、課程考核及評價,快速、便捷,學生能反復測試,但是程序設計答案并不一定是惟一的,在線測試系統并不能囊括所有答案,因此某些正確答案無法得分。這會使學生的思維成固定模式,抑制學生的創新,因此可考慮當出現系統里沒有的更佳答案時,學生可以另外提交,由教師人工評分。
4 結束語
通常來講,計算思維包括如何求解、計算機操作過程及機器實現方法三部分[5]。C語言程序設計課程是通過引導學生學習、掌握這種思維方法,有效地將其用于問題的求解,以達到培養他們的計算思維能力[6]。
面向過程的語言,相對于面向對象語言不直觀,入門的知識枯燥難懂,因此普遍感到課程比較難學、編程思維難以轉換,面對問題不知如何下手解決,如果沒有大量的練習,學生的挫敗感、畏懼感會打擊學生學習的積極性。如何能幫助學生解惑、指引,激發學習興趣、調動學習積極性是教師應該解決的關鍵問題。
傳統的課程內容教學,學生對程序設計的全局意識不夠,而引入CDIO思想將會幫助學生理解程序設計。對于不同專業學生的教學,可考慮引入其專業背景下的案例、問題。
參考文獻(References):
[1] 郭銀章,王麗芳.基于項目任務驅動的C語言程序設計課程
教學改革與實踐[J].計算機教育,2017.2:41-44
[2] 孫延靖,王俊麗.《C語言程序設計》翻轉課堂教學改革與實踐[J].
價值工程,2017.8:216-217
[3] 陳娟,張長海,鄧春燕,李河.高級語言程序設計課程的慕課建
設與思考[J].計算機教育,2017.1:9-13
[4] 曾曉晶,樊斌.“雨課堂”在《C語言程序設計》課程中的應用研
究[J].現代計算機(專業版),2017.3:14-17
[5] 梁川.探究C語言程序設計課程中的計算思維[J].信息與電
腦(理論版),2015.11:147-148
[6] 蔣宗禮.計算思維之我見[J].中國大學教學,2013.9:5-10endprint