鄧橙
摘要:如今程序設計課程已經成為各個專業(yè)的基礎課程,作為科技落后的西部地區(qū)如何在大學生程序設計課程上有所發(fā)展,本課程改革以學科競賽為導向對教學體系進行改革,從而提升了學生的分析和解決實際問題的能力、程序設計能力以及創(chuàng)新能力。
關鍵詞:學科競賽;大學生程序設計課程;西部地區(qū)教學改革
中圖分類號:TP311? ? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)27-0172-03
也許你聽過雅丹地貌、魔鬼城、獨庫公路這些位于祖國最西端的旅游勝地,但是你知道嗎,在這塊戈壁中還藏著一所大學,信息閉塞,學術交流幾乎為零。我校的特殊地理位置決定了我校在計算機學科上勢必會落后于內地的高校,在師資上,計算機系缺少高水平人才,很多教師為短期的援疆教師,本地教師年輕化缺少教育教學經驗;在生源上,學生計算機基礎水平較差,大部分學生來自農村以及小縣城,在中學階段幾乎沒有接受過計算機教育;在就業(yè)上,當?shù)爻W∪丝谠?0萬左右,IT公司非常少且規(guī)模小。這些因素導致我們開展程序設計課程非常困難,常常出現(xiàn)“學生學得消極,教師教得累”的現(xiàn)象,因此我們因地制宜做了相應的大學生程序設計課程的改革,這些改革同樣也適用于和我們情況相同的高校。
本校原先的程序設計類課程教學模式是以普通教室上課為主,老師站在講臺上演示并進行語法講解,學生呆呆地坐在下面聽,學生上機時間僅占總課時的1/3,有的甚至連1/3都不到,期末考試也是以筆試為主。學生投入大量精力和時間在背概念和刷題上面,而忽視了真正的實際應用和操作的能力,更別提計算思維的訓練了。這就好比學習打籃球中的三步上籃,學生看老師演示過程以及分析每一個動作細節(jié)一百遍,都不如讓學生自己拿著籃球實際操作一遍效果好。程序設計類課程不僅需要學生多動腦,同樣也需要多動手,讓學生通過實際案例或者項目自己去體會編程的魅力,才能達到真正的編程學習的效果,這也是我們改革中的一部分。
程序設計類競賽,如中國大學生計算機設計大賽、團體程序設計天梯賽等,競賽題目與實際現(xiàn)實問題聯(lián)系緊密,常常出現(xiàn)熱點問題,涉獵內容廣,并且學生可以組團參加。學生在參與這些競賽的過程中,鍛煉了分析和解決實際問題能力、團隊協(xié)作能力、領導能力等。[1]通過向學生介紹編程競賽,組織學生參與編程競賽等相關活動,從而讓學生了解競賽的優(yōu)點,愿意參與到競賽當中。
1 大學生程序設計競賽
1.1 程序設計競賽的優(yōu)勢
程序設計競賽多為知名IT公司、高校、組織舉辦,題目來源更加前沿,涉及的知識范圍更加廣泛,參賽學生需要對已儲備的知識進行整合從而解決實際問題。[1]參加這些比賽的有來自全國各個高校的學生,相同的賽題和評分制度,學生平等公平參賽,可以讓西部地區(qū)的學生能夠在比賽中發(fā)現(xiàn)自己與內地學生的差距,以及對自身競爭力有較為清晰地認識,從而努力提升自己,避免盲目自信,坐井觀天。
此外,盡管現(xiàn)在網絡發(fā)達,但是由于我校地處偏遠,學生感知前沿科技和學術發(fā)展仍然有較大的滯后性。通過參加計算機學科競賽,能讓學生對自身以及未來的發(fā)展有更明確的規(guī)劃。同時,學生通過參加競賽的機會,也可以開闊視野,增長見識,而且像微軟、百度等國內外知名IT公司非常青睞參加過相關程序設計競賽的學生,每年都會為參加過此類競賽的學生開辟綠色招生通道,因此競賽不僅可以激發(fā)學生的學習熱情和動力,而且可以促進就業(yè)。
1.2 提高教師的知識儲備與教學水平
對于教師而言,教學內容偏基礎簡單,與實際的競賽輔導差異很大。競賽題目與實際應用更加緊密,很多問題來源于生活和現(xiàn)實世界,需要對知識的理解和應用更為透徹和靈活,因此,教師在競賽輔導的過程中也是對自己儲備知識的更新和總結。此外,要想學生積極學習,首先教師要起到表率作用,教師也要做到不斷學習,追求進步。就本人而言,通過對競賽的輔導,自己的專業(yè)知識得到了進一步的鞏固,同時也發(fā)現(xiàn)了編程中的樂趣,并且在把這份樂趣帶給學生的同時獲得了作為教師的滿足感和成就感。此外,在鼓勵和培養(yǎng)更多的年輕教師參與競賽指導的過程中,也促進了專業(yè)建設和提升了師生凝聚力。
此外,我們也通過外出培訓來提高教師自身能力。2019年7月我們派教師去廣州參加了《第十屆藍橋杯暑期教師集訓會》,并與競賽取得好成績的高校進行了交流,例如廣東工業(yè)大學教練分享了競賽隊伍訓練管理機制,福州大學分享了學科競賽師生的獎勵,鼓勵機制等,從這些高校中獲得了非常多的經驗和幫助,為后續(xù)我校開展競賽機制建立提供了理論指導和支持。
2 程序設計課程的教學改革實踐
本校傳統(tǒng)的程序設計類課程只強調從理論上對知識和概念的理解,對程序的實現(xiàn)和具體應用重視不夠,造成很多學生只會做題不會應用,編程能力差,不會調試程序;作業(yè)形式單一以及作業(yè)內容枯燥,導致學生抄作業(yè)現(xiàn)象嚴重;考試主要還是以筆試為主,對實踐操作不重視,缺乏完整的科學的實踐考核體系,出現(xiàn)很多學完編程仍然不會編程的情況;全校一刀切教學,忽視學生實際情況,導致課程的最終結果分化嚴重。
因此,我們計算機系教師付出大量心血來改革程序設計課程體系結構,加強程序設計基礎課程的教學和實踐環(huán)節(jié),從而提高學生們的編程能力。
2.1 教學形式的改革
改革后的教學形式是將傳統(tǒng)的教室大班授課改為機房小班教學,采用少講多練的方式,以學生自主上機練習為主,啟發(fā)并引導學生自己發(fā)現(xiàn)問題并解決問題。為了與競賽結合更緊密,我們將課程中的例題和練習題描述成程序設計競賽題目的形式,按照背景描述、輸入輸出格式、測試用例幾個部分提供給學生,將課堂知識與實際應用緊密聯(lián)系起來,內容生動有趣,例如在講到函數(shù)章節(jié)時,以給奶茶店設計一個接受用戶需求的程序為例進行函數(shù)設計的講解,從而調動了學生的學習積極性,以及達到了訓練學生分析和解決問題能力的目的。此外,也向學生們介紹計算機領域目前的最新技術和發(fā)展,例如虛擬現(xiàn)實技術,區(qū)塊鏈等,以此激發(fā)學生們的探索興趣。