宋長新+余美
● 概述
C語言是很多高校計算機相關專業的一門重要的基礎課程。其重要性具體體現在:
第一,很多新型的語言都是衍生自C語言,如C++、Java、C#等,所以學好C語言,是將來學習其他編程語言的基礎。
第二,C語言有很多核心課程,如數據結構、操作系統、編譯原理、計算機網絡等,所以不管學生今后想往哪個方向(軟件、硬件、網絡、應用、開發、設計等)發展,都必須掌握好C語言。
第三,C語言能夠讓學生深入系統底層。現在大家所熟悉的操作系統,如Windows、Unix、Linux、Mac、os/2等都是用C語言寫的。因此,如果想真正深入了解這些操作系統,肯定要學好C語言。
● 教學現狀
C語言是一門邏輯性和實踐性都很強的課程。目前很多學生,特別是邏輯性不強的學生,學起來很吃力。主要原因在于:
一是填鴨式教學。由于高等教育基本上是在有限的課時里完成教學任務,所以課堂上的教學基本上是教師“滿堂灌”的填鴨式教學,師生互動性差,學生的學習主動性也差。
二是注重語法教學,忽視編程實踐的引導。雖然C語言是一門實踐性很強的編程語言,但教師安排的機房時間卻很少,教師大多數時間都在進行基礎語法教學與簡單的算法教學,這樣就忽視了學生的編程實踐教學,導致學生對教學實踐不夠重視,往往一堂課草草了事。
三是課外練習安排不合理。目前,很多教師都沒有安排課外練習,雖然有些教師布置了課外的作業和預習,但是他們也無法實時監督學生的練習結果,這樣使得學生的學習還是存在一些困難。
● 基于云平臺的C語言課程的敏捷教學實踐
敏捷開發是一種以人為核心的,迭代、循序漸進的方法。開發團隊首先開發一個可使用版本的產品,然后在每次迭代中,他們從開發需求池里挑選最有價值的需求進行開發。
1.采用云平臺的教學方式
編程云平臺具有教學功能、預習功能、作業功能及學生管理功能。因此,編程云平臺的選擇是本次教學實踐的關鍵。目前幾種流行的教學模式對比如左表所示。
在利用編程云平臺進行教學的過程中,教師邊講授知識點,邊現場演示代碼,學生則能在自己的學習空間里進行相應的練習,在練習的過程中遇到任何問題都可以及時求助教師,得到一對一的答疑。這樣的形式不僅能讓學生直觀地接受、理解要學習的知識,還能使其在練習中發現問題并及時解決問題,從而提高學習成就感和學習興趣。
編程云平臺的課外練習包括課前預習和課后練習。這兩種課外練習在編程云平臺上都可以設置發布時間和完成時間。教師將課外練習任務發布到學生端后,學生可以及時收到任務;學生提交答案后,教師能即時查看學生的完成狀態和反饋情況。
敏捷開發的核心:以最簡單有效的方式快速達成目標,并在這個過程中及時地響應外界的變化,做出迅速的調整。
核心價值觀:以人為本、目標導向、客戶為先、擁抱變化。
在編程云平臺的設計中,其教學過程和課外練習實踐過程都利用了敏捷開發的思想。
2.云平臺的教學過程——邊講邊學邊會
由于編程云平臺采用敏捷思想,每一個知識點的學習即為一個小的任務,一個章節的學習即為一個任務列表,所以在編程云平臺上對每個知識點的教學采用的都是邊講邊學的教學方式,從而最終實現邊講邊學邊會的教學生態。
編程云平臺有知識點區域、教師代碼編輯區域、實驗題目區域、學生代碼編輯顯示區域和學生列表區域五個區域。教師在講解知識點的過程中,可以用實驗題在線進行相關知識點的教學和演示。在線的學生可以在學生代碼編輯區域進行代碼編輯,完成相應的知識點學習。
編程云平臺還在學生的學習界面上配備了求助功能。學生在學習過程中,有任何問題可以向教師求助,教師只要進入相應學生的代碼空間,即可對學生實時進行一對一的輔導。
3.云平臺的課外練習實踐——個性化教學的關鍵
在一個知識點的學習過程中,課前預習和課后練習都非常重要。要想使教學更高效,學生能即講即學即會,就需要進行課前預習和課后練習的鞏固。預習布置界面和作業布置界面如圖1、圖2所示。
在這兩個過程中,教師能及時查看到學生的預習情況和作業情況,從而對相應學生調整教學方案。在這樣的教學過程中,教師不是一味地進行統一的灌輸式教學,而是根據相應學生的學習情況有重點地進行教學,基礎好的學生可以進行進階式指導,基礎差的學生則可以進行基本教學,這樣就能使每位學生邊學邊會。
● 結語
C語言是學習計算機語言的基礎。實踐證明,基于編程云平臺的C語言敏捷教學方式,能實現個性化教學方案和邊講邊學的敏捷教學模式,從而達到邊講邊學邊會的教學生態,幫助教師提高教學效率,促進學生學習并成長。