陸金鈺,秦慶東,盧瑞華,郭恒寧,徐 照
(東南大學(xué) 土木工程學(xué)院,江蘇 南京 210096)
面向土木專業(yè)人才培養(yǎng)的《計(jì)算機(jī)程序設(shè)計(jì)》課程改革實(shí)踐與探索
陸金鈺,秦慶東,盧瑞華,郭恒寧,徐 照
(東南大學(xué) 土木工程學(xué)院,江蘇 南京 210096)
本文在總結(jié)已有的《計(jì)算機(jī)程序設(shè)計(jì)》成功教學(xué)經(jīng)驗(yàn)的基礎(chǔ)上,緊密結(jié)合土木工程專業(yè)背景知識,以《C語言程序設(shè)計(jì)》課程為例,分別從教學(xué)內(nèi)容、教學(xué)手段與方法以及教學(xué)資源建設(shè)等方面實(shí)施改革,提出一套體現(xiàn)專業(yè)特色的教學(xué)創(chuàng)新策略。教學(xué)實(shí)踐表明,激發(fā)了土木工程專業(yè)學(xué)生學(xué)習(xí)的興趣與動力,可有效訓(xùn)練其運(yùn)用程序設(shè)計(jì)語言解決本專業(yè)相關(guān)問題的能力。
C語言程序設(shè)計(jì);土木工程;專業(yè)特色
隨著科學(xué)技術(shù)的不斷發(fā)展,同時(shí)掌握專業(yè)技能及計(jì)算機(jī)編程能力的復(fù)合型人才越來越受到青睞。為適應(yīng)社會發(fā)展的需要,將學(xué)生培養(yǎng)成為既熟悉本專業(yè)知識又能把計(jì)算機(jī)技術(shù)同本專業(yè)領(lǐng)域緊密結(jié)合的人才將成為未來教育改革的趨勢[1]。土木工程,作為一個(gè)工科專業(yè),掌握將計(jì)算機(jī)程序設(shè)計(jì)語言靈活地運(yùn)用于科學(xué)計(jì)算及分析中,以解決專業(yè)理論及工程實(shí)際問題的能力是至關(guān)重要的。目前教師在非計(jì)算機(jī)專業(yè)的程序設(shè)計(jì)課程教學(xué)中往往脫離本專業(yè)的背景,單純地從程序設(shè)計(jì)的理論出發(fā),枯燥的理論將使學(xué)生覺得學(xué)習(xí)程序設(shè)計(jì)課程沒有用,或?qū)Υ苏n程的重要性認(rèn)識不足[2,3]。如何讓土木專業(yè)的學(xué)生更好地掌握這門課程,儲備本專業(yè)研究型科研人才,將對我們的日常教學(xué)提出了新的要求。近年來,在全面總結(jié)已有的《計(jì)算機(jī)程序設(shè)計(jì)》成功教學(xué)經(jīng)驗(yàn)的基礎(chǔ)上,以復(fù)合型研究型人才的培養(yǎng)為目標(biāo),緊密結(jié)合土木專業(yè)背景,提出有針對性的教學(xué)策略,通過教學(xué)實(shí)踐不斷地探索,積累了一定經(jīng)驗(yàn)。
1.學(xué)習(xí)目的不明確。非計(jì)算機(jī)專業(yè)學(xué)生往往對程序設(shè)計(jì)語言課程的學(xué)習(xí)目的不明確[4]。土木工程專業(yè)學(xué)生認(rèn)為所學(xué)內(nèi)容應(yīng)該是如何設(shè)計(jì)建筑結(jié)構(gòu)、橋梁隧道,如何分析梁板柱、地基等,而不是計(jì)算機(jī)專業(yè)才需要學(xué)習(xí)的程序設(shè)計(jì),對計(jì)算機(jī)編程不感興趣,認(rèn)為設(shè)置此課程為多余。學(xué)生對程序設(shè)計(jì)語言課程認(rèn)識的不足直接導(dǎo)致其在學(xué)習(xí)過程中缺乏主動性和積極性,學(xué)習(xí)更加缺乏信心,對計(jì)算機(jī)程序產(chǎn)生畏懼心理。
2.教學(xué)內(nèi)容與專業(yè)背景脫節(jié)。教師在教授程序設(shè)計(jì)課程過于注重語法、語句、基本概念等細(xì)節(jié),忽視培養(yǎng)在算法設(shè)計(jì)、程序編寫以及邏輯思維等方面的能力,沒有讓學(xué)生意識到學(xué)習(xí)程序語言的最終目的是為了解決土木工程領(lǐng)域相關(guān)實(shí)際問題的。教授過程及內(nèi)容過于脫離專業(yè)背景,在授課例題、實(shí)驗(yàn)例題,特別是計(jì)算機(jī)綜合設(shè)計(jì)大作業(yè)方面,沒有專業(yè)特色。
3.缺乏綜合能力的培養(yǎng)?!队?jì)算機(jī)程序設(shè)計(jì)》是一門實(shí)踐性很強(qiáng)的課程。教師往往不注意學(xué)生綜合能力培養(yǎng),包括邏輯思維能力、動手能力、甚至英語閱讀能力。部分學(xué)生反映上課時(shí)能聽懂,可上機(jī)時(shí)卻腦子一片空白,不知從何下手,無法動手編程,出現(xiàn)“聽得懂,編不出”現(xiàn)象,導(dǎo)致對學(xué)習(xí)失去信心;有學(xué)生英語基礎(chǔ)不好,對編譯器的語法錯誤提示看不懂,難以找出程序中的語法錯誤,當(dāng)然更難找出邏輯錯誤。這也導(dǎo)致他們在實(shí)踐過程中過分依賴指導(dǎo)老師,有任何問題就找老師,自己缺乏必要的思考。
程序設(shè)計(jì)語言的選擇對于非計(jì)算機(jī)專業(yè)學(xué)生而言至關(guān)重要。目前,面向?qū)ο蟪绦蛟O(shè)計(jì)語言C++及MFC技術(shù)因其功能豐富、表達(dá)能力強(qiáng)、使用方便靈活、界面友好、人機(jī)互動能力強(qiáng)等特點(diǎn)[5],已成為當(dāng)前程序設(shè)計(jì)的主流,為計(jì)算機(jī)專業(yè)工作者和計(jì)算機(jī)應(yīng)用開發(fā)人員所喜愛。然而此編程語言涉及的概念比較復(fù)雜、程序設(shè)計(jì)規(guī)則繁多卻自由靈活、容易出錯,實(shí)踐表明,土木工程專業(yè)本科生在學(xué)習(xí)過程中出現(xiàn)不同程度的畏難心理。在眾多高級語言中,結(jié)構(gòu)化程序設(shè)計(jì)語言C遵循自頂向下、逐步細(xì)化、模塊化設(shè)計(jì)、結(jié)構(gòu)化編碼,較為實(shí)用并非常適合科學(xué)計(jì)算,對于土木工程專業(yè)的學(xué)生今后進(jìn)行科研實(shí)踐過程中編程能力是不可或缺的,并對今后學(xué)習(xí)其他編程工具(如matlab、autolisp等)具有十分重要的意義。另外,通過對國內(nèi)同濟(jì)大學(xué)、清華大學(xué)、哈爾濱工業(yè)大學(xué)、浙江大學(xué)、大連理工大學(xué)等土木強(qiáng)校進(jìn)行前期調(diào)研發(fā)現(xiàn),大多數(shù)高校針對土木工程本科專業(yè)的培養(yǎng)計(jì)劃中《計(jì)算機(jī)程序設(shè)計(jì)》課程為C語言或FORTRAN語言。因此最終選擇《C語言程序設(shè)計(jì)》,旨在讓學(xué)生掌握這門高級語言及相關(guān)編譯環(huán)境,掌握結(jié)構(gòu)化程序設(shè)計(jì)思想及方法,利用C語言解決一般應(yīng)用問題,為后續(xù)的專業(yè)課程奠定程序設(shè)計(jì)基礎(chǔ),尤其是利用所學(xué)語言編程解決土木工程專業(yè)實(shí)際問題。對愿進(jìn)一步深入學(xué)習(xí)的學(xué)生,擬在高年級開設(shè)C++語言,使學(xué)生掌握編制大型軟件程序技能(包括運(yùn)用MFC技術(shù)編制人機(jī)可視化交流界面),適合今后立志于從事土木工程專業(yè)軟件開發(fā)的學(xué)生。這種分層次的教學(xué)手段,更有利于教學(xué)改革的實(shí)施和推進(jìn)。
從專業(yè)化教學(xué)內(nèi)容、教學(xué)實(shí)踐運(yùn)用、綜合能力培養(yǎng)、專業(yè)化題庫建設(shè)四個(gè)方面實(shí)施。方案實(shí)施前,進(jìn)行學(xué)生情況及土木工程專業(yè)相關(guān)兄弟院校調(diào)研,掌握普遍存在的問題,針對性進(jìn)行改革。
1.各環(huán)節(jié)中強(qiáng)調(diào)與土木專業(yè)的緊密性。在教案、課件PPT、上機(jī)實(shí)驗(yàn)甚至考試等方面有針對性地引入土木工程
專業(yè)背景知識,合理地分配程序設(shè)計(jì)理論知識及專業(yè)應(yīng)用課時(shí)的分配及相關(guān)教學(xué)計(jì)劃。任課教師尤其要上好第一節(jié)課,需強(qiáng)調(diào)學(xué)習(xí)程序設(shè)計(jì)課程的用途、重要性,以及與將來學(xué)習(xí)的土木工程專業(yè)課程的緊密性。列舉計(jì)算機(jī)編程在專業(yè)學(xué)習(xí)以及應(yīng)用中的重要性,展示相關(guān)案例,讓學(xué)生理解學(xué)習(xí)該課程的目的并明確課程的意義。比如可對ANSYS、SAP2000、Opensees等有限元軟件進(jìn)行二次開發(fā)等。在平時(shí)講授過程中,可適時(shí)提出土木工程前沿問題及其與計(jì)算機(jī)的關(guān)聯(lián)程度,列舉利用計(jì)算機(jī)編程解決土木工程專業(yè)問題的案例,著重訓(xùn)練學(xué)生學(xué)以致用的能力。比如講解到二維數(shù)組時(shí),可聯(lián)系結(jié)構(gòu)力學(xué)中的矩陣位移法,告之學(xué)生可利用C語言編制程序解決結(jié)構(gòu)靜力分析;運(yùn)用函數(shù)及一維數(shù)組等知識點(diǎn)則可以解決施工組織設(shè)計(jì)、試驗(yàn)數(shù)據(jù)處理、管網(wǎng)水利分析等專業(yè)問題。
2.開發(fā)專業(yè)化教學(xué)的手段與方法。在教學(xué)過程中,運(yùn)用多媒體動畫技術(shù)輔助教學(xué),結(jié)合MFC可視化編程技術(shù)和有土木工程專業(yè)特色的高質(zhì)量教學(xué)課件,形象地體現(xiàn)教學(xué)內(nèi)容,化抽象為直觀,使原本較枯燥抽象的教學(xué)內(nèi)容通過合適的載體向?qū)W生體現(xiàn),激發(fā)學(xué)生的學(xué)習(xí)興趣,強(qiáng)化教學(xué)效果,發(fā)展學(xué)生的主觀思維能力。課堂教學(xué)應(yīng)注重編程演示以及分組討論、交流,力求理論知識形象化。注重上機(jī)實(shí)踐能力,做好實(shí)驗(yàn)課的答疑。課后通過電子郵件、網(wǎng)站等現(xiàn)代化網(wǎng)絡(luò)信息平臺解答學(xué)生的疑問,并及時(shí)進(jìn)行交流,接收掌握學(xué)生的負(fù)反饋。實(shí)現(xiàn)教與學(xué)融合、師生互動。
3.培養(yǎng)學(xué)生的綜合運(yùn)用能力。在課堂講授及試題訓(xùn)練中突出算法設(shè)計(jì)環(huán)節(jié),教學(xué)重點(diǎn)從語法向程序設(shè)計(jì)改變,培養(yǎng)學(xué)生算法分析的能力。通過專業(yè)化課件、例題、案例的運(yùn)用,培養(yǎng)學(xué)生解決土木工程專業(yè)實(shí)際問題的能力。平時(shí)適時(shí)傳授相關(guān)英語詞匯,試點(diǎn)選用“The C programming Language”等英文原版教材,增強(qiáng)學(xué)生編譯調(diào)試程序的能力。
通過短學(xué)期計(jì)算機(jī)綜合設(shè)計(jì)任務(wù)的鍛煉,提高學(xué)生編制大程序、綜合應(yīng)用創(chuàng)新能力,并通過分工合作手段,提升學(xué)生團(tuán)隊(duì)協(xié)作能力。
4.建立專業(yè)化的程序設(shè)計(jì)試題庫。土木工程中力學(xué)分析計(jì)算、工程預(yù)決算都離不開工程軟件的支持,土木工程專業(yè)背景與計(jì)算機(jī)編程兩者的結(jié)合將激發(fā)本專業(yè)學(xué)生對程序設(shè)計(jì)學(xué)習(xí)的興趣、提高學(xué)生的學(xué)習(xí)效率,并打好扎實(shí)的工程計(jì)算編程能力,使其能學(xué)以致用。如何切實(shí)地在《計(jì)算機(jī)程序設(shè)計(jì)》課程的教學(xué)過程中有機(jī)地植入土木工程專業(yè)知識、體現(xiàn)本專業(yè)特色是教學(xué)實(shí)踐的關(guān)鍵。首先可通過搜集資料,篩選適合植入程序設(shè)計(jì)試題的結(jié)構(gòu)工程、防災(zāi)減災(zāi)、巖土工程、橋隧工程、工程管理、結(jié)構(gòu)實(shí)驗(yàn)等學(xué)科專業(yè)知識,并分別針對授課用案例、習(xí)題、上機(jī)實(shí)驗(yàn)的特點(diǎn),進(jìn)行分類。并對“計(jì)算機(jī)綜合課程設(shè)計(jì)”,編制土木工程專業(yè)性強(qiáng)的課程設(shè)計(jì)任務(wù)書。其次,教師進(jìn)行試題試做,按難度分類,方便學(xué)生選擇,形成初步的題庫。最后,在教學(xué)過程中不斷完善、改進(jìn),擴(kuò)充并優(yōu)化題庫。但需要指出的是,學(xué)習(xí)《C語言程序設(shè)計(jì)》的一般均為大一新生,他們并未開始學(xué)習(xí)結(jié)構(gòu)力學(xué)等專業(yè)課程。因此,設(shè)計(jì)的案例應(yīng)遵循以下原則:需給出土木專業(yè)背景知識;學(xué)生無需具備專業(yè)知識也能解題;不宜過于復(fù)雜。
如在考核學(xué)生在數(shù)組及函數(shù)方面的掌握程度時(shí),可根據(jù)結(jié)構(gòu)力學(xué)中整體剛度矩陣的集成、剛度矩陣的高斯消去法等知識點(diǎn)設(shè)計(jì)試題。以下為一案例。
圖1 結(jié)構(gòu)模型
請寫出以下程序執(zhí)行后的輸出結(jié)果。本題背景:運(yùn)用矩陣位移法編制C語言程序可計(jì)算圖1所示結(jié)構(gòu)在荷載P作用下節(jié)點(diǎn)C位移及各構(gòu)件內(nèi)力(假定構(gòu)件軸向剛度EA=1,抗彎剛度EI=1)。本程序?yàn)榻Y(jié)構(gòu)分析重要環(huán)節(jié),用于轉(zhuǎn)化剛度矩陣,設(shè)數(shù)組stiffnessM為結(jié)構(gòu)剛度矩陣。
本題實(shí)質(zhì)是對圖1所示結(jié)構(gòu)的整體剛度矩陣進(jìn)行高斯消去法,將總剛轉(zhuǎn)化后成為上三角矩陣,便于后續(xù)的節(jié)點(diǎn)位移計(jì)算。雖然無需專業(yè)知識,學(xué)生通過閱讀程序也可寫出結(jié)果,但整個(gè)求解過程卻讓他感受到切實(shí)解決了一個(gè)專業(yè)問題,這樣不僅激發(fā)了學(xué)生學(xué)習(xí)程序設(shè)計(jì)的熱情,而且等到他接觸結(jié)構(gòu)力學(xué)中的矩陣位移法時(shí),也將有意識地嘗試用編程來解決其他相關(guān)問題。
以復(fù)合型人才教學(xué)研究為目標(biāo),緊密結(jié)合土木工程專業(yè)背景,提出有針對性的教學(xué)策略。將土木專業(yè)背景知識有機(jī)地引入到程序設(shè)計(jì)課程的教學(xué)過程各個(gè)環(huán)節(jié)中,選取理論聯(lián)系實(shí)踐的教學(xué)方法,輔以可視化編程技術(shù),極大激發(fā)本專業(yè)學(xué)生學(xué)習(xí)的積極性;緊密結(jié)合課堂教學(xué)、上機(jī)實(shí)踐及綜合課程設(shè)計(jì)三大環(huán)節(jié),開發(fā)適用于計(jì)算程序設(shè)計(jì)課程專業(yè)化教學(xué)的手段與方法,形成具有土木工程專業(yè)特色的試題庫;對學(xué)生的多方面能力進(jìn)行鍛煉,為復(fù)合型創(chuàng)新人才的培養(yǎng)打下堅(jiān)實(shí)基礎(chǔ)。將改變目前土木工程專業(yè)程序設(shè)計(jì)課程難教也難學(xué)的現(xiàn)象,對于促進(jìn)高校非計(jì)算機(jī)專業(yè)程序設(shè)計(jì)課程教學(xué)的發(fā)展、培養(yǎng)高素質(zhì)土木工程專業(yè)人才、推進(jìn)高校教學(xué)改革的研究與實(shí)踐有較大的促進(jìn)作用和現(xiàn)實(shí)意義。
[1]楊秀平,許勁,陳翔.非計(jì)算機(jī)專業(yè)計(jì)算機(jī)公共課程教學(xué)改革的思考與探索[J].長沙大學(xué)學(xué)報(bào),2003,17(2):89-91.
[2]謝步瀛,王祎.與土木工程專業(yè)相結(jié)合的VB教學(xué)[J].高等建筑教育,2007,16(3):120-123.
[3]陳麗花.非計(jì)算機(jī)專業(yè)《計(jì)算機(jī)程序設(shè)計(jì)基礎(chǔ)》課程教學(xué)改革研究[J].學(xué)理論,2010,(3):175-176. [4]教傳艷.淺談機(jī)械專業(yè)C語言課程教改方法之實(shí)踐[J].科技創(chuàng)新導(dǎo)報(bào),2009,(27):131.
[5]劉樹新,李革.面向?qū)ο蟪绦蛟O(shè)計(jì)在材料力學(xué)教學(xué)改革中的應(yīng)用[J].石家莊鐵道學(xué)院學(xué)報(bào),2006,19(Supp):190-191(226).
G642.0
A
1674-9324(2014)04-0213-03
東南大學(xué)教學(xué)改革項(xiàng)目(2010-018),江蘇省高校優(yōu)勢學(xué)科建設(shè)項(xiàng)目。
陸金鈺(1981-),男,博士,副教授,主要研究方向?yàn)榭臻g結(jié)構(gòu)、鋼結(jié)構(gòu)。