廖彬 黃小虎 吳鑫成 黃榕榕
摘? 要 針對C語言程序設(shè)計在理學(xué)專業(yè)程序設(shè)計課程群中的作用與教學(xué)現(xiàn)狀,基于現(xiàn)階段的本科建設(shè)任務(wù)與學(xué)生特點(diǎn),合理編排C語言程序設(shè)計的理論和實(shí)踐教學(xué)內(nèi)容,結(jié)合教育技術(shù)與教育資源的發(fā)展,融合線上與線下教學(xué),從而促進(jìn)學(xué)生程序設(shè)計、計算思維能力的提高,實(shí)現(xiàn)培養(yǎng)創(chuàng)新人才的目標(biāo)。
關(guān)鍵詞 理學(xué)專業(yè);C語言程序設(shè)計;教學(xué)方法;線上教學(xué)平臺;實(shí)踐教學(xué);計算思維
中圖分類號:G434? ? 文獻(xiàn)標(biāo)識碼:B
文章編號:1671-489X(2021)24-0049-03
Study on Teaching Method of C Language Programming for Science Majors//LIAO Bin, HUANG Xiaohu, WU Xincheng, HUANG Rongrong
Abstract In view of the role and teaching status of C language pro-
gramming in the programming course group of science majors, the
paper studies on the theoretical and practical teaching content and
arrangement of C language programming based on the undergraduate
teaching and students’ characteristics. This research is going to im-prove students’ programming and innovation ability by combining the online/offline teaching technology and resources.
Key words science majors; C language programming; teaching me-thods; online teaching platform; practical teaching; computational thinking
0? 前言
信息技術(shù)已經(jīng)被大量運(yùn)用在當(dāng)前社會的各行各業(yè)中,由此導(dǎo)致現(xiàn)階段我國社會對專業(yè)人才的信息處理能力的要求逐漸提高[1]。在信息處理能力中,程序設(shè)計能力是必不可少的組成部分,而信息處理中的程序設(shè)計能力的核心[2]主要包括編程能力、計算思維和算法能力。
在理學(xué)專業(yè)本科教學(xué)中,程序設(shè)計課程群的主干課程由C語言程序設(shè)計、離散數(shù)學(xué)、數(shù)據(jù)結(jié)構(gòu)、算法組成。學(xué)生通過學(xué)習(xí)此課程群的主干課程,掌握編程基本思想與技能,從而具有程序設(shè)計能力、計算思維和基本算法實(shí)現(xiàn)能力。其中,C語言程序設(shè)計作為專業(yè)學(xué)習(xí)的第一門編程語言,能使學(xué)生了解、掌握和運(yùn)用程序設(shè)計的基本概念、原理與方法,從而訓(xùn)練和培養(yǎng)學(xué)生的程序設(shè)計與程序調(diào)試能力,具備程序設(shè)計的基本能力。該課程是現(xiàn)階段大部分學(xué)科中程序設(shè)計培養(yǎng)的入門課程,通過學(xué)習(xí)該課程,能為學(xué)生后續(xù)學(xué)習(xí)其他編程語言及相關(guān)課程打下堅實(shí)的基礎(chǔ)。
C語言程序設(shè)計在程序設(shè)計課程群中具有重要作用,同時由于其具有實(shí)踐性強(qiáng)的特點(diǎn),因此要求學(xué)生在該課程的學(xué)習(xí)中學(xué)以致用,以實(shí)現(xiàn)理論向?qū)嵺`的轉(zhuǎn)化,并能充分理解程序設(shè)計基本知識,能靈活應(yīng)用,為后續(xù)相關(guān)課程的學(xué)習(xí)做好理論知識與應(yīng)用能力的準(zhǔn)備。在針對理科專業(yè)開設(shè)的C語言程序設(shè)計教學(xué)中,結(jié)合該課程在程序設(shè)計課程群中的作用與教學(xué)現(xiàn)狀,基于現(xiàn)有的教學(xué)設(shè)置,合理編排理論教學(xué)與實(shí)踐教學(xué)內(nèi)容,從教學(xué)內(nèi)容和實(shí)驗設(shè)置出發(fā),探索適用于當(dāng)前理學(xué)專業(yè)的C語言程序設(shè)計課程教學(xué)方法。
1? 理學(xué)專業(yè)C語言程序設(shè)計課程教學(xué)現(xiàn)狀
在現(xiàn)階段的教學(xué)中,理論教學(xué)與實(shí)踐教學(xué)是C語言程序設(shè)計教學(xué)的必要組成部分[3],學(xué)生通過在C語言程序設(shè)計的實(shí)踐教學(xué)中理解與加強(qiáng)理論課所授知識,并通過實(shí)踐過程提高分析、解決問題的能力。為此,需要根據(jù)學(xué)生的專業(yè)特點(diǎn)有針對性地為C語言程序設(shè)計的教學(xué)活動合理地編排理論課、實(shí)踐課教學(xué)內(nèi)容,并充分利用已有的在線教學(xué)內(nèi)容與移動手機(jī)端編程方式使理論與實(shí)踐互相促進(jìn),從而使學(xué)生能充分理解與掌握該課程知識。
1.1? 零起點(diǎn)程序設(shè)計教學(xué)
在大部分院校早期的理科課程設(shè)置中,入校新生一般先學(xué)習(xí)大學(xué)計算機(jī)基礎(chǔ)課程,其后開始學(xué)習(xí)C語言程序設(shè)計。隨著近年來國家在高中階段對信息技術(shù)課程的重視,越來越多的高中開設(shè)了信息技術(shù)初級課程。與此相適應(yīng),許多高校開始對大一新生的信息學(xué)課程設(shè)置進(jìn)行改革,將程序設(shè)計類課程的教學(xué)前移,以期更快更好地提高現(xiàn)階段大學(xué)生對信息技術(shù)的掌握程度。
在華南農(nóng)業(yè)大學(xué)近年開始實(shí)行的部分理科課程教學(xué)改革中,在大學(xué)本科第一學(xué)期即開設(shè)C語言程序設(shè)計,不再開設(shè)大學(xué)計算機(jī)基礎(chǔ)課程,因此,C語言程序設(shè)計成為此類專業(yè)學(xué)生入校后的第一門信息類課程。雖然近年來部分高中開設(shè)了信息學(xué)課程,但是由于高中階段的高考主導(dǎo)作用,以及缺少足夠的教師、配套硬件等,大部分大一新生對程序設(shè)計所需的理論基礎(chǔ)知識較為陌生,如計算機(jī)軟硬件系統(tǒng)結(jié)構(gòu),進(jìn)位計數(shù)制,二、八、十、十六不同進(jìn)制數(shù)之間的轉(zhuǎn)換,不同數(shù)據(jù)類型在計算機(jī)中的表示與存放等。在此狀況下的程序設(shè)計教學(xué),與零起點(diǎn)程序設(shè)計教學(xué)有諸多相似之處。如果在C語言程序設(shè)計教學(xué)中,不考慮前期課程設(shè)置的變化,機(jī)械照搬以往的教學(xué)編排與教學(xué)內(nèi)容,將在一定程度上增加學(xué)生理解與掌握概念的難度,并會影響后續(xù)相關(guān)課程的學(xué)習(xí)。
1.2? 程序設(shè)計教學(xué)內(nèi)容與學(xué)生的學(xué)習(xí)興趣
C語言程序設(shè)計作為專業(yè)基礎(chǔ)課程,近年來的教學(xué)大綱較穩(wěn)定,教學(xué)內(nèi)容更新不多,這導(dǎo)致該課程的教學(xué)內(nèi)容在一定程度上與實(shí)際應(yīng)用的聯(lián)系不太緊密。隨著信息技術(shù)在社會生活方方面面的使用,學(xué)生日常對科技知識與科技信息的獲取更為便捷。同時,近年來隨著自主意識的增強(qiáng),學(xué)生的創(chuàng)新思維更加活躍,由此引發(fā)了他們對課程所學(xué)知識與專業(yè)應(yīng)用、工程應(yīng)用聯(lián)系的關(guān)注。若在授課中僅使用傳統(tǒng)案例講授與展示學(xué)科知識,則難以調(diào)動學(xué)生的學(xué)習(xí)積極性,不利于激發(fā)學(xué)生的學(xué)習(xí)興趣,導(dǎo)致不利于創(chuàng)新人才的培養(yǎng)。對此,通過將學(xué)生專業(yè)的相關(guān)應(yīng)用實(shí)例適度引入傳統(tǒng)教學(xué)內(nèi)容,借此提高學(xué)生的學(xué)習(xí)興趣,達(dá)到實(shí)現(xiàn)培養(yǎng)創(chuàng)新人才的目的。
1.3? 后續(xù)課程的銜接
在程序設(shè)計課程群中,C語言程序設(shè)計的后續(xù)課程通常包括數(shù)據(jù)結(jié)構(gòu)、算法分析與設(shè)計。數(shù)據(jù)結(jié)構(gòu)主要介紹使用計算機(jī)解決問題時組織數(shù)據(jù)、存儲數(shù)據(jù)結(jié)構(gòu)以及在各種結(jié)構(gòu)上執(zhí)行操作的方法。算法分析與設(shè)計教學(xué)內(nèi)容一般包括遞歸法、分治法、動態(tài)規(guī)劃算法等。通過數(shù)據(jù)結(jié)構(gòu)和算法的結(jié)合,培養(yǎng)學(xué)生解決實(shí)際問題的能力。在傳統(tǒng)教學(xué)中,數(shù)據(jù)結(jié)構(gòu)講授的數(shù)據(jù)關(guān)系較為抽象。在算法分析與設(shè)計教學(xué)中,培養(yǎng)學(xué)生分析與設(shè)計算法的能力是教學(xué)目標(biāo)之一。若前期C語言程序設(shè)計中的知識與實(shí)踐掌握不牢,將影響后續(xù)對數(shù)據(jù)結(jié)構(gòu)、算法等相關(guān)課程知識的掌握。C語言程序設(shè)計、數(shù)據(jù)結(jié)構(gòu)和算法分析與設(shè)計作為程序設(shè)計課程群中的主體課程,教學(xué)目標(biāo)都包括培養(yǎng)學(xué)生解決實(shí)際問題的程序設(shè)計能力,然而在傳統(tǒng)教學(xué)中,這三門課程的教學(xué)與實(shí)驗相對獨(dú)立,課程間的實(shí)驗內(nèi)容較少銜接與統(tǒng)一。為了實(shí)現(xiàn)課程群間相關(guān)課程的延續(xù)性與一貫性,需要在C語言程序設(shè)計教學(xué)中為后續(xù)數(shù)據(jù)結(jié)構(gòu)、算法分析與設(shè)計的學(xué)習(xí)適當(dāng)引入相關(guān)內(nèi)容,循序漸進(jìn)地逐步構(gòu)建數(shù)據(jù)結(jié)構(gòu)與算法的知識體系,實(shí)現(xiàn)程序設(shè)計課程群中各門課程知識的統(tǒng)一與銜接。
2? 理論教學(xué)、實(shí)踐教學(xué)與教學(xué)手段的改革探索
在C語言程序設(shè)計教學(xué)初期,需要先為學(xué)生鞏固相關(guān)的數(shù)據(jù)表示與存儲、進(jìn)制轉(zhuǎn)換的概念;在教學(xué)后期,需要有針對性地強(qiáng)化學(xué)生的程序設(shè)計能力,為后續(xù)的數(shù)據(jù)結(jié)構(gòu)、算法知識的學(xué)習(xí)打下良好的基礎(chǔ),并通過程序設(shè)計的學(xué)習(xí)與實(shí)踐,提高學(xué)生的程序設(shè)計和實(shí)現(xiàn)能力。在線下的面授教學(xué)中,充分利用疫情期間建立的線上教學(xué)平臺與取得較好效果的線上教學(xué)經(jīng)驗,將適宜的線上教學(xué)手段與合理設(shè)計、編排的程序設(shè)計教學(xué)內(nèi)容相結(jié)合,使學(xué)生更好地掌握與理解C語言程序設(shè)計知識,并能建立起程序、數(shù)據(jù)結(jié)構(gòu)和算法之間的聯(lián)系。
2.1? 理論課教學(xué)內(nèi)容與案例設(shè)計
C語言程序設(shè)計課程是學(xué)生接觸的第一門程序設(shè)計語言,其包含的概念、原理、方法較多,技巧靈活且繁雜,需要針對所學(xué)專業(yè)學(xué)生的特點(diǎn)進(jìn)行合適的教學(xué)內(nèi)容設(shè)計??紤]到大部分理學(xué)專業(yè)新生對程序設(shè)計所需的信息技術(shù)基礎(chǔ)了解不多,在實(shí)際教學(xué)中,在講授程序設(shè)計內(nèi)容前增加講授程序設(shè)計所需的信息技術(shù)基礎(chǔ)知識的內(nèi)容,具體包括計算機(jī)系統(tǒng)基礎(chǔ)知識、微型計算機(jī)的硬件組成、數(shù)制及其相互轉(zhuǎn)換、數(shù)值數(shù)據(jù)編碼、西文字符編碼。學(xué)生掌握了這些信息技術(shù)基礎(chǔ)知識后,將能較好地掌握與理解程序設(shè)計中諸如數(shù)據(jù)類型與存儲、變量與常量、表達(dá)式與運(yùn)算、輸入與輸出等知識。
由于理學(xué)專業(yè)后續(xù)的專業(yè)課程中通常涉及較多的數(shù)值計算、數(shù)據(jù)分析等,若學(xué)生能在程序設(shè)計學(xué)習(xí)中盡早地掌握信息化手段,使用程序設(shè)計知識完成數(shù)據(jù)分析等任務(wù),將極大地提高專業(yè)學(xué)習(xí)興趣并能提升專業(yè)素養(yǎng),有助于培養(yǎng)創(chuàng)新能力。為此,在C語言程序設(shè)計教學(xué)中主要使用數(shù)值計算、數(shù)據(jù)分析等作為教學(xué)的示例案例。如在講授了選擇與循環(huán)知識點(diǎn)后,使用示例程序“水仙花數(shù)的判斷”展示選擇與判斷的綜合使用。通過引入此類內(nèi)容,既能對已學(xué)的程序設(shè)計知識進(jìn)行簡單回顧,也能為后續(xù)的數(shù)值計算、數(shù)據(jù)分析等相應(yīng)概念的表示與實(shí)現(xiàn)打下前期基礎(chǔ)。
2.2? 實(shí)驗課教學(xué)內(nèi)容的設(shè)計
在程序設(shè)計課程群中,實(shí)踐教學(xué)作為C語言程序設(shè)計知識內(nèi)化的有效途徑,有助于提升學(xué)生的探究與創(chuàng)新能力。針對C語言程序設(shè)計的實(shí)驗需要設(shè)計能有效檢驗知識點(diǎn)的實(shí)驗內(nèi)容。以循環(huán)的實(shí)驗為例,實(shí)踐教學(xué)安排的實(shí)驗內(nèi)容為“整數(shù)間的數(shù)制轉(zhuǎn)換”。數(shù)制轉(zhuǎn)換的基本方法是大學(xué)計算機(jī)基礎(chǔ)課程的內(nèi)容,在C語言程序設(shè)計中進(jìn)行了補(bǔ)充學(xué)習(xí),且通常大部分理學(xué)專業(yè)學(xué)生能較好地掌握。通過數(shù)制轉(zhuǎn)換的編程實(shí)驗,既能考查學(xué)生對計算機(jī)基礎(chǔ)知識的掌握與理解情況,也能反映學(xué)生對循環(huán)、選擇、輸出格式控制的掌握情況。
2.3? 線上線下融和
近年來,隨著個人電腦、智能移動設(shè)備的普及以及網(wǎng)絡(luò)建設(shè)的發(fā)展,在線教育具備了推廣與普及的條件。各高校紛紛推出在線精品課程、MOOC課程等線上教學(xué)方式,對教學(xué)空間與廣度進(jìn)行拓展。2020年初,在新冠疫情嚴(yán)峻的形勢下,學(xué)校教學(xué)采用完全在線教學(xué)的形式。在此期間,為了適應(yīng)網(wǎng)絡(luò)教學(xué)的特點(diǎn),保證學(xué)習(xí)效果,無論是教學(xué)設(shè)計還是教學(xué)組織,都突破傳統(tǒng),進(jìn)行重新規(guī)劃。各門課程的教師利用在線教學(xué)的優(yōu)勢,充分發(fā)揮信息化教學(xué)的優(yōu)勢[4],
積累與總結(jié)了許多教學(xué)經(jīng)驗[5]。在恢復(fù)線下教學(xué)后,仍可繼續(xù)利用疫情期間的線上教學(xué)資源、教學(xué)優(yōu)勢。
在線下教學(xué)中,課前根據(jù)教學(xué)內(nèi)容確定學(xué)生需要掌握的知識點(diǎn)和相關(guān)能力,在學(xué)校建立的教學(xué)平臺上布置課前需要觀看的視頻并發(fā)布預(yù)習(xí)問題。在線下面授課中,教師先采用講授的教學(xué)模式講解本課需要掌握的知識點(diǎn),其后引導(dǎo)學(xué)生討論與交流在預(yù)習(xí)、自主學(xué)習(xí)中易出錯與混淆的問題。課后通過在線課后作業(yè)與測驗了解學(xué)生對知識點(diǎn)的掌握程度,可迅速地獲得學(xué)生學(xué)習(xí)情況的反饋。
C語言程序設(shè)計是一門與實(shí)踐緊密結(jié)合的課程。在教學(xué)中通過引入移動手機(jī)端編程應(yīng)用,使學(xué)生在有限的實(shí)踐課外能隨時隨地、快速便捷地檢驗與測試所學(xué)的程序設(shè)計知識,更利于學(xué)生掌握C語言程序設(shè)計的理論知識,并極大地豐富學(xué)生的編程實(shí)踐經(jīng)驗。
3? 結(jié)語
本文從C語言程序設(shè)計與程序設(shè)計課程群之間的關(guān)系出發(fā),結(jié)合現(xiàn)階段的本科建設(shè)任務(wù)與學(xué)生特點(diǎn),針對理學(xué)專業(yè)的C語言程序設(shè)計理論教學(xué)和實(shí)踐教學(xué)進(jìn)行合理編排,充分利用現(xiàn)代化的教學(xué)平臺與教學(xué)手段,對現(xiàn)階段高校理學(xué)專業(yè)C語言程序設(shè)計課程教學(xué)進(jìn)行改革與實(shí)踐,通過融入線上線下教學(xué)的教學(xué)改革以提高教學(xué)效率,增強(qiáng)教學(xué)效果,從而培養(yǎng)學(xué)生的創(chuàng)新能力,達(dá)到培養(yǎng)創(chuàng)新型人才的教學(xué)目的?!?/p>
參考文獻(xiàn)
[1]張先偉,曲志堅,張立紅,等.程序設(shè)計能力培養(yǎng)體系建設(shè)與實(shí)踐[J].計算機(jī)教育,2019(9):75-79.
[2]蔣宗禮.計算機(jī)類專業(yè)人才專業(yè)能力構(gòu)成與培養(yǎng)[J].中國大學(xué)教學(xué),2011(10):11-14.
[3]楊傳棟,范昊,王志軍,等.非計算機(jī)專業(yè)C語言程序設(shè)計教學(xué)方法研究[J].教育教學(xué)論壇,2020(36):284-285.
[4]李薇,黑新宏,王磊,等.C語言程序設(shè)計課程的在線教學(xué)組織與實(shí)踐[J].計算機(jī)教育,2020(10):37-41.
[5]白琳.疫情期間基于教學(xué)共同體的精準(zhǔn)在線教學(xué)設(shè)計:以C語言程序設(shè)計課程為例[J].計算機(jī)教育,2021(1):36-41.