蔣聯(lián)源+袁浩浩+王智文+藍(lán)紅莉
摘要:信息技術(shù)類學(xué)科知識(shí)更新快、實(shí)踐性強(qiáng),有效培養(yǎng)信息技術(shù)類專業(yè)學(xué)生的創(chuàng)新能力和計(jì)算思維能力,是當(dāng)前教學(xué)改革中的一項(xiàng)重要任務(wù)。文中以C語言課程設(shè)計(jì)的實(shí)踐教學(xué)為例,從框架設(shè)計(jì)、功能實(shí)現(xiàn)、修改完善、解決新問題這四個(gè)方面展開討論,以提高信息技術(shù)類專業(yè)學(xué)生的計(jì)算思維能力。近幾年的教學(xué)實(shí)踐評(píng)估及反饋表明,教學(xué)效果達(dá)到了預(yù)期目標(biāo),對(duì)學(xué)生計(jì)算思維能力的培養(yǎng)有一定促進(jìn)作用。
關(guān)鍵詞:信息技術(shù)類專業(yè);實(shí)踐教學(xué);計(jì)算思維能力;課程設(shè)計(jì)
中圖分類號(hào):G642.0 文獻(xiàn)標(biāo)志碼:A 文章編號(hào):1674-9324(2017)41-0273-02
實(shí)踐教學(xué)是信息技術(shù)類專業(yè)中的一個(gè)重要環(huán)節(jié),能進(jìn)一步加深學(xué)生對(duì)理論教學(xué)內(nèi)容的理解,培養(yǎng)學(xué)生的動(dòng)手能力和創(chuàng)新能力。北京大學(xué)、清華大學(xué)等高校于2010年在西安召開的“九校聯(lián)盟(C9)計(jì)算機(jī)基礎(chǔ)課程研討會(huì)”,教育部高教司于2012年開展的"大學(xué)計(jì)算機(jī)課程改革研討會(huì)",都強(qiáng)調(diào)了培養(yǎng)大學(xué)生計(jì)算思維能力的重要性和迫切性。文中以C語言的課程設(shè)計(jì)為切入點(diǎn),對(duì)信息技術(shù)類專業(yè)學(xué)生的計(jì)算思維能力培養(yǎng)進(jìn)行探討。對(duì)于培養(yǎng)大學(xué)生計(jì)算思維能力的教學(xué)研究,近幾年引起了眾多學(xué)者的廣泛關(guān)注。比如,馮博琴[1]對(duì)計(jì)算思維能力培養(yǎng)的落地過程中一些普遍性問題進(jìn)行了探討;鄧輝文等[2]從計(jì)算思維的角度對(duì)計(jì)算機(jī)問題求解課程的多個(gè)方面進(jìn)行了分析。在C語言課程設(shè)計(jì)的教學(xué)改革方面,相關(guān)教學(xué)工作者也提出了自己的觀點(diǎn)和教學(xué)措施。比如,吳麗娟等[3]從教學(xué)目標(biāo)、實(shí)施流程以及教學(xué)策略三個(gè)方面,介紹了一種C語言課程設(shè)計(jì)的教學(xué)模式;武航星等[4]闡述了基于Funcode平臺(tái)的C語言課程設(shè)計(jì)的教學(xué)實(shí)施過程。
一、課程設(shè)計(jì)的題目
設(shè)計(jì)并實(shí)現(xiàn)一個(gè)簡(jiǎn)單的學(xué)生成績(jī)管理系統(tǒng)。該系統(tǒng)包括輸入學(xué)生成績(jī)、輸出學(xué)生成績(jī)、追加一個(gè)學(xué)生的成績(jī)、刪除一個(gè)學(xué)生的成績(jī)、查詢一個(gè)學(xué)生的成績(jī)、修改一個(gè)學(xué)生的成績(jī)、保存學(xué)生成績(jī)到文件、從文件中讀取學(xué)生成績(jī)等功能。說明:(1)信息技術(shù)類專業(yè)的C語言課程設(shè)計(jì)一般是開設(shè)在大一第一個(gè)學(xué)期的最后兩周,學(xué)生的專業(yè)知識(shí)非常有限,因此該課程設(shè)計(jì)的主要目的是鍛煉學(xué)生的編程能力,而對(duì)學(xué)生所設(shè)計(jì)的系統(tǒng)不做專業(yè)性要求。(2)以2-3人為一組來完成課程設(shè)計(jì),以鍛煉學(xué)生的團(tuán)隊(duì)合作精神能力。
二、系統(tǒng)的框架設(shè)計(jì)
根據(jù)題目要求,可對(duì)系統(tǒng)的框架進(jìn)行設(shè)計(jì)。限于篇幅,這里僅做簡(jiǎn)單的框架設(shè)計(jì)。系統(tǒng)的框架可分為輸入、基本操作、輸出三個(gè)模塊,其中輸入模塊包括從鍵盤中輸入學(xué)生成績(jī)和從文件中讀取已有的學(xué)生成績(jī)兩種方式,基本操作模塊包括追加一個(gè)學(xué)生的成績(jī)、刪除一個(gè)學(xué)生的成績(jī)、查詢一個(gè)學(xué)生的成績(jī)以及修改一個(gè)學(xué)生的成績(jī),輸出模塊包括將內(nèi)存中的學(xué)生成績(jī)輸出至顯示器和輸出至文件。系統(tǒng)的功能模塊圖如圖1所示。
完成了系統(tǒng)的框架設(shè)計(jì)后,學(xué)生就可以根據(jù)系統(tǒng)的功能模塊圖,編寫各功能所對(duì)應(yīng)的函數(shù)模塊了。本階段只需完成一個(gè)可運(yùn)行的系統(tǒng),實(shí)現(xiàn)主函數(shù)對(duì)各功能函數(shù)的調(diào)用。各函數(shù)的函數(shù)體無需實(shí)現(xiàn),可以在函數(shù)體內(nèi)編寫一條輸出語句,以便運(yùn)行時(shí)可以確定各函數(shù)是否能夠正確調(diào)用。
三、功能實(shí)現(xiàn)
在上一階段的基礎(chǔ)上,完成各個(gè)功能函數(shù)的編程實(shí)現(xiàn)。具體實(shí)現(xiàn)時(shí),應(yīng)注意如下幾個(gè)方面。
1.在本階段,應(yīng)該注意各個(gè)功能函數(shù)的實(shí)現(xiàn)順序。比如,應(yīng)該先實(shí)現(xiàn)輸入函數(shù),再實(shí)現(xiàn)輸出函數(shù),以方便調(diào)試。
2.在選擇存儲(chǔ)各學(xué)生成績(jī)的數(shù)據(jù)結(jié)構(gòu)時(shí),鼓勵(lì)學(xué)生選用鏈表。對(duì)于對(duì)鏈表不熟悉的同學(xué),可以考慮選擇數(shù)組作為存儲(chǔ)各學(xué)生成績(jī)的數(shù)據(jù)結(jié)構(gòu)。
3.本階段涉及的知識(shí)難點(diǎn)較多,尤其是對(duì)鏈表和文件的各種操作。但鏈表和文件的各種基本操作的算法是固定的。因此,鼓勵(lì)學(xué)生通過參考書本、有針對(duì)性地聽該知識(shí)點(diǎn)的慕課等方式,先看懂聽懂鏈表、文件操作的算法及代碼,然后模仿著去實(shí)現(xiàn)本階段的編程任務(wù)。
四、修改完善
上一階段已完成了可正常運(yùn)行的學(xué)生成績(jī)管理系統(tǒng)的具體實(shí)現(xiàn)。本階段對(duì)該系統(tǒng)進(jìn)行修改完善,可從以下幾個(gè)方面考慮。
1.更改編程實(shí)現(xiàn)的方法。比如,對(duì)于選用數(shù)組來存儲(chǔ)各學(xué)生成績(jī)的同學(xué),鼓勵(lì)他們用鏈表替代數(shù)組來實(shí)現(xiàn)各學(xué)生成績(jī)的存儲(chǔ)。
2.進(jìn)一步完善已有功能。比如,完善查詢功能,將僅按學(xué)號(hào)查詢擴(kuò)展成可按姓名或者班級(jí)等字段進(jìn)行查詢,也可實(shí)現(xiàn)某門課程某個(gè)分?jǐn)?shù)段的人數(shù)查詢等。
3.對(duì)系統(tǒng)的功能進(jìn)行擴(kuò)展。比如,對(duì)每門課程進(jìn)行成績(jī)分析,統(tǒng)計(jì)優(yōu)秀、良好、中等、及格和不及格的人數(shù)及比例。
五、解決新問題
在完成本課程設(shè)計(jì)后,學(xué)生已具備一定的編程能力。一般來說,C語言課程設(shè)計(jì)是安排在教學(xué)周的最后兩周,該課程結(jié)束后,經(jīng)過一周的期末考試,就是寒假時(shí)間。為了更好地培養(yǎng)學(xué)生的計(jì)算思維能力,可以鼓勵(lì)學(xué)生利用寒假期間,再設(shè)計(jì)、實(shí)現(xiàn)類似的小系統(tǒng)(難度上予以適當(dāng)提高),比如學(xué)籍管理系統(tǒng)。在編程能力得到較好訓(xùn)練后,鼓勵(lì)學(xué)生在教師的指導(dǎo)下組隊(duì)申報(bào)各種學(xué)生類科技創(chuàng)新項(xiàng)目,項(xiàng)目?jī)?nèi)容的來源可以是教師的在研項(xiàng)目的子課題,也可以是學(xué)生根據(jù)自己的興趣或者調(diào)研所擬定的題目。
六、結(jié)語
信息技術(shù)類專業(yè)的畢業(yè)生,無論是應(yīng)聘像華為、騰訊、阿里巴巴等這樣的大型IT公司,還是應(yīng)聘小型的IT公司,都需要具備較強(qiáng)的實(shí)踐能力。很多高校也比較重視這個(gè)問題,并為之做了許多工作。比如,作者所在單位的軟件工程專業(yè),在多年前就實(shí)施了校企合作、校外實(shí)訓(xùn)的進(jìn)程。對(duì)一些高年級(jí)的實(shí)訓(xùn)課程,直接聘請(qǐng)IT企業(yè)的一線技術(shù)人員為學(xué)生授課;對(duì)于即將畢業(yè)的大四學(xué)生,安排他們?nèi)ド钲凇⑸虾5葘?shí)訓(xùn)公司進(jìn)行學(xué)習(xí),在學(xué)習(xí)期間,接觸真實(shí)項(xiàng)目的開發(fā),積累實(shí)踐經(jīng)驗(yàn)。校企合作、校外實(shí)訓(xùn)的教學(xué)模式,拉近了學(xué)生從校園到市場(chǎng)需求的距離,并且很大程度上彌補(bǔ)了學(xué)生重理論輕實(shí)踐的缺點(diǎn)。本文以一個(gè)具體的課程設(shè)計(jì)的教學(xué)為例,討論了其對(duì)學(xué)生計(jì)算思維能力的培養(yǎng)。計(jì)算思維能力的培養(yǎng),不是一兩門課就能完成的,它是一個(gè)長(zhǎng)期的過程。
參考文獻(xiàn):
[1]Jeannette M. Wing. Computational thinking[J].Communications of the ACM,2006,49(3):33-35.
[2]馮博琴.對(duì)于計(jì)算思維能力培養(yǎng)“落地”問題的探討[J].中國(guó)大學(xué)教學(xué),2012,(09):6-9.
[3]鄧輝文,熊海靈.計(jì)算機(jī)問題求解與計(jì)算思維能力培養(yǎng)[J].計(jì)算機(jī)教育,2014,(01):18-19,32.
[4]吳麗娟,申海,張浩華.C語言課程設(shè)計(jì)教學(xué)模式的探索與實(shí)踐[J].沈陽師范大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,30(01):122-125.endprint