譚明佳+向軍
摘要:針對(duì)民族高校應(yīng)用轉(zhuǎn)型中人才培養(yǎng)應(yīng)用型不強(qiáng)的問題,首先分析程序設(shè)計(jì)基礎(chǔ)課程的重要性及當(dāng)前的教學(xué)現(xiàn)狀,然后闡述從人才培養(yǎng)方案修訂、優(yōu)化課程內(nèi)容體系、強(qiáng)化編程實(shí)踐能力、培養(yǎng)良好的編程習(xí)慣、考試方式改革等方面實(shí)施程序設(shè)計(jì)基礎(chǔ)課程教學(xué)改革與實(shí)踐。
關(guān)鍵詞:程序設(shè)計(jì)基礎(chǔ);教學(xué)改革;應(yīng)用能力培養(yǎng);案例驅(qū)動(dòng);在線評(píng)測
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)識(shí)碼:A 文章編號(hào):1009-3044(2017)28-0176-02
Abstract:According to personnel training application in the transformation of national colleges is not strong, first, the paper will introduce the importance of program design curriculum and the current teaching situation, and discuss several aspects of teaching reform and practice of basic programming courses, the personnel training program revision, optimizing the course system, strengthening the practice ability of programming, to develop good programming habits, examination reform.
Key words:programming fundamentals; teaching reform; application capability cultivation; case driven; online judge
1 概述
2015年10月,教育部、國家發(fā)展改革委、財(cái)政部聯(lián)合發(fā)布了《關(guān)于引導(dǎo)部分地方普通本科高校向應(yīng)用型轉(zhuǎn)變的指導(dǎo)意見》。指明地方本科高校必須堅(jiān)持以地方需求和學(xué)生就業(yè)為導(dǎo)向,立足“地方性”、“應(yīng)用型”、“重特色”的辦學(xué)定位[1]。作者所在學(xué)校湖北民族學(xué)院既屬于地方院校,又屬于民族類高校,正處于向應(yīng)用型轉(zhuǎn)型發(fā)展階段,學(xué)校正大刀闊斧進(jìn)行相應(yīng)的教學(xué)改革。
“程序設(shè)計(jì)基礎(chǔ)”課程是計(jì)算機(jī)類專業(yè)一門非常重要的專業(yè)基礎(chǔ)課和核心課程,承擔(dān)著幫助學(xué)生建立程序設(shè)計(jì)的基本思想和概念、培養(yǎng)學(xué)生編程興趣、掌握程序設(shè)計(jì)基本方法的任務(wù)。通過該課程的學(xué)習(xí),不僅使學(xué)生掌握程序設(shè)計(jì)語言的語法規(guī)則、程序設(shè)計(jì)結(jié)構(gòu)、設(shè)計(jì)技巧,更重要的是使學(xué)生通過具體的高級(jí)語言的學(xué)習(xí),培養(yǎng)學(xué)生的算法設(shè)計(jì)與分析和程序設(shè)計(jì)的能力,為后續(xù)的專業(yè)核心課程如數(shù)據(jù)結(jié)構(gòu)、操作系統(tǒng)、算法分析與設(shè)計(jì)、編譯原理、數(shù)據(jù)庫原理等的學(xué)習(xí)和應(yīng)用打下良好基礎(chǔ)[2]。
“程序設(shè)計(jì)基礎(chǔ)”課程通常采用C語言作為教學(xué)語言,是計(jì)算機(jī)類專業(yè)學(xué)生入學(xué)后學(xué)習(xí)的第一門計(jì)算機(jī)程序設(shè)計(jì)語言課程。該課程的教學(xué)質(zhì)量,對(duì)后續(xù)專業(yè)課程的學(xué)習(xí)和學(xué)生未來的發(fā)展有著極大的影響。實(shí)踐證明,該課程教學(xué)內(nèi)容、教學(xué)方法和評(píng)價(jià)方式的選擇都會(huì)直接影響到教學(xué)質(zhì)量和教學(xué)目標(biāo)的達(dá)成。本文以湖北民族學(xué)院計(jì)算機(jī)類專業(yè)為例,介紹在民族高校應(yīng)用轉(zhuǎn)型背景下,突出應(yīng)用型人才培養(yǎng),實(shí)施基于應(yīng)用能力培養(yǎng)的“程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)改革與實(shí)踐。
2 “程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)現(xiàn)狀
以作者所在的學(xué)校湖北民族學(xué)院為例,結(jié)合作者20多年計(jì)算機(jī)類專業(yè)教學(xué)體會(huì),認(rèn)為當(dāng)前的“程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)存在以下幾個(gè)方面的問題:
(1) 由于學(xué)生多來自民族地區(qū),基礎(chǔ)相對(duì)薄弱,部分學(xué)生學(xué)習(xí)自覺性較差,缺乏刻苦鉆研的精神?!俺绦蛟O(shè)計(jì)基礎(chǔ)”課程通常在第一個(gè)學(xué)期開設(shè),新生一般從第5周開始上課,只有14周的教學(xué)時(shí)間,內(nèi)容多,時(shí)間緊,教學(xué)進(jìn)度快,學(xué)生沒有充余地時(shí)間理解消化和編程訓(xùn)練。而且,學(xué)生還處于應(yīng)試教育的思維模式,沒有自主學(xué)習(xí)的意識(shí),部分學(xué)生一旦遇到學(xué)習(xí)困難,就放棄學(xué)習(xí),甚至害怕編程。
(2) 采用傳統(tǒng)的“先講理論后上機(jī)實(shí)驗(yàn)”的教學(xué)模式,學(xué)生處于被動(dòng)學(xué)習(xí),很多學(xué)生感到枯燥難學(xué),學(xué)過之后,也不能用來解決實(shí)際應(yīng)用問題。課后作業(yè)也多是紙質(zhì)方式,題型多為選擇題、填空題、讀程序等,即使有編程題,也是紙上談兵,寫完之后不知對(duì)錯(cuò)。
(3) 教學(xué)中過于注重C語言的語句、語法和一些細(xì)節(jié),把程序設(shè)計(jì)課變成了“語法課”。沒有把邏輯與編程解題思路放在主題地位上,對(duì)于如何分析問題和解決問題講授得不夠,對(duì)學(xué)生使用計(jì)算機(jī)分析問題和解決問題的實(shí)踐能力訓(xùn)練不夠[3]。
(4) 采用“平時(shí)成績10%+實(shí)驗(yàn)成績30%+期末成績60%”的評(píng)價(jià)方式。這種評(píng)價(jià)策略可以激勵(lì)學(xué)生進(jìn)課堂,但不能保證學(xué)生聽課;可以督促學(xué)生寫實(shí)驗(yàn)報(bào)告,但無法保證學(xué)生切實(shí)獨(dú)立完成了實(shí)驗(yàn)內(nèi)容,而且難以對(duì)實(shí)驗(yàn)效果作出客觀公正的評(píng)價(jià)[4]。實(shí)際上,平時(shí)成績和實(shí)驗(yàn)成績變成了教師調(diào)節(jié)期評(píng)成績的手段,過程管理不嚴(yán),對(duì)學(xué)生的學(xué)業(yè)管理存在偏寬、偏松、偏軟現(xiàn)象。期末考試一般采用筆試,紙上談兵,造就了高分低能,學(xué)生考試分?jǐn)?shù)很高,卻不會(huì)編程解決實(shí)際問題,更沒有起到借助考試環(huán)節(jié)調(diào)動(dòng)和激發(fā)學(xué)生學(xué)習(xí)積極性的作用。
3 “程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)改革
“程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)改革參考文獻(xiàn)[3]思想和文獻(xiàn)[1]中“地方本科高校轉(zhuǎn)型發(fā)展的關(guān)鍵要素和核心內(nèi)容”進(jìn)行。深化體現(xiàn)素質(zhì)教育要求、促進(jìn)學(xué)生創(chuàng)新精神和實(shí)踐能力提升的教學(xué)模式改革。培養(yǎng)學(xué)生勇于探索的創(chuàng)新精神、善于解決問題的實(shí)踐能力。實(shí)施以解決實(shí)際問題為導(dǎo)向的教學(xué)模式。實(shí)施以學(xué)生為中心的啟發(fā)式、合作式、參與式教學(xué)模式。深化實(shí)踐教學(xué)改革。改革考試方式方法,建立促進(jìn)學(xué)生實(shí)踐能力和綜合素質(zhì)提高的評(píng)價(jià)方式[1]。為進(jìn)一步提高學(xué)生學(xué)習(xí)程序設(shè)計(jì)基礎(chǔ)課程的學(xué)習(xí)興趣和實(shí)踐動(dòng)手能力,作為計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的負(fù)責(zé)人,初步擬定了修訂人才培養(yǎng)方案、改革課程教學(xué)內(nèi)容、強(qiáng)調(diào)工程實(shí)踐應(yīng)用、改革課程考核方式、注重培養(yǎng)良好編程習(xí)慣等方面教學(xué)改革思路,下面將分別闡述。endprint
3.1 修訂人才培養(yǎng)方案,加強(qiáng)實(shí)踐環(huán)節(jié)
根據(jù)《關(guān)于引導(dǎo)部分地方普通本科高校向應(yīng)用型轉(zhuǎn)變的指導(dǎo)意見》(教發(fā)〔2015〕7號(hào))和《湖北民族學(xué)院關(guān)于修(制)訂本科人才培養(yǎng)方案的意見》(鄂民院辦發(fā)〔2016〕38號(hào))文件要求,按照“重基礎(chǔ)、精方向、強(qiáng)工程”的指導(dǎo)思想修訂人才培養(yǎng)方案,創(chuàng)新應(yīng)用型人才培養(yǎng)模式。加強(qiáng)實(shí)驗(yàn)、實(shí)訓(xùn)、實(shí)習(xí)環(huán)節(jié)。
在新的人才培養(yǎng)方案中,把“程序設(shè)計(jì)基礎(chǔ)”分為“程序設(shè)計(jì)基礎(chǔ)Ⅰ”和“程序設(shè)計(jì)基礎(chǔ)Ⅱ”,總學(xué)時(shí)96學(xué)時(shí),其中理論64學(xué)時(shí),實(shí)驗(yàn)32學(xué)時(shí),分別在第一學(xué)期和第二學(xué)期開設(shè),每學(xué)期48(32+16)學(xué)時(shí),每周4學(xué)時(shí)。這種課程安排既能避免學(xué)生產(chǎn)生厭倦,又能防止“信息超載”,給學(xué)生留出時(shí)間適應(yīng)大學(xué)教育模式,逐步了解計(jì)算機(jī)程序原理,通過自主深入學(xué)習(xí)、編程實(shí)踐訓(xùn)練、學(xué)習(xí)和研究算法,為后續(xù)專業(yè)課程的學(xué)習(xí)奠定扎實(shí)基礎(chǔ)。大一暑期安排2周時(shí)間進(jìn)行C語言項(xiàng)目工程實(shí)踐,引入企業(yè)項(xiàng)目,由企業(yè)導(dǎo)師和校內(nèi)老師共同指導(dǎo),通過企業(yè)實(shí)際應(yīng)用項(xiàng)目的實(shí)踐來培養(yǎng)學(xué)生工程實(shí)踐能力。
3.2 優(yōu)化教學(xué)內(nèi)容,培養(yǎng)應(yīng)用能力
構(gòu)建以應(yīng)用能力培養(yǎng)為主線的課程教學(xué)內(nèi)容體系?!俺绦蛟O(shè)計(jì)基礎(chǔ)”課程講授重點(diǎn)應(yīng)放在問題分析、模型建立、算法設(shè)計(jì)、程序?qū)崿F(xiàn)和調(diào)試排錯(cuò)上,以此來培養(yǎng)學(xué)生的創(chuàng)新思維、分析問題和解決問題的能力。
以案例驅(qū)動(dòng)方式,構(gòu)建“程序設(shè)計(jì)基礎(chǔ)”理論教學(xué)內(nèi)容體系,培養(yǎng)學(xué)生的計(jì)算思維能力,鼓勵(lì)學(xué)生探索、研究和創(chuàng)新。具體來說構(gòu)建了基于枚舉法、遞推法、遞歸與回縮法、分治法、貪心法和動(dòng)態(tài)規(guī)劃思想的經(jīng)典案例教學(xué)內(nèi)容,嵌入到“程序設(shè)計(jì)基礎(chǔ)”課程體系中。通過案例來講授程序設(shè)計(jì)的基本概念和基本方法,即以程序設(shè)計(jì)為主線組織教學(xué),語言細(xì)節(jié)留給學(xué)生課后自主學(xué)習(xí)。經(jīng)典案例教學(xué)內(nèi)容如表1所示。
3.3 強(qiáng)化編程實(shí)踐,培養(yǎng)工程實(shí)踐能力
強(qiáng)化學(xué)生編程實(shí)踐能力的培養(yǎng)。程序設(shè)計(jì)不是聽會(huì)的,也不是看會(huì)的,而是自己練會(huì)的。要在理論知識(shí)的指導(dǎo)下,讓學(xué)生多動(dòng)手、動(dòng)腦,更多地編程實(shí)踐,才能培養(yǎng)學(xué)生編程能力。
HUSTOJ[5](HUST Online Judge)是一個(gè)開源的、采用黑盒測試原理進(jìn)行計(jì)算機(jī)程序正確性判斷的自動(dòng)化程序。該系統(tǒng)具有公平性好、評(píng)測自動(dòng)化程度高、節(jié)約人力成本等優(yōu)點(diǎn),廣泛應(yīng)用于各類大學(xué)生程序設(shè)計(jì)競賽。
對(duì)HUSTOJ系統(tǒng)進(jìn)行二次開發(fā),建立了在線作業(yè)系統(tǒng)、實(shí)驗(yàn)系統(tǒng)和考試系統(tǒng),實(shí)現(xiàn)課程作業(yè)、實(shí)驗(yàn)和考試的自動(dòng)評(píng)測并統(tǒng)計(jì)計(jì)算相應(yīng)成績,通過代碼相似度檢測防止學(xué)生抄襲。課程作業(yè)和實(shí)驗(yàn)系統(tǒng)主界面如圖1所示。
在線作業(yè)系統(tǒng)包含了選擇題和編程題兩種題型。目前從ACM/ICPC競賽題目、CCPC競賽題目、PAT題目、校賽題目中精選了100多道題目作為編程題作業(yè)。在“程序設(shè)計(jì)基礎(chǔ)”課程學(xué)習(xí)期間需要完成至少100道編程題。從教材、參考資料中選擇實(shí)驗(yàn)題目,每次實(shí)驗(yàn)2學(xué)時(shí),完成3-4道題目。
系統(tǒng)采用自動(dòng)評(píng)測,實(shí)時(shí)排名,可以多次修改提交直至正確為止,激發(fā)了學(xué)生學(xué)習(xí)的積極性和主動(dòng)性。通過大量的編程實(shí)踐訓(xùn)練,能夠培養(yǎng)學(xué)生的計(jì)算思維能力、分析問題和解決問題能力、算法設(shè)計(jì)能力、編程能力以及程序調(diào)試排錯(cuò)能力。平時(shí)成績和實(shí)驗(yàn)成績的評(píng)定更加公平、合理。減少了教師的工作量,使得教師有更多的時(shí)間指導(dǎo)學(xué)生。
3.4 培養(yǎng)良好的編程習(xí)慣,增強(qiáng)就業(yè)競爭力
培養(yǎng)學(xué)生良好的編程習(xí)慣,強(qiáng)調(diào)程序的可讀性、規(guī)范性,編寫的代碼符合行業(yè)標(biāo)準(zhǔn)或規(guī)范,增強(qiáng)學(xué)生的就業(yè)競爭力。
程序的編寫要具有很強(qiáng)的可讀性,不僅要能自己看懂,同時(shí)也要便于讓其他人讀懂。把“華為C語言編程規(guī)范”融入到“程序設(shè)計(jì)基礎(chǔ)”課程的教學(xué)活動(dòng)中,有利于培養(yǎng)學(xué)生良好的編寫代碼風(fēng)格,提高程序的可讀性和優(yōu)化程序。
3.5 改革考核評(píng)價(jià)方式,調(diào)動(dòng)學(xué)習(xí)的積極性和主動(dòng)性
考試是檢驗(yàn)學(xué)生學(xué)習(xí)效果、評(píng)價(jià)學(xué)生學(xué)習(xí)成績的重要環(huán)節(jié)。借助考試環(huán)節(jié)來調(diào)動(dòng)和激發(fā)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性。
改革課程教學(xué)的評(píng)價(jià)方式,從一次性期末考試成績?cè)u(píng)價(jià)到過程監(jiān)控和知識(shí)應(yīng)用能力的評(píng)價(jià)??荚嚥捎迷诰€自動(dòng)評(píng)測,不搞筆試,不考死記硬背的東西,重點(diǎn)考核學(xué)生編程能力,分析問題、解決問題的能力,避免了高分低能現(xiàn)象,體現(xiàn)了對(duì)學(xué)生的學(xué)業(yè)管理“嚴(yán)、緊、實(shí)”的要求。
“程序設(shè)計(jì)基礎(chǔ)”課程采用HUSTOJ系統(tǒng)在線考試,每學(xué)期考試4次,每次5道題目,并按照10%,20%,30%,40%的權(quán)重計(jì)分,作為學(xué)生本門課程的期末成績。通過權(quán)重不斷增加的方式,激發(fā)學(xué)生的斗志,調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性和主動(dòng)性。在線考試系統(tǒng)如圖2所示。
4 結(jié)束語
通過實(shí)施“程序設(shè)計(jì)基礎(chǔ)”課程教學(xué)改革與實(shí)踐,調(diào)動(dòng)和激發(fā)了學(xué)生學(xué)習(xí)專業(yè)知識(shí)的積極性、主動(dòng)性和創(chuàng)造性,通過OJ系統(tǒng)做題的人多了,參與ACM國際大學(xué)生程序設(shè)計(jì)競賽(ACM/ICPC)、中國大學(xué)生程序設(shè)計(jì)競賽(CCPC)培訓(xùn)、訓(xùn)練、競賽的人多了。
改革永遠(yuǎn)在路上,后續(xù)需要自主開發(fā)具有實(shí)際應(yīng)用背景,能夠培養(yǎng)學(xué)生計(jì)算思維能力、分析問題和解決問題能力、算法設(shè)計(jì)能力和編程能力的題目集,供學(xué)生在OJ系統(tǒng)上實(shí)驗(yàn)、作業(yè)和考試。把計(jì)算機(jī)專業(yè)核心課程中的一些解決問題的經(jīng)典思想和算法開發(fā)為能夠在OJ系統(tǒng)上使用的題目,作為相應(yīng)課程的在線作業(yè),以此來加強(qiáng)專業(yè)知識(shí)的學(xué)習(xí),實(shí)現(xiàn)理論與實(shí)踐相結(jié)合,將編程實(shí)踐活動(dòng)貫穿于大學(xué)前三年的學(xué)習(xí)中。
參考文獻(xiàn):
[1] 張大良.把握“學(xué)校主體、地方主責(zé)”工作定位,積極引導(dǎo)部分地方本科高校轉(zhuǎn)型發(fā)展[J]. 中國高等教育, 2015(10):23-29.
[2] 教育部高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)教學(xué)指導(dǎo)委員會(huì).高等學(xué)校計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)人才專業(yè)能力構(gòu)成與培養(yǎng)[M].北京:機(jī)械工業(yè)出版社, 2010.3.
[3] 吳文虎.精心鑄精品 理念須先行_談“程序設(shè)計(jì)基礎(chǔ)”課程改革.計(jì)算機(jī)教育[J],2008(7):46-49.
[4] 徐英慧,周淑一.《C語言程序設(shè)計(jì)》課程“三位一體式”教學(xué)模式研究[J].軟件導(dǎo)刊,2017(4):221-223.
[5] 張浩斌.基于開放式云平臺(tái)的開源在線評(píng)測系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].計(jì)算機(jī)科學(xué),2012(11):339-343.endprint