宋友
摘 要:程序設(shè)計(jì)能力是信息時(shí)代工科大學(xué)生的一項(xiàng)基本能力,傳統(tǒng)的工科專業(yè)都會(huì)開(kāi)設(shè)程序設(shè)計(jì)課。在大類招生背景下,如何有效開(kāi)展大類工科專業(yè)的程序設(shè)計(jì)課程教學(xué)變得尤為重要。本文給出了大類工科專業(yè)程序設(shè)計(jì)課程教學(xué)中師資建設(shè)、教學(xué)規(guī)范、資源利用等問(wèn)題的解決與實(shí)施辦法。
關(guān)鍵詞:大類工科專業(yè);程序設(shè)計(jì)課程;教學(xué)改革
近年來(lái)許多大學(xué)陸續(xù)開(kāi)始實(shí)施寬口徑、強(qiáng)基礎(chǔ)的大類專業(yè)招生和培養(yǎng)[1]。所謂大類專業(yè)培養(yǎng),就是在大學(xué)的第一年或低年級(jí),同一大類、不同專業(yè)的培養(yǎng)方案相同,課程設(shè)置和教學(xué)要求相同,比如計(jì)算機(jī)與信息類、文史類、理科類等。學(xué)生在低年級(jí)以接受基礎(chǔ)教學(xué)和通識(shí)教育為主,在這個(gè)過(guò)程中學(xué)生對(duì)各個(gè)細(xì)分的專業(yè)逐步了解和認(rèn)識(shí),到一年級(jí)或二年級(jí)結(jié)束時(shí)根據(jù)自己的興趣和愛(ài)好選擇相應(yīng)的專業(yè),接受進(jìn)一步的專業(yè)教育。
程序設(shè)計(jì)能力是所有工科專業(yè)學(xué)生的必備基礎(chǔ),在信息時(shí)代,其基礎(chǔ)性地位就跟數(shù)學(xué)、物理等基礎(chǔ)學(xué)科一樣,已不可或缺。對(duì)于工科專業(yè)學(xué)生,程序設(shè)計(jì)能力是其將來(lái)在科學(xué)研究、工程實(shí)踐中進(jìn)行邏輯推理、問(wèn)題求解、方案設(shè)計(jì)、算法分析、信息處理、數(shù)據(jù)管理等方面的基本能力。因此,做好面向工科專業(yè)的程序設(shè)計(jì)教學(xué)工作是一項(xiàng)很重要的基礎(chǔ)任務(wù),一些高校對(duì)此進(jìn)行了許多有益的探索[2, 3]。
一、程序設(shè)計(jì)課程教學(xué)現(xiàn)狀
程序設(shè)計(jì)的基礎(chǔ)工程能力訓(xùn)練是國(guó)內(nèi)外高校共同關(guān)注的工程能力培養(yǎng)課程。國(guó)外高校的專業(yè)限制較弱,大多數(shù)程序設(shè)計(jì)類課程都是面向全校開(kāi)設(shè)。例如,普林斯頓大學(xué)開(kāi)設(shè)了Computer Science 217, Introduction to Programming
Systems課程,主要介紹基于C語(yǔ)言的程序設(shè)計(jì)方法、軟件工具等;麻省理工學(xué)院開(kāi)設(shè)了6.S096 Introduction to C and C++課程,講授C語(yǔ)言編程基礎(chǔ)和面向?qū)ο缶幊獭?/p>
在國(guó)內(nèi),清華大學(xué)、復(fù)旦大學(xué)、南京大學(xué)、北京航空航天大學(xué)等均開(kāi)設(shè)有必修的程序設(shè)計(jì)課程,大部分學(xué)校是在大一上學(xué)期或大一下學(xué)期開(kāi)設(shè)程序設(shè)計(jì)課程,主要以C語(yǔ)言作為程序設(shè)計(jì)課的編程語(yǔ)言,課程名稱為“C語(yǔ)言程序設(shè)計(jì)”。該課程是面向工科專業(yè)的基礎(chǔ)技術(shù)課程,對(duì)后繼各專業(yè)學(xué)院的必修課、專業(yè)課均有直接的支撐關(guān)系。但由于我國(guó)高校專業(yè)邊界明顯,通常各學(xué)院?jiǎn)为?dú)開(kāi)設(shè)自己的程序設(shè)計(jì)課程。
“C語(yǔ)言程序設(shè)計(jì)”課程的基礎(chǔ)性地位跟數(shù)學(xué)、物理、英語(yǔ)等課程有所不同。數(shù)學(xué)、物理作為自然科學(xué)類基礎(chǔ)課,在各高校都是公共課,基本由數(shù)學(xué)、物理專業(yè)學(xué)院集中承擔(dān)。同樣,公共英語(yǔ)課也多由外語(yǔ)專業(yè)學(xué)院承擔(dān)。由于“C語(yǔ)言程序設(shè)計(jì)”是一門專業(yè)技術(shù)基礎(chǔ)課,且由各專業(yè)學(xué)院自己的專業(yè)師資開(kāi)設(shè),導(dǎo)致該課程教學(xué)存在較大的差異。這種差異性不僅體現(xiàn)在不同專業(yè)教師的知識(shí)結(jié)構(gòu)上,也體現(xiàn)在不同學(xué)院的教學(xué)規(guī)范和實(shí)施過(guò)程方面。筆者分析了北京航空航天大學(xué)(以下簡(jiǎn)稱“北航”)10多個(gè)工科學(xué)院的“C語(yǔ)言程序設(shè)計(jì)”課程大綱,選了有代表性的6個(gè)學(xué)院,見(jiàn)表1所示。
表中的符號(hào)與編號(hào)說(shuō)明:
C1—C6:指6個(gè)不同的學(xué)院;
T1:期末考試;
T2:上機(jī)實(shí)踐(實(shí)驗(yàn)課)等;
T3:作業(yè)(考勤)與實(shí)踐(大作業(yè))等;
R1:《C程序設(shè)計(jì)(第四版)》(譚浩強(qiáng),清華大學(xué)出版社);
R2:《C程序設(shè)計(jì)(第四版)學(xué)習(xí)輔導(dǎo)》(譚浩強(qiáng),清華大學(xué)出版社);
R3:《C語(yǔ)言程序設(shè)計(jì)(第三版)》(夏寬理,中國(guó)鐵道出版社);
R4:《C++語(yǔ)言基礎(chǔ)教程(第3版)》(呂鳳翥,清華大學(xué)出版社);
R5:《C Primer Plus(第6版)中文版》(Stephen Prata, 人民郵電出版社);
R6:《C語(yǔ)言程序設(shè)計(jì)(第3版)》(譚浩強(qiáng),清華大學(xué)出版社);
R7:《A First Book of ANSI C, Third Edition》(Gary J. Bronson, 電子工業(yè)出版社);
R8:《C程序設(shè)計(jì)上機(jī)實(shí)驗(yàn)指導(dǎo)書(shū)》, 課程組自編指導(dǎo)手冊(cè)。
從表1可以看出:同一門課,不同學(xué)院在學(xué)時(shí)、學(xué)分設(shè)置上存在較大差異,表1中就存在3個(gè)版本;學(xué)時(shí)與學(xué)分的對(duì)應(yīng)關(guān)系也不規(guī)范,通常是16學(xué)時(shí)為1個(gè)學(xué)分,1個(gè)實(shí)踐學(xué)時(shí)按1/2理論學(xué)時(shí)計(jì)算,但有的學(xué)院按1:1計(jì)算,有的學(xué)院則實(shí)踐課不計(jì)學(xué)分;考核方法也各不相同;所用的教材基本相同,但教材版次、教學(xué)參考書(shū)等卻有區(qū)別;一個(gè)學(xué)院的教師團(tuán)隊(duì)人數(shù)、構(gòu)成等也都各有千秋。
進(jìn)一步分析,各學(xué)院的教學(xué)內(nèi)容也都千差萬(wàn)別,即便學(xué)時(shí)相同,課程的組織方式也不一樣。例如,C1和C3學(xué)院都是40學(xué)時(shí),兩者的理論學(xué)時(shí)和實(shí)踐學(xué)時(shí)占比都很接近,但C1學(xué)院折算為2.5學(xué)分,C3學(xué)院則計(jì)算為2學(xué)分;C1在函數(shù)與指針部分占用13個(gè)學(xué)時(shí)(理論+實(shí)踐),而C3則占用16學(xué)時(shí);C1包括了位運(yùn)算,C3則沒(méi)有涉及,等等。
可以看出,各工科專業(yè)開(kāi)設(shè)的“C語(yǔ)言程序設(shè)計(jì)”課程的差異性很大,存在明顯的教學(xué)孤島現(xiàn)象(不同專業(yè)的教師缺少教學(xué)工作的相互交流)。即使是同一個(gè)學(xué)院講授這門課的兩個(gè)老師,彼此也不熟悉對(duì)方的教學(xué)工作,也不了解對(duì)方的授課情況。這不是一個(gè)好現(xiàn)象。誠(chéng)然,教學(xué)是一門藝術(shù),每個(gè)教師有自己的特色才能展現(xiàn)教學(xué)的藝術(shù)魅力。但是,作為一門基礎(chǔ)課程,在一個(gè)學(xué)校內(nèi)部統(tǒng)一教學(xué)體系、教學(xué)內(nèi)容、教學(xué)要求則是非常必要的。如果僅憑老師的隨意發(fā)揮,一定會(huì)造成教學(xué)質(zhì)量和教學(xué)效果差異太大。遇到教學(xué)水平高的老師,則是學(xué)生的幸運(yùn),反之則不容樂(lè)觀。因此,由各學(xué)院?jiǎn)为?dú)開(kāi)設(shè)自己的程序設(shè)計(jì)課程的現(xiàn)狀需要改變。
二、程序設(shè)計(jì)大類課改革要解決的核心問(wèn)題
弱化專業(yè)限制,面向大類工科專業(yè)開(kāi)展統(tǒng)一的程序設(shè)計(jì)課程教學(xué),無(wú)疑是值得鼓勵(lì)的。但是,程序設(shè)計(jì)課程作為各高校的大類課,如何進(jìn)行改革卻是一個(gè)新的問(wèn)題。
在培養(yǎng)目標(biāo)上,北航的“C語(yǔ)言程序設(shè)計(jì)”課程針對(duì)航空航天類10個(gè)工科專業(yè)的學(xué)生開(kāi)設(shè),著重培養(yǎng)學(xué)生分析問(wèn)題、程序設(shè)計(jì)、數(shù)據(jù)處理與算法設(shè)計(jì)能力,為進(jìn)一步科學(xué)研究與工程設(shè)計(jì)打下堅(jiān)實(shí)的基礎(chǔ)。
在課程內(nèi)容上,該課程涵蓋了C語(yǔ)言的各種數(shù)據(jù)類型、表達(dá)式與運(yùn)算、輸入輸出、程序的結(jié)構(gòu)與邏輯、指針、文件等知識(shí)的語(yǔ)法、語(yǔ)義、抽象、表達(dá)與應(yīng)用。訓(xùn)練學(xué)生從一開(kāi)始就培養(yǎng)良好的程序設(shè)計(jì)風(fēng)格,學(xué)會(huì)用結(jié)構(gòu)化方法編寫程序,熟練掌握編程工具與調(diào)試方法等,能進(jìn)行基本的容錯(cuò)處理與分析,具備通過(guò)聯(lián)機(jī)手冊(cè)和互聯(lián)網(wǎng)進(jìn)行資料查找與問(wèn)題求解的能力,等等。
一是提高課程標(biāo)準(zhǔn)。在分析各專業(yè)的教學(xué)現(xiàn)狀中,我們發(fā)現(xiàn)過(guò)去各工科專業(yè)的程序設(shè)計(jì)課程所采用的技術(shù)標(biāo)準(zhǔn)普遍比較老舊,教學(xué)內(nèi)容比較簡(jiǎn)單,實(shí)踐的難度和強(qiáng)度都不足,以至于不少學(xué)生一學(xué)期結(jié)束后還不會(huì)做基本的程序設(shè)計(jì),這顯然不能滿足信息時(shí)代、新工業(yè)時(shí)代發(fā)展的要求。目前國(guó)家正在開(kāi)展新工科建設(shè),對(duì)人才的知識(shí)結(jié)構(gòu)和能力結(jié)構(gòu)都提出了新的要求,其中數(shù)理運(yùn)算、工程知識(shí)、計(jì)算機(jī)能力、信息能力等是重要組成部分[4],而程序設(shè)計(jì)課程在講授這些知識(shí)和訓(xùn)練這些能力方面具有基礎(chǔ)性地位。因此,需要制定更高的課程標(biāo)準(zhǔn),設(shè)計(jì)更豐富的課程內(nèi)容,安排更充實(shí)的實(shí)踐,以滿足學(xué)生將來(lái)從事科學(xué)研究與工程任務(wù)的計(jì)算需要。
二是提升教師隊(duì)伍的教學(xué)水平。過(guò)去,各個(gè)工科專業(yè)都是自己開(kāi)設(shè)該課程,老師也基本來(lái)自本專業(yè),但這些老師大多數(shù)不是計(jì)算機(jī)相關(guān)專業(yè)科班出身,在程序設(shè)計(jì)的知識(shí)結(jié)構(gòu)上難免會(huì)有些缺項(xiàng)和遺漏。另外,一個(gè)課程組的老師也不多,相互之間能互補(bǔ)互助的效果也不大。因此,老師的知識(shí)缺陷自然會(huì)造成教學(xué)效果打折扣。
三是加強(qiáng)規(guī)范管理。從第一部分的分析可知,不同學(xué)院的教學(xué)在學(xué)時(shí)、學(xué)分、教材、教學(xué)內(nèi)容、教師結(jié)構(gòu)等方面都有較大差異,沒(méi)有統(tǒng)一的標(biāo)準(zhǔn)和規(guī)范。而在大類專業(yè)招生的背景下,學(xué)生在第一學(xué)年結(jié)束后開(kāi)始選專業(yè),教學(xué)內(nèi)容的一致性、學(xué)分的公平性等都很重要,統(tǒng)一的教學(xué)標(biāo)準(zhǔn)和規(guī)范就顯得勢(shì)在必行。
四是有效利用教學(xué)資源。在大類招生和培養(yǎng)背景下,程序設(shè)計(jì)課程變成了學(xué)校的公選課,需要較多的教師、教務(wù)、教室、機(jī)房等教學(xué)資源,這些應(yīng)由學(xué)校統(tǒng)一安排。如何統(tǒng)籌安排和利用好教學(xué)資源,也是學(xué)校需要考慮的一個(gè)重要問(wèn)題。
三、北航的具體探索
為了解決固有問(wèn)題,克服現(xiàn)有困難,達(dá)成預(yù)期的教學(xué)目標(biāo),北航教學(xué)部門對(duì)程序設(shè)計(jì)大類課建設(shè)開(kāi)展了一系列探索。
一是組長(zhǎng)聘任制度。學(xué)校聘任了教學(xué)責(zé)任感強(qiáng)、教學(xué)經(jīng)驗(yàn)豐富、教學(xué)效果優(yōu)秀的教師擔(dān)任課程組長(zhǎng)。在學(xué)校教學(xué)部門領(lǐng)導(dǎo)下,課程建設(shè)實(shí)行組長(zhǎng)負(fù)責(zé)制。組長(zhǎng)負(fù)責(zé)團(tuán)隊(duì)組建、教學(xué)安排、教學(xué)質(zhì)量控制、教學(xué)改革、教師考核等。
二是教師遴選制度。2017年秋季,學(xué)校對(duì)程序設(shè)計(jì)任課教師進(jìn)行公開(kāi)招聘,全校40余名教師在各學(xué)院推薦下報(bào)名競(jìng)聘。首先進(jìn)行上機(jī)編程測(cè)試,有20余名教師獲得通過(guò)。接著,通過(guò)了機(jī)試的老師參加教學(xué)試講。學(xué)校聘請(qǐng)校內(nèi)外專家擔(dān)任評(píng)委,最終確定了16名教師,組成首批教學(xué)團(tuán)隊(duì)。這些教師來(lái)自于全校各學(xué)院,其中信息大類(電子、計(jì)算機(jī)、軟件等)教師約占一半,另一半來(lái)自于其他工科專業(yè)。教學(xué)團(tuán)隊(duì)老師的知識(shí)結(jié)構(gòu)呈現(xiàn)專業(yè)化和多元化,交叉融合特征明顯。
三是質(zhì)量保障制度。課程組定期開(kāi)展集體備課,平均每?jī)芍苓M(jìn)行一次。老師分工負(fù)責(zé)各章節(jié)的講義制作等教學(xué)設(shè)計(jì)。課程組統(tǒng)一教學(xué)標(biāo)準(zhǔn),包括教學(xué)大綱、教學(xué)日歷、講義、習(xí)題等,所有教師都保持課程進(jìn)度大致一致,但每位教師可以發(fā)揮自己的教學(xué)特色、展現(xiàn)自己的教學(xué)個(gè)性與教學(xué)藝術(shù)。
課程組開(kāi)展相互聽(tīng)課與互評(píng)(同行評(píng)議)活動(dòng),每位教師一學(xué)期至少聽(tīng)4次課,對(duì)聽(tīng)課情況進(jìn)行總結(jié)記錄,填寫《聽(tīng)課記錄表》并交給課程組長(zhǎng)。同時(shí),課程組還接受學(xué)校教學(xué)督導(dǎo)組專家的聽(tīng)課。對(duì)于教學(xué)效果反饋不好的教師,課程團(tuán)隊(duì)成員和專家采取多輪次聽(tīng)課方式,了解其教學(xué)情況,并進(jìn)行問(wèn)題診斷,給出改進(jìn)意見(jiàn)。若改進(jìn)效果仍舊難以達(dá)到要求,建議其退出本課程組。
程序設(shè)計(jì)課程實(shí)行統(tǒng)一考試、教考分離。學(xué)校建立了任課教師動(dòng)態(tài)準(zhǔn)入準(zhǔn)出制度,接受優(yōu)秀教師加入課程組,對(duì)教學(xué)質(zhì)量較低的老師進(jìn)行勸退。
四是利用在線編程平臺(tái)開(kāi)展實(shí)踐教學(xué)。平臺(tái)部署在騰訊云上,保證了商業(yè)級(jí)的安全性、穩(wěn)定性和訪問(wèn)效率,有效地解決了學(xué)校資源緊張與學(xué)生實(shí)際需求較大的矛盾。
四、改革成效
我校圍繞大類課建設(shè)目標(biāo),經(jīng)過(guò)一輪教學(xué)改革探索,取得了較好的教學(xué)效果。
一是教學(xué)團(tuán)隊(duì)在遴選任課教師時(shí)不考慮職稱、學(xué)院等因素,只有一個(gè)標(biāo)準(zhǔn),就是唯才是舉。專家組選聘的標(biāo)準(zhǔn)就是看候選人是否有足夠的教學(xué)熱情,是否有較好的編程能力,是否有更好的教學(xué)效果。經(jīng)過(guò)三個(gè)階段(報(bào)名、上機(jī)測(cè)試、試講)的遴選,任課教師的整體教學(xué)水平得到提高,為教學(xué)團(tuán)隊(duì)建設(shè)奠定了良好的基礎(chǔ)。
二是以教學(xué)大團(tuán)隊(duì)的形式開(kāi)展大類課教學(xué),每個(gè)教師有各自的任務(wù)分工,總體上降低了教師的工作量。具體分工表現(xiàn)為:制作講義時(shí),每個(gè)教師負(fù)責(zé)相應(yīng)的章節(jié);專人負(fù)責(zé)上機(jī)實(shí)踐平臺(tái)的運(yùn)營(yíng)與實(shí)踐內(nèi)容的管理;專人負(fù)責(zé)教學(xué)資料的管理;專人負(fù)責(zé)教學(xué)過(guò)程數(shù)據(jù)的分析與反饋,等等。教師工作負(fù)荷減少,可以將更多的精力投入到教學(xué)研究中。
三是在集體備課中,教師們會(huì)圍繞比較基礎(chǔ)、重要、困難的問(wèn)題進(jìn)行分析,開(kāi)展深入的討論,從而對(duì)許多困難的問(wèn)題形成了教師容易執(zhí)行的教法和學(xué)生容易理解的解法。在相互聽(tīng)課、相互評(píng)價(jià)的實(shí)施過(guò)程中,教師之間相互學(xué)習(xí)、相互影響、相互帶動(dòng),教師的教學(xué)熱情得到了更大提高,教師的業(yè)務(wù)水平也不斷提升。
四是加強(qiáng)了教學(xué)規(guī)范性,包括教學(xué)大綱、教學(xué)日歷、講義、作業(yè)、上機(jī)實(shí)踐、備課記錄、聽(tīng)課記錄、考試等各方面的資料都進(jìn)行了循環(huán)檢查,集中管理,使得教學(xué)運(yùn)營(yíng)更加安全可靠。
參考文獻(xiàn):
[1] 段瑩瑩. 大類招生培養(yǎng)模式實(shí)證分析及專業(yè)分流的思考[J]. 北京教育,2010(10): 75-76.
[2] 尹輝,阮秋琦,等. 計(jì)算機(jī)與信息大類招生模式下多學(xué)科交叉創(chuàng)新人才培養(yǎng)改革與實(shí)踐[J]. 計(jì)算機(jī)教育,2014(13): 10-14.
[3] 汪紅兵,姚琳,等. C 語(yǔ)言程序設(shè)計(jì)課程中的計(jì)算思維探析[J]. 中國(guó)大學(xué)教學(xué),2014(9): 59-62.
[4] 姜曉坤,朱泓,李志義. 面向新工業(yè)革命的新工科人才素質(zhì)結(jié)構(gòu)及培養(yǎng)[J]. 中國(guó)大學(xué)教學(xué),2017(12): 13-17.
[資助項(xiàng)目:中央高校教育教學(xué)改革專項(xiàng)“北航大類專業(yè)程序設(shè)計(jì)課程群建設(shè)”、騰訊—教育部產(chǎn)學(xué)合作新工科建設(shè)項(xiàng)目“面向新工科的計(jì)算機(jī)專業(yè)核心課程改革”(201702002005)]
[責(zé)任編輯:夏魯惠]