袁園
摘 要:“C語言程序設(shè)計(jì)基礎(chǔ)”這門課程是計(jì)算機(jī)專業(yè)中的一門專業(yè)基礎(chǔ)課程。該課程也是整個(gè)計(jì)算機(jī)專業(yè)中第一門程序設(shè)計(jì)基礎(chǔ)課程,在整個(gè)課程體系中起著非常重要的作用。對(duì)C語言教學(xué)探討的文章很多,本文針對(duì)C語言課程的模塊化教學(xué)實(shí)際,探討“C語言程序設(shè)計(jì)基礎(chǔ)”的教學(xué)思路。該方法對(duì)整個(gè)教學(xué)實(shí)施起到了關(guān)鍵性作用,提高了職業(yè)化教學(xué)質(zhì)量。
關(guān)鍵詞:算法;結(jié)構(gòu)化程序設(shè)計(jì);模塊化教學(xué);任務(wù)化
中圖分類號(hào):G712 文獻(xiàn)標(biāo)識(shí)碼:B 收稿日期:2015-12-29
一、教學(xué)現(xiàn)狀
“C語言程序設(shè)計(jì)基礎(chǔ)”整個(gè)課程分為基礎(chǔ)知識(shí)和程序設(shè)計(jì)兩個(gè)大的模塊:基礎(chǔ)知識(shí)屬于純理論部分,主要介紹C語言的使用規(guī)則以及語法;程序設(shè)計(jì)部分需要通過實(shí)訓(xùn)的模塊化教學(xué)來講解。C語言知識(shí)點(diǎn)很多,很瑣碎,用模塊化理念來開展教學(xué),學(xué)生會(huì)感到知識(shí)點(diǎn)集中并且思路清晰。
二、模塊展示
整個(gè)課程是以模塊化設(shè)計(jì)為中心,將原來較為復(fù)雜的問題化簡(jiǎn)為一系列簡(jiǎn)單模塊的設(shè)計(jì),也就是將—個(gè)大的計(jì)算任務(wù)劃分為一個(gè)個(gè)比較小的任務(wù)。在教學(xué)中,要注重把教學(xué)重心放在解決問題的算法分析上,培養(yǎng)學(xué)生分析與解決問題的能力,也注重培養(yǎng)學(xué)生養(yǎng)成規(guī)范代碼行文。
1.基礎(chǔ)篇
首先是引入,在這里運(yùn)行幾個(gè)有趣的小程序以提高學(xué)生的興趣;其次要告訴學(xué)生C語言這門課程的重要性,即其為后續(xù)課程Java的基礎(chǔ)。在這個(gè)模塊主要是語法規(guī)則的講授,多采用案例和計(jì)算方法講授運(yùn)算符和表達(dá)式,用貼近生活的案例來引出算法的應(yīng)用。在學(xué)生具備一定的程序設(shè)計(jì)能力的基礎(chǔ)上,有意識(shí)地在程序中有意識(shí)的錯(cuò)誤設(shè)置,強(qiáng)調(diào)調(diào)試程序的重要性,讓學(xué)生充分體驗(yàn)與掌握調(diào)試程序的方法,逐步提高學(xué)生獨(dú)立調(diào)試程序,并在調(diào)試過程中發(fā)現(xiàn)問題、解決問題的能力。
2.結(jié)構(gòu)化程序設(shè)計(jì)篇
對(duì)程序設(shè)計(jì)的三大結(jié)構(gòu)——順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)分模塊講授,每一個(gè)模塊講授完成,就配合做該模塊的練習(xí)題,并且進(jìn)行必要的程序設(shè)計(jì)。整個(gè)實(shí)踐過程由淺入深、由簡(jiǎn)單到復(fù)雜。在Visual Studio C++環(huán)境下,舉出幾個(gè)簡(jiǎn)單的小程序例子演示給學(xué)生看,并逐一講解,引導(dǎo)學(xué)生自己去發(fā)現(xiàn)程序中存在的缺陷以及改進(jìn)的方式。從熟悉C語言源程序到可執(zhí)行文件的整個(gè)操作流程,讓學(xué)生仿照所列舉的幾個(gè)程序模仿著編一個(gè)小程序。學(xué)生在正確完成程序設(shè)計(jì)算法的過程中,不但體會(huì)到了成就感,也豐富了自己的知識(shí)。
3.數(shù)據(jù)對(duì)象構(gòu)造
講授完經(jīng)典三大結(jié)構(gòu)以后,就對(duì)數(shù)組、函數(shù)、指針三個(gè)模塊進(jìn)行講授。講授數(shù)組模塊的過程先給出若干程序案例,分析實(shí)現(xiàn)功能的算法,講授時(shí)以讀程序?yàn)橹?。解決的方法可能不唯一,如果能啟發(fā)學(xué)生多角度、多側(cè)面去尋求解決問題的辦法,則可激發(fā)學(xué)生思考的積極性,提高其學(xué)習(xí)興致。在C語言中一題多解的情況有很多,有意識(shí)地引導(dǎo)學(xué)生采用新思路和新方法解題,以培養(yǎng)學(xué)生在編程中的求異思維,而不是死記硬背,墨守成規(guī)。習(xí)題課采用讀程序與編寫程序相結(jié)合的方法,讓學(xué)生熟悉數(shù)組的使用和算法實(shí)現(xiàn)的相關(guān)知識(shí)。
函數(shù)模塊的講授以自定義函數(shù)為重點(diǎn),講授其定義使用的語法,要求學(xué)生會(huì)編寫簡(jiǎn)單的自定義函數(shù)。
指針模塊對(duì)程序設(shè)計(jì)沒有過多要求,只要求讀程序。講授最基本的指針定義和使用。重點(diǎn)突出指針在數(shù)組指向的時(shí)候的應(yīng)用。
最后一個(gè)模塊就是文件,主要講授文件的打開和訪問方式即可。并且案例化講授使用文件的代碼使用方法即可,對(duì)學(xué)生的編寫不作要求。
三、探索結(jié)論
對(duì)于高職新生,實(shí)現(xiàn)C語言教學(xué)的基礎(chǔ)化、實(shí)用化就可,不需要講授過多復(fù)雜和難以理解并且實(shí)用性不強(qiáng)的功能。有些知識(shí)點(diǎn)只需要理解,有些知識(shí)點(diǎn)必須掌握,按照模塊化基礎(chǔ)教學(xué)方案,學(xué)生思路清晰,易于掌握。C語言程序設(shè)計(jì)的教學(xué)要講究方法,通過這門課的學(xué)習(xí),不僅要讓學(xué)生掌握語言的基本規(guī)則,而且要切實(shí)培養(yǎng)學(xué)生分析問題、解決問題的能力,最終使學(xué)生明白,語法是有限的,可解決的問題是無限的。只有在分析實(shí)際向題的基礎(chǔ)上,以清晰的思路去設(shè)計(jì)算法,才能舉一反三,以不變應(yīng)萬變。程序設(shè)計(jì)的任務(wù)不只是編寫出一個(gè)能得到正確結(jié)果的程序,還應(yīng)考慮程序的質(zhì)量。
參考文獻(xiàn):
[1] 張正瓊,黃文勝.C語言程序設(shè)計(jì)基礎(chǔ)教程[M].重慶:重慶大學(xué)出版社,2014.
[2]劉一鷗.淺談C語言的結(jié)構(gòu)化程序設(shè)計(jì)[J].商情,2011,(13).
[3]李文廣.C語言課程的教學(xué)改革初探[J].鴨綠江(下半月版),2015,(10).