前言:想要寫出一篇引人入勝的文章?我們特意為您整理了程序設計基礎課程中講練評教學模式范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:針對“程序設計基礎(C)”課程教學中學生能聽懂課,但動手能力差,編程能力弱等問題,提出教師通過課堂“講”的設計,讓學生先“學會”用計算機解決問題的方法,設計有針對性、趣味性和多層次的“練”,通過多元化考核的“評”,使學生能學得輕松,樂于練習,達到培養(yǎng)與訓練學生利用計算機解決問題的能力,提升教學效果。
關(guān)鍵詞:多元化考核;講練評;教學改革;程序設計基礎
一、“程序設計基礎”課程教學中存在的問題
盡管程序設計語言已盡量地靠近人們所熟悉的數(shù)學、生活等,但程序設計中包含著學生陌生的思維方式。不恰當?shù)慕虒W過程不但使學生對計算機產(chǎn)生距離,也使其不能夠正確認識計算機,更談不上較好地運用計算機解決專業(yè)問題[3]。因此,如何在有限的課堂教學中利用教學設計“講”好這門課,結(jié)合上機實習、課堂和課下的“練”,平時和期末的“評”,培養(yǎng)和訓練學生利用計算機解決問題的能力是教學方法改革應該思考的問題。對非計算機專業(yè)的學生來說,學會計算機語言的語法和算法沒有問題,但要應用所學內(nèi)容,去分析問題、解決問題還是有一定的困難:“能聽懂、能理解,但就是不會獨立編寫程序,做題有困難。”這是學生學習這個課程的感覺,如何解決該問題,是程序設計基礎課程教學所面臨的挑戰(zhàn)。筆者以非計算機專業(yè)的通識類課程“程序設計基礎(C)”為例,說明通過教學方法和手段的改革,即在該課程中依靠課堂的“講”,讓學生能學得輕松,激發(fā)興趣;課上和課下練習的巧設計,讓學生的“練”促進和鞏固教學,使用多元化考核的“評”,調(diào)動學生學習的積極性,最大程度地培養(yǎng)、訓練學生分析問題,用計算機解決問題的思維方法和技巧。
二、教學改革方案和教學活動的實施
(一)教師的“講”
對于很多將來不從事程序員工作的非計算機專業(yè)學生來說,并沒有意識到程序設計課程與他們專業(yè)之間的密切關(guān)系,認為工作后編寫程序的機會很少,不知道為什么要學習這門課,從而缺乏學習的主動性和探索創(chuàng)新的能動性。教師在第一節(jié)課時就應該給學生講清楚學習這門課的意義,使他們明確學習程序設計課程的目標和重要性。就像學生學習數(shù)學、物理課程并不是要成為數(shù)學家、物理學家或者將來要從事這方面的工作,而是通過這些課程的訓練養(yǎng)成科學思維的素質(zhì)和能力一樣,雖然計算本身也是一門學科,但是其具有促進其他學科發(fā)展的作用[4]。21世紀科學上最重要的、經(jīng)濟上最有前途的前沿研究都有可能通過先進的計算技術(shù)和計算科學而得到解決。所以,學習計算機、理解利用計算機解決問題的方法,對于學生研究本專業(yè)的問題、解決本專業(yè)領(lǐng)域中的問題和創(chuàng)新有重要意義。課堂學時有限,如何最大限度地利用這些時間讓學生學明白、學輕松、感興趣,教師的課堂設計、互動和案例是重要的環(huán)節(jié)。課堂教學是整個教學活動的基石。程序設計基礎課堂教學需要注意以下兩點。首先,通過課堂教學讓學生“學會”計算機解決問題的方法、技巧??梢圆捎脝l(fā)式教學,即在課堂上制造懸念,拋出問題來引導課堂教學,以引導學生解決問題為主線,對每節(jié)的教學內(nèi)容做好教學設計,對每個知識點的內(nèi)容設計好問題,用問題引出要講的內(nèi)容,以引起學生的思考,從而融入、參與到課堂中來,調(diào)動學生學習的積極性。依據(jù)學者馬扎諾的學習認知過程理論[5],積極性將激發(fā)思維訓練者內(nèi)在的認知動力,將促使控制學習的自我系統(tǒng)調(diào)度工作,主動參與到認知建立過程中。其次,提供并在課堂演示與學生所學知識層次相當?shù)木C合類案例程序,以達到提高和升華知識的目的。好的案例可以拉近學生與實際開發(fā)環(huán)境的距離[6],讓學生感覺到學能致用,既可以達到吸引學生注意力的目的,又可以使學生深刻領(lǐng)會相關(guān)的程序設計原理。例如,在學習完《程序設計基本結(jié)構(gòu)》章節(jié)的知識后,提供“基因信息處理”的綜合案例程序:有歡迎界面、簡單的菜單,實現(xiàn)的功能:(1)DNA序列的處理:計算序列的長度;堿基A、T、C、G所占百分比;輸出該序列所對應的另一條單鏈。(2)RNA序列的處理:計算序列的長度;堿基A、U、C、G所占百分比;輸出轉(zhuǎn)錄該序列的DNA序列。(3)未知序列的處理:判斷該序列的類型(DNA/RAN/UNDETERMINED)(若U為0%,則是DNA;若T為0%,則是RNA;若U、T都為0%,則為UNDETERMINED)。圖1各章節(jié)綜合案例設計在《數(shù)組》章節(jié)后提供“抽獎嘉年華”或“點名程序”的綜合案例程序,程序有歡迎界面,程序運行時讓參與抽獎或點名學生的姓名在屏幕上反復滾動,當按下任意鍵后抽出一位學生,如果要繼續(xù),按提示操作,繼續(xù)上面過程,也可以選擇退出,不再進行抽獎或點名,最后將所有抽中學生的姓名顯示在屏幕上。在《指針》一章提供“括號匹配問題”的案例程序,功能:從鍵盤輸入一串由括號組成的字符串,判斷各個括號之間是否匹配,如:([]())、[([][])]、[(]),若匹配,輸出“括號匹配”;若不匹配,輸出不匹配的類型:左右括號類型不同;左括號多余;右括號多余等。《函數(shù)》章節(jié)后提供“擲骰子游戲”的案例程序,功能:模擬擲骰子的游戲(兩個骰子)。第一次擲的時候,如果點數(shù)之和為7或11則獲勝;如果點數(shù)之和為2、3或12的時候則落??;其他情況下的點數(shù)之和稱為“目標”,游戲繼續(xù)。在后續(xù)投擲中,如果玩家再次擲出“目標”點數(shù)則獲勝,擲出7則落敗,其他情況都忽略,游戲繼續(xù)進行。每局游戲結(jié)束時,程序詢問用戶是否再玩一次,如果用戶輸入的回答不是y或Y,程序會顯示勝敗的次數(shù)然后終止。在《結(jié)構(gòu)體、共用體》章節(jié)提供“維護通訊錄數(shù)據(jù)庫”的案例程序,《文件》章節(jié)提供“打字練習系統(tǒng)”案例程序等。這些綜合類的程序案例可以提高學生學習的興趣,使學生用現(xiàn)階段所學的知識讀得懂程序,領(lǐng)略綜合程序的風采,學會規(guī)模逐漸增大的系統(tǒng)程序,感受和領(lǐng)悟利用計算機求解問題的基本方法和思維模式。
(二)多層次的“練”
程序設計課程具有較強的實踐性,要用計算機解決一個問題,從問題分析、設計算法到程序?qū)崿F(xiàn),必須通過實踐操作才能加深理解和應用所學知識。建立與課堂教學配套的練習題,按照教學大綱對每個章節(jié)知識點掌握的要求,呈階梯分布,指導學生通過練習去熟悉并記憶C語言的語法,并能夠發(fā)現(xiàn)問題、提出問題和分析問題,深入理解這些知識點的具體應用方法和技巧,從而掌握和應用每章節(jié)的知識點。課堂練習是教學中的重要環(huán)節(jié)。例如教師在講完一個算法后,給出一個命題,命題可以是與該算法相近的算法問題或該算法的應用問題,讓學生應用講過的算法和方法,在草稿紙上寫出自己設計的程序,同時請兩個學生在黑板上展示自己的程序,給來黑板上展示自己程序的學生以2分(或更多)的平時成績作為鼓勵,待學生們都寫完程序后,教師可以對黑板上學生的程序(即“活生生的例子”)進行分析和點評,學生可以對照找出自己的問題。課堂有參與、有體驗,學生就不會感覺枯燥、無聊而打瞌睡,通過教師的點評,對照別人的程序和自己的程序,學生也可以理解一個問題的求解方法并不是唯一的,了解評價算法效率的方法等。將課堂接受知識的模式轉(zhuǎn)變?yōu)閼媚J剑@個過程是學生從學到知識到會編程序的重要一環(huán),不能因為課堂時間有限而讓學生去課下練習,可能會有部分學生沒有練習或沒有及時練習,導致課堂所講的內(nèi)容沒有鞏固,再過一段時間去做同類型的題目時,學生就有生疏感或感覺困難。所以設計較好的課堂練習是使學生從學會知識到會應用知識編程序轉(zhuǎn)變的墊腳石,教師應很好地利用課堂練習環(huán)節(jié)。課下的練習設計為具有層次、趣味性的練習。OJ(OnlineJudge)系統(tǒng)是一個在線判題系統(tǒng),學生可以在線提交程序源代碼,系統(tǒng)對源代碼進行編譯和執(zhí)行,并通過預先設計的測試數(shù)據(jù)來檢驗程序源代碼的正確性。OJ系統(tǒng)中的程序設計練習題的質(zhì)量是該系統(tǒng)的靈魂,是該系統(tǒng)吸引學生或用戶前來練習和挑戰(zhàn)的法寶。OJ系統(tǒng)設計具有層次性,知識點分布合理、綜合性和趣味性的程序設計題和相應的測試數(shù)據(jù)是訓練學生利用計算機解決問題的保證。練習題分為基礎訓練、能力提高和綜合應用三個層次。針對學生學習能力差異性的特點,每章的練習題規(guī)劃為基本篇和提高篇,綜合題可根據(jù)情況設置?;酒獌?nèi)容是對理論知識的基本實踐應用,要求每位學生必須完成,對系統(tǒng)中的基礎練習題目做到勤更新,在選題上應選擇具有趣味性的題目,激發(fā)學生對程序設計的興趣;提高篇內(nèi)容是對所學知識點的擴展、延伸應用,供學有余力的學生選做。設定相應的獎勵機制,如為提高篇題目設定比基礎篇題目較高的分值,而綜合應用題目的分值更高,所有題目均本著趣味性和實用性的原則設計,讓學生樂于思考,激發(fā)學生在課堂上主動接收獲取知識的能動性。以知識需要驅(qū)動課堂學習與思考,達到培養(yǎng)和訓練程序設計能力、運用所學知識解決實際問題的能力。
(三)多元化考核模式的“評”
課程的考核可采用多元化考核模式,學生的最終成績由平時成績和終期考核成績組成。平時成績的組成有隨堂測試、作業(yè)和課堂點名及回答問題。隨堂測試可按教學周進行,也可按章節(jié)進行,題目可以是課堂講過的例題,練習過的題目或相似的題目,出10—20道,用excel在每個人名下產(chǎn)生從1到出題個數(shù)的隨機數(shù),即隨機抽一道題,每個學生只做一道題,即抽中的題目,10分鐘內(nèi)完成交卷,這樣可以防止學生座位距離近,互相抄襲,也能防止學生只會一道或某幾道題也能通過考試。隨堂測試前可告知學生考試時間,甚至內(nèi)容,旨在督促學生課后及時復習、消化和應用所學內(nèi)容,為后繼學習打下良好基礎,也可避免學生平時不學,考試前突擊的現(xiàn)象。每章節(jié)布置編程作業(yè),前三章基礎知識部分需要記憶和學習的細節(jié)較多,可以布置紙質(zhì)作業(yè),要求學生先在紙上編寫,實習時上機調(diào)試,如有問題,改正后標在紙質(zhì)作業(yè)上,并做好實習筆記,在回看或復習時可以起到提醒的作用,培養(yǎng)學生良好的學習、編程習慣,后面章節(jié)的作業(yè)程序可以使用OJ系統(tǒng)的題目,以訓練學生嚴密的邏輯思維和設計、調(diào)試程序的能力。終期考核成績有兩種方式,可由學生自由選擇,一種是參加學期末的上機考試,另一種是免試,但需要滿足下面的條件:(1)認真參與完整的教學活動(聽課、參加隨堂測試、完成作業(yè))。(2)提交一個自己編寫的與本專業(yè)有關(guān)的系統(tǒng)程序(或自己感興趣的某方面的系統(tǒng)程序,約300行),并就此問題有完整的文檔(老師提供文檔模板),并且在小范圍內(nèi)進行報告。在完成系統(tǒng)期間可找教師指導,教師根據(jù)完成情況打分。(3)有整個課程完整的筆記(手寫,包括預習筆記,聽課筆記和實習筆記)。(4)提交一篇總結(jié)。申請免試的學生也可以參加期末考試,最終成績?nèi)∽罡叻?。這種多元化考核方式在本校理工類非計算機專業(yè)的學生中實行以來,受到學生的認可和推崇。平時的考核可以幫助學生正確認識和評價對知識的掌握情況,及時調(diào)整學習方法和時間。設計開發(fā)中型系統(tǒng)程序需要較全面的程序設計基礎知識和能力,需要在學習和生活中去探索、思考,發(fā)現(xiàn)用計算機知識及技能去解決專業(yè)或生活中面臨的實際問題的契機。對學生來說,帶著需求去學習,有助于提高學習的主動性和積極性,提高自主學習的能動性,促進探究式學習和拓展創(chuàng)新能力。經(jīng)過精心的教學設計,以教師的“講”為引導,以經(jīng)典和綜合類案例為基礎,以多層次、具有趣味性和挑戰(zhàn)性的練習題目為保證,以多元化考核為手段,讓學生學會用計算機解決問題的原理、方法和技巧,初步樹立用計算機求解問題的意識,認識到計算機對于人的優(yōu)勢和局限性,提升學生的信息素養(yǎng),達到培養(yǎng)和訓練學生利用計算機解決問題的素質(zhì)和能力的目的。
作者:王娟勤 孫健敏 陳勇 單位:西北農(nóng)林科技大學