楊旭鵬 劉付勇 方雪欣
新疆科技學院信息科學與工程學院 新疆庫爾勒 841000
為深化工程教育改革,建設工程教育強國,教育部積極推進新工科建設。在新工科建設中,要求專業基礎課程要發揮自身優勢,在教育教學改革中起到排頭兵的作用[1]。“C語言程序設計”在大學理工科專業教學過程通常是一門專業基礎課,同時也是一門鍛煉學生創新能力和實踐能力的應用型課程。本課程的主要目標是培養學生通過程序語言來分析和解決實際生活中問題的能力,進一步提高學生工作以后的項目實踐和算法設計能力。
“C語言程序設計”是面向大學一年級所有專業學生開設的通識類思維教育課程,作為實現創新思維和創新能力培養的核心課程之一,在大學生的知識體系中占有重要地位。對于信息類相關專業的學生而言,程序設計是專業基礎知識,是進一步學習其他專業知識的起點。對于非信息類專業的學生而言,通過程序設計課程的學習,有助于理解計算機的核心原理和解決問題的基本步驟,從而能自覺地將計算機技術和專業領域問題相結合,為專業領域問題的解決提供一種更好的解決思路和解決方法[2]。“C語言程序設計”作為低年級本科生初次接觸的程序設計語言必修課程,在學習的過程中必定會存在許許多多的問題,特別是在程序設計邏輯思維方面有一定的難度,而這一點是程序設計必須具備的基本要素,而在傳統的課堂教學模式中,授課教師重點只放在講述“C語言程序設計”基本語法、句法、數據類型等知識點,教學過程中忽視了學生邏輯思維的培養,這樣一來對后續課程的學習沒有打下堅實的基礎。另外,“C語言程序設計”這門課其實主要是圍繞C語言數據類型、語法特點這一主干線來講述的,因此要學好C語言就必須讓學生知道C語言各種數據類型在內存中的表示形式及處理過程,只有這樣才能夠讓學生真正領會和使用C語言來解決實際應用問題。因此,本文結合新工科建設的理念和要求,提出以學科競賽為載體項目式教學模式,有效改善了C語言教學效果,提高了學生的學習動力和實踐能力。
在教學過程中首先遇到的問題就是大部分學生會對“C語言程序設計”產生一定的畏懼心理。主要是因為大學里C語言程序設計一般作為低年級理工科專業本科生初次接觸的程序設計語言必修課程,此時,學生剛進入大學階段,需要一段時間適應新的學習狀態,不同于監督性較強的高中階段,大學更多的是依靠自己的自律能力,因此缺乏了對學生的監督,導致學生會存在一定的惰性。其次,“C語言程序設計”對學生來說是一門全新的課程,學習內容與方法和以往高中的學習有很大的區別,理解過程中有一定的困難。C語言正如它的名字一樣,是一種語言,只要認真去學,理解它的思維,學好就變得很容易。學習編程一定要多動手,不能只看不練,C語言是一門實踐性很強的課程,只有獨立地去敲一遍代碼,才能體會其中的精髓,才能理解每一步的由來,進而慢慢養成C語言的邏輯思維,學習C語言時也要努力地學好其他課程,因為其他的課程對于輔助學習C語言也很有幫助,尤為重要的是高等數學和英語。同時有興趣可以了解一下數據結構和算法,該課程對學習任何一種語言都至關重要,同時可以為以后學習其他語言打下基礎。總之,建立興趣與自信是學好每一門課的關鍵。
“C語言程序設計”課程作為一門實踐性很強的計算機基礎課程,它不僅有利于提高學生的編程能力、思維能力,培養學生的實際動手能力和創新能力,也將對學生日后深入學習計算機專業知識有很大的幫助。而在傳統的教學過程中,由于一些客觀條件的限制使得學生上機實踐能力欠缺。師生之間對程序編寫過程中出現的問題不能及時地溝通,加上C語言本身就具有一定難度,很容易使學生感到厭倦,無法產生濃厚的學習興趣。任何教學方法只有在一定的條件下才會顯示出優勢或不足,任何一種教學方法都有其適用范圍[2]。要教好一門語言的實踐課,關鍵在于激發學生的學習興趣,讓學生主動、愉快地學習,滿足他們的求知欲,這樣才能取得良好的教學效果,這也是教師以后的教學工作的一大目標。
創新人才培養模式著力培養學生的創新意識和實踐能力,是黨和國家對高校本科教育教學工作的重點要求。學科競賽是創新人才培養的重要載體,對全面提高學生的綜合素質、培養學生創新能力、提高教學質量、促進高校教育教學改革具有獨特的和不可替代的作用。學科競賽內容通常都具有一定的應用背景或項目背景,內容廣泛,綜合性強,往往涉及多個學科領域的知識,參賽團隊往往是多個專業或幾個學科學生的集合。我校在藍橋杯軟件和信息技術專業人才大賽、全國大學生電子設計大賽、全國大學生計算機設計大賽、全國大學生信息安全大賽等競賽活動中,積極鼓勵、引導學生跨學科、專業和年級組隊參賽,以促進學科知識的應用、交叉與融合;同時,鼓勵更多的學生參與進來,直面有應用背景和應用潛力的實際問題,達到鍛煉和提高實踐能力的目的[3]。參賽的過程就是學生獨立分析問題、解決問題的能力得到了鍛煉和提升的過程,參賽者在這一過程中積累了寶貴的人生財富。
項目式教學是一種以學生為中心,結合理論與項目實踐的教學方式。對C語言課程程實施項目式改革,通過項目實踐的方式完成學習任務,更有利于理論與實踐的結合,提高學生的自主能力和學習興趣。項目式教學突出了學生的主體地位,切實做到以學生為中心,強調學習的主動性與探索性[3]。學生完成項目的同時,可以根據項目的實踐提出新的創新點,由簡單項目到復雜項目,學生一步一步提升自己的能力,提升了學生分析問題和解決問題的能力。
基于項目式的教學方式的本質是屬于探究式的教學方法,對理論教學效果的提升具有很重要的意義。利用項目實訓操作,將基礎理論知識點與項目實踐緊密結合,引導學生以項目實踐需求為目標,培養學生學習相關知識的積極性,探索合理的解決方案。學生通過解決實際問題會有很大的獲得感,從而激發學習熱情。項目教學的核心目標主要有以下幾點[4]。
整合學習內容與學習目標,培養學生的綜合能力。每個項目都有一個明確的主題以及真實而具體的情境,學生圍繞該主題展開探究,在活動中圍繞項目主題構建起新的知識體系,掌握一定的技能,并且在項目結束時產生相關的作品。在探究過程中可能需要綜合利用多學科或多領域的知識和技能來解決問題,并且還需要通過學習書本知識、考察調研等多樣化的途徑來完成任務。項目式學習的強大功能在于能夠使教師統合多種學習目標,不但包括課程內容的學習,還包括具體技能和思維習慣的養成。項目式學習也強調學生的個性化學習。項目式學習必須充分考慮學生的興趣、特長,只有當學習的話題、內容與學生的實際生活和興趣點相契合,才能促進真實學習的發生。在小組的合作學習中,每個學生都積極主動地去探索、嘗試,這有利于學生發揮特長,有助于培養每個學生的責任感與協作精神,使其體驗到個人與集體共同成長的快樂。
以學生為中心,強調學生的合作學習與個性化學習。項目式學習中“學”的本質是以學生為中心的學習[5],在項目式學習中,學生是自己學習的決策者,學生直接參與學習過程,從收集信息、制訂計劃、選擇方案、實現目標、反饋信息到評價成果,通過問題的解決和任務的完成,主動構建自己的知識。團隊協作是項目成功的關鍵。在項目式學習中,合作學習是必要的,也是重要手段。在以個體為主的獨立學習和獨立思考的前提下,項目式學習要求團隊成員取長補短,在互相幫助和共同分享中完成多樣化的學習,為了共同的目標協同努力,既分享自己的智慧,貢獻自己獨立學習的所得,又能在合作中汲取營養,完善自己的知識體系,形成知識建構。學會合作學習是項目式學習的重要能力,比如,學會傾聽、解決分歧、管控沖突、適當妥協、合理存疑、換位思考等,這些都是合作學習中非常重要的情感品質。
以教師為輔助,重在發掘和調動學生的潛力。在項目式學習中,教師的角色是多重的,在項目過程會有不同的角色:領導、管理者、教練、觀察者、促進者。教師最重要的是能夠發掘和調動學生的互動和潛力,促進學生的自主學習和合作學習。教師應能科學地設計項目,幫助學生創建或調整一個項目,設計項目時要允許學生有選擇的自由,同時要確保項目與課程標準的一致,把項目式學習貫穿在教學活動的全程,確保學生能參與到學科的核心概念與原理的學習中,確保項目活動本身就是教學的中心。教師要能為學生的學習提供支架,與學生一起參與學習和創造,判斷學生在項目研究過程中的不同需求,能使用各種課程、工具和教學策略來支持所有學生實現項目目標。教師也要參與到項目管理中,與學生一起組織任務和時間表,設置檢查點和截止日期,找到和使用資源,創建產品并將其公之于眾,還能采用基于表現的評價方法評估學生的學習,考核學生綜合運用知識與技能、解決實際問題的能力,鼓勵學生對自己的學習成果、自學能力、管理能力、合作精神等進行客觀的自我評價,總結自己的體驗;鼓勵學生之間進行相互評價,促進對教學目標、學習過程和學習成果的反思。教師也要幫助建設有利于項目式學習的文化氛圍,促進學生的協作交流,形成健康積極的學習共同體。
“以賽促學”是指通過參加學科競賽,有效地提高學生的學習質量,從而促進學生努力完成學習任務。隨著國家對程序設計人才培養的重視,與程序設計相關的學科競賽受到廣泛關注,藍橋杯全國軟件和信息技術專業人才大賽屬于全國高校一類學科競賽,是教育部《全國普通高校學科競賽排行》榜內競賽項目[6]。競賽旨在提高學生程序設計創新能力與解決實際問題的能力發現優秀的計算機專業人才,實現以賽促教、以賽促學、以賽促改、以賽促創,引領并促進全國程序設計教學改革與人才培養。作為轉設為公辦本科院校不到兩年的本科高校,新疆科技學院在各大程序設計競賽中獲獎數量顯著,組織學生參加藍橋杯的比賽也取得了較好的成績。2021年獲得了藍橋杯自治區一等獎2人,自治區二等獎6人,自治區三等獎3人;藍橋杯國家級優秀獎2人。針對如何提高學生競賽能力,新疆科技學院將學科競賽內容融入課堂。為了進一步提高學生程序設計能力和競賽水平,新疆科技學院指導教師團隊在賽前會組織參賽學生進行培訓,徹底實現專業教學與賽事的融合。學院開設“C語言程序設計”課程,其目的就是為了提高學生編程能力和競賽水平,老師在課堂授課過程中穿插競賽知識,做到相互融合,相互促進[7]。通過不斷的教學實踐改革,課程體系建設更加符合學生的學業需求,學科競賽成績逐年提高,教學改革效果突出。
本文從培養學生的動手能力和解決問題能力出發,以學科競賽為載體,提出了一種基于項目的“C語言程序設計”教學模式。本文首先對傳統“C語言程序設計”教學模式中的一些問題進行簡要分析,其次提出了項目式教學的階段化訓練方法及C語言教學項目訓練的優點,最后提出以程序設計競賽為載體,通過“以賽促學”,提高學生分析問題解決問題的能力,培養學習積極性。同時提高教師教學改革的積極性,真正提高人才培養的質量。