前言:想要寫出一篇引人入勝的文章?我們特意為您整理了高校程序設計基礎課程教學改革探索范文,希望能給你帶來靈感和參考,敬請閱讀。
摘要:程序設計基礎課程作為計算機類專業最重要的基礎課程之一,對后續專業課程學習、專業能力培養都有重要影響。傳統教學方式不能較好地調動學生的學習積極性,對學生工程實踐能力的培養不足,難以滿足新工科時代的教育要求。本文探討了該類課程教什么、怎么教、怎么考核等核心教學問題,深入分析該課程當前教學中存在的主要問題,從教學方法、教學內容、實驗設置、考試考核等多方面提出教學改革意見和措施,為該門課程的教學與改革提供思路和借鑒。
關鍵詞:程序設計;課程教學;教學改革;工程實踐;新工科
1引言
《程序設計基礎》對于培養學生的程序設計能力和專業學習興趣及提升專業學習信心等方面都起著至關重要的作用,為后續的數據結構、web應用開發等專業課程學習打下基礎,其核心地位不言而喻。針對師范類院校教育教學的特點和學生的實際情況,通過深入分析該門課程教育教學中各個環節存在的問題和不足,從教學方法、內容、實驗以及考核等全方位進行系統研究和探索,有針對性地提出符合實際的有效措施與建議,對于促進課程教學改革效果、增強專業辦學能力、以及提升學生專業素養都有十分重大的現實意義。
2當前課程教學中存在的問題
師范類高校有其獨特的特點,在教育理念、教學管理等多個方面都不同于工科類院校。在師范類高校開設計算機類工科專業也必然遭遇更多的困難。通過對多年在多所理工類和師范類不同類型高校的教學科研工作經驗的分析與總結,并以《程序設計基礎》課程為例,發現師范類高校計算機類專業的程序設計類課程存在以下四個方面的問題:
2.1教學方法過于“師范化”
程序設計類課程的目標是培養學生掌握程序設計語言基本語法的同時,重點培養學生的算法設計能力和計算思維,培養學生分析和解決實際問題的能力,而傳統的“師范化”講授教學法并不能很好地實現這個目標。大多數學生遭遇“我大概聽懂了,但我還是不知道該怎么寫程序”“書上的例子我明白也會寫,但課后編程題還是太難”這樣一些學習困惑。
2.2教學內容過于“保守”
從教學大綱規定教學內容,到多位教師課程教學過程(聽課)講解的內容均不難發現,當前程序設計類課程教學內容“中規中矩”,教師在教學中以完成大綱要求的常規知識點的講解為目標,再舉個例子對所講的知識點進行簡單演示或說明一下,即完成教學任務。但重新工科要求的角度看,從培養學生工程實踐能力與創新思維能力而言,則遠遠不夠。
2.3教學手段比較“單一”,目標性不強
當前的教學以講授教材內容為主,以上機實驗為輔,通過上機操作鞏固課堂教學的內容,對課堂教學內容進行驗證。這樣學生只能掌握教材上有限的知識,其程序設計能力沒有與實際開發結合起來,用程序設計解決問題的能力沒有得到較好的訓練。
2.4教學考核方式不夠“合理”
根據調研及與兄弟院校的交流討論,為了便于考核和閱卷等相關工作的開展,大多數師范類院校的程序設計類課程依然采用傳統的紙質試卷閉卷考核。其考核內容則是對語法知識點、知識點的簡單應用進行考核,題目方式還是傳統的選擇題、填空題、判斷題等,完全沒法滿足對學生的算法設計、開發調試等方面的考核要求。
3課程教學改革
針對程序設計類課程教學中存在的上述問題與不足,本文將從以下四個主要方面進行探討,并提出相應的改進措施。
3.1以新工科教育要求為標桿,采用多樣化的教學方法
3.1.1案例教學法
課程案例在于精,不在于多。一個優秀的課程演示案例,應該具有以下三個方面的特點:第一,所描述的問題應該與要演示的知識點、技能點鍥合度很高,即該實例中的問題采用所講授的知識技能點來解決非常適合;第二,內容為學生所熟知,或者易于理解,帶有趣味性則更好,能夠激發大多數學生的學習興趣,有助于通過該實例達到對所將知識點的深入理解;第三,跨知識點融合。即涉及多個知識點,除了要演示的知識點外,其他知識點應該是已經學過的,或者是學生已經掌握了的,達到知識點的融會貫通,關聯記憶,讓學生學以致用,達到靈活運用所學知識技能的目的,這樣也有助于提升學生的自信和學習興趣。
3.1.2翻轉課堂教學法
翻轉課堂教學法[1]本質上就是教學過程中要以學生為主體,發揮學生的主觀能動性。該方法以移動學習、慕課(MOOC)[2]等多種靈活的教學方式,讓學生能夠利用課外時間自主地學習教學內容中的基本概念、語法等基本知識。而在課堂寶貴的有限時間內,教師可以與學生進行更具針對性的探究式學習[3]和討論,進行針對實際問題的工程實踐類項目設計與開發,使學生對所學知識有更深層次的理解,能運用所學知識進行問題的分析,并提出可行的解決方案,進而提升學生的工程實踐能力。
3.1.3基于思維導圖的教學法
程序設計基礎課程作為第一門編程類課程,對于沒有經過程序設計思維訓練的大一新生而言,很多內容和設計思想難以理解和掌握。如果按照傳統講授方法,學生很難形成全局整體的認識,重難點也不易把握。一種較好的可行方案是采用基于思維導圖的教學方法[4],對各個分散的知識點進行歸納、總結和提煉,以一種非常直觀的方式呈現那些復雜的、難以理解的教學內容,并突出教學中的重難點,幫助學生構建完整統一的課程知識體系,培養學生的總結與歸納的能力,引導學生進行思維發散。以變量為例。
3.2以計算思維培養為導向,構建豐富的教學內容
上一節解決了課程教學中怎么教的問題,這一節討論課程教學中教什么的問題。即便教師教學能力再出色,如果教學內容單一,也是巧婦難為無米之炊。因此,必須根據課程教學大綱和培養計劃中的教學培養目標,選取恰當的教學內容,重點培養學生的計算思維和邏輯思維,讓教學過程更加飽滿,有血有肉。構建教學內容時,應注意下列兩點:第一,選取適合的優質教材。現今市面上有大量的程序設計類教材,良莠不齊,定位也各有不同。教材是學生最重要的學習材料,教師應該根據實際需要,選取注重計算思維培養[5-6]、適合自己教學需要的教材。第二,在教學過程中,我們選取的教學實例不應該只是展示相應的語法,應該能培養學生的計算思維,引導和培養學生從多角度去思考問題,啟發學生能夠分析和討論其他可能的解決方案或算法,并從內存占用、計算復雜性等方面進行分析或改進,讓學生養成嚴密的邏輯分析和發散的創新設計能力,最終培養學生自主學習、善于學習的能力。
3.3以學科競賽為抓手和檢驗手段,針對創新與應用能力的培養設置實驗環節
互聯網+時代背景下,為培養當代大學生的創新創業實踐能力,以賽促教,以賽促學,國家、各級政府和各類高校十分重視學科競賽。學科競賽是對學生學科專業能力的全方位考驗,注重檢驗學生運用理論知識分析和解決實際問題的能力,可以有效激發大學生的學習熱情,提高其專業學習的積極性。包括ACM國際大學生程序設計競賽、藍橋杯全國軟件和信息技術專業人才大賽等多個賽事在內,與程序設計相關的學科競賽越來越豐富,參與的高校和大學生也越來越多。以此為契機,將學科競賽與課程教學結合起來[7-8],可以實現以賽促教和以賽促學的目的,通過學科競賽來檢驗教學效果和學習效果,進而達到幫助教師改進和提升課程教學效果的目的。在課程教學中,可以直接選取合適的歷年專業競賽真題作為教學內容和案例,甚至作為課程實踐項目對學生進行訓練。
3.4以工程實踐能力為考核目標,采取科學合理的考試考核方式
課程考核[9]是對教師教學效果和學生學習效果的直接檢驗。為了更為準確地考查學生對所學知識的掌握、理解、以及靈活運用的情況,特別是對算法設計及實現的動手能力的考查,有如下兩點建議:第一,不要考查基本概念等識記類內容,要以考查多知識點融合、運用多個知識點綜合運用的方式進行考核。重點考察對知識技能點的理解和運用能力。第二,以考查算法設計為主,給出一些較為實用的偏工程應用的問題,讓學生充分發揮自己的創新實踐能力,通過深入分析,進而綜合運用課程所學內容進行程序設計并編碼實現。從考核上進一步引導和培養學生主動思考、善于分析、長于設計和實現的能力。
4結語
《程序設計基礎》作為第一門編程課程,對大一新生難度較大,但它又是諸多后續專業課程必備的前導課程,在專業能力培養中占據十分重要的地位。本文從教學方法、教學內容、考核方式等全方位進行思考和探索,運用先進的教學方法和技術手段,瞄準新工科背景下大學生創新實踐能力培養這一核心培養目標,進行深入的教育教學改革探索與實踐,希望能為程序設計類課程的教學研究提供有益的參考和啟發。
參考文獻:
[1]岑琴,趙建民.SPOC環境下的C語言程序設計課程教學[J].計算機教育,2019(05):61-63.
[2]李振江.淺談MOOC理念的C語言程序設計課程教學改革[J].計算機與網絡,2018,44(23):46.
[3]荊華.C語言程序設計課程探究式小班教學研究與實踐[J].教育現代化,2018,5(36):124-125+139.
[4]謝方方,謝志英,李艷.基于“思維導圖”的《C語言程序設計》課程教學改革探討[J].軟件導刊(教育技術),2019,18(03):21-23.
作者:王安志 邵云 單位:貴州師范大學 大數據與計算機科學學院