冀津 錢國梁 丁其鵬
[摘要]本文先分析當(dāng)前高職《C語言程序設(shè)計(jì)》教材的現(xiàn)狀,然后提出該教材的建設(shè)思路,即教材建設(shè)應(yīng)圍繞課程定位、遵循學(xué)習(xí)規(guī)律、構(gòu)造學(xué)習(xí)框架、強(qiáng)化設(shè)計(jì)思維、適當(dāng)降低難度、夯實(shí)理論基礎(chǔ)的同時(shí)也要注重實(shí)驗(yàn)環(huán)節(jié),讓教材成為教師教學(xué)、學(xué)生學(xué)習(xí)的有效工具。
[關(guān)鍵詞]高職 C語言程序設(shè)計(jì) 教材建設(shè)
[中圖分類號(hào)]G642 [文獻(xiàn)標(biāo)識(shí)碼]A [文章編號(hào)]1009-5349(2016)02-0237-02
程序設(shè)計(jì)課程一直以來都是信息類專業(yè)的必學(xué)課程,而《C語言程序設(shè)計(jì)》又是很重要的一門專業(yè)基礎(chǔ)課,對(duì)后續(xù)課程如數(shù)據(jù)結(jié)構(gòu)、面向?qū)ο蟮某绦蛟O(shè)計(jì)、C#程序設(shè)計(jì)、.Net應(yīng)用開發(fā)等而言,是非常重要的一門前導(dǎo)課。數(shù)十年來,《C語言程序設(shè)計(jì)》在信息類專業(yè)的基礎(chǔ)課中有著不可取代的地位,該課程旨在培養(yǎng)學(xué)生熟練掌握程序設(shè)計(jì)的語法規(guī)則,形成良好的程序設(shè)計(jì)風(fēng)格,為進(jìn)一步學(xué)習(xí)后續(xù)課程奠定基礎(chǔ)。教材作為一本工具書,是教師授課與學(xué)生學(xué)習(xí)的主要參考工具,擁有一本集科學(xué)性、完整性和趣味性于一體的《C語言程序設(shè)計(jì)》教材,是學(xué)生學(xué)好這門課程的必要條件。對(duì)于高職院校的信息類學(xué)生來說,能夠滿足自身學(xué)習(xí)需求,與教師課堂講授相吻合,便于自己課堂之余進(jìn)行知識(shí)反芻的教材更是必不可少的。
一、 《C語言程序設(shè)計(jì)》教材現(xiàn)狀
高職院校的培養(yǎng)目標(biāo)、教學(xué)模式、教學(xué)內(nèi)容有其鮮明的特色,教材的建設(shè)更應(yīng)該符合學(xué)生特點(diǎn)和學(xué)習(xí)需求。高職院?!禖語言程序設(shè)計(jì)》教材經(jīng)歷了兩個(gè)發(fā)展階段:在高職辦學(xué)的早期,高職教學(xué)的主要內(nèi)容是具體的實(shí)用技術(shù),不需要也沒有教材,因此,高職《C語言程序設(shè)計(jì)》教材建設(shè)明顯滯后。隨著高職院校的不斷發(fā)展與完善,諸多《C語言程序設(shè)計(jì)》的教材相繼問世,盡管其中許多冠以“高職”字樣,卻依然存在不少弊端,主要表現(xiàn)在以下幾方面:
(一)延續(xù)本科教材風(fēng)格,不符合高職教學(xué)特點(diǎn)
繼高職院校廣被詬病為本科院校的“壓縮餅干”后,高職教材也成為本科教材的壓縮版,《C語言程序設(shè)計(jì)》的教材也存在此類問題。打開最新版的某一冊(cè)“普通高等教育‘十二五國家級(jí)規(guī)劃教材(高職高專教育)”的《C語言程序設(shè)計(jì)》教材,發(fā)現(xiàn)內(nèi)容結(jié)構(gòu)依然是C語言基礎(chǔ)、順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)、數(shù)組、函數(shù)、位運(yùn)算、結(jié)構(gòu)體與共用體、指針、文件等章節(jié),和任一冊(cè)本科教材內(nèi)容結(jié)構(gòu)幾乎一致,而每一章節(jié)的內(nèi)容也基本是由例題、解題步驟、流程圖、代碼和課后習(xí)題組成的,延續(xù)了本科教材的風(fēng)格,與高職所突出的培養(yǎng)技能型人才的特點(diǎn)不符合。
(二)內(nèi)容枯燥,實(shí)用性差
目前,大多數(shù)《C語言程序設(shè)計(jì)》教材對(duì)語法規(guī)則的介紹著墨很多,枯燥無味、實(shí)用性差。比如,打開任一本C語言程序教材,會(huì)發(fā)現(xiàn)還有“編寫判斷一個(gè)數(shù)是否為素?cái)?shù)”“編寫斐波那契數(shù)列的前20項(xiàng)”這種與生活距離較遠(yuǎn)、無法吸引學(xué)生的案例,因此,使學(xué)生在學(xué)習(xí)過程中把精力多放在記憶各種靈活多樣的C語言語法規(guī)則上,忽視了使用C語言解決實(shí)際問題的能力的培養(yǎng)。
(三)未能給學(xué)生提供充足的自學(xué)條件
作為高職信息類專業(yè)學(xué)生的第一門專業(yè)基礎(chǔ)課,《C語言程序設(shè)計(jì)》與學(xué)生在進(jìn)入大學(xué)之前所學(xué)的知識(shí)有著本質(zhì)上的不同,尤其是讓初學(xué)者理解并掌握“指針”“函數(shù)”“數(shù)組”等聞所未聞的概念有相當(dāng)難度。因此,教材不僅是學(xué)生課堂學(xué)習(xí)的參考工具,更是學(xué)生課后進(jìn)行知識(shí)反芻的指導(dǎo)書。目前的教材除了課后習(xí)題之外,并沒有對(duì)學(xué)生的自學(xué)進(jìn)行有效的指導(dǎo)和知識(shí)補(bǔ)充,不利于學(xué)生對(duì)C語言知識(shí)的理解與掌握。
二、 《C語言程序設(shè)計(jì)》教材建設(shè)的指導(dǎo)思想
鑒于當(dāng)前《C語言程序設(shè)計(jì)》教材所存在的各種問題,根據(jù)實(shí)際教學(xué)過程中積累的經(jīng)驗(yàn)和學(xué)生的反饋,我們認(rèn)為《C語言程序設(shè)計(jì)》教材的建設(shè)應(yīng)遵循這些方面:①教材內(nèi)容應(yīng)兼顧高職院校的教學(xué)要求中初學(xué)者的學(xué)習(xí)水平;②教材案例設(shè)計(jì)應(yīng)兼顧知識(shí)性、趣味性和實(shí)用性;③教材主體內(nèi)容應(yīng)力求通俗易懂、深入淺出,能讓絕大多數(shù)學(xué)生理解和掌握;④教材的建設(shè)應(yīng)使學(xué)生能夠理解并積極參與教學(xué)過程,引導(dǎo)學(xué)生積極思考,調(diào)動(dòng)學(xué)生學(xué)習(xí)的積極性,針對(duì)學(xué)生的練習(xí)應(yīng)建立由淺入深、由簡單到復(fù)雜、由單一到綜合的轉(zhuǎn)變,形成學(xué)習(xí)梯度;⑤教材應(yīng)提供參考依據(jù),為學(xué)有余力的學(xué)生提供了解更多專業(yè)知識(shí)的條件,同時(shí)對(duì)學(xué)習(xí)進(jìn)度緩慢的學(xué)生,也應(yīng)該讓他們課堂之余有具備咀嚼知識(shí)的自學(xué)條件。
三、《C語言程序設(shè)計(jì)》教材建設(shè)的具體舉措
(一)圍繞課程定位,精選教材內(nèi)容
《C語言程序設(shè)計(jì)》課程的主旨是讓學(xué)生樹立程序設(shè)計(jì)的理念,而不僅僅定位于C語言本身的知識(shí)點(diǎn)上。因此,教材內(nèi)容的設(shè)計(jì)應(yīng)選擇程序開發(fā)過程中所共有的知識(shí)點(diǎn),盡量刪減C語言本身所獨(dú)有的知識(shí)點(diǎn)。比如,在順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu)這三種基本結(jié)構(gòu)的內(nèi)容安排中,應(yīng)把重點(diǎn)放在這三種結(jié)構(gòu)的應(yīng)用環(huán)境上,特別是圍繞這三種基本結(jié)構(gòu)的程序設(shè)計(jì)思想與方法,而應(yīng)該弱化這三種基本結(jié)構(gòu)的語法、格式,特別是應(yīng)該減少輸入輸出的格式控制符的篇幅,只要讓學(xué)生了解各種程序設(shè)計(jì)語言都有各自不同的語法格式規(guī)定即可;還比如,C語言在構(gòu)造數(shù)據(jù)類型的內(nèi)容安排中,要重點(diǎn)介紹引入構(gòu)造數(shù)據(jù)類型的目的,而非構(gòu)造數(shù)據(jù)類型本身的編寫格式;此外,C語言對(duì)于程序設(shè)計(jì)非共性的知識(shí),比如二級(jí)指針(函數(shù)指針)、文件函數(shù)等內(nèi)容,則可以在教材中刪減。
(二)遵循學(xué)習(xí)規(guī)律,重整教材結(jié)構(gòu)
學(xué)生知識(shí)建立的過程是認(rèn)知與實(shí)踐交替運(yùn)用的過程,單純的認(rèn)知與單純的實(shí)踐都不能形成完整的知識(shí)建構(gòu),知識(shí)學(xué)習(xí)的過程就是認(rèn)知、實(shí)踐、再認(rèn)知、再實(shí)踐的循環(huán)過程,知與行不斷交替以達(dá)到統(tǒng)一。前文所述,程序設(shè)計(jì)類課程對(duì)于高職院校信息類專業(yè)的學(xué)生而言,是入學(xué)之后的第一門專業(yè)基礎(chǔ)課,既沒有前導(dǎo)課,也沒有同期學(xué)習(xí)的同類課,而且與他們?cè)诖髮W(xué)之前所接觸的知識(shí)完全不同,是一片極為陌生的知識(shí)領(lǐng)域。因此,在教材的結(jié)構(gòu)設(shè)計(jì)中,應(yīng)注重將內(nèi)容由淺入深、循序漸進(jìn),切忌將難點(diǎn)重點(diǎn)集中,以免讓初學(xué)者遇到太多難題,磨滅學(xué)習(xí)的積極性。比如,數(shù)據(jù)類型和變量的定義這部分內(nèi)容,是《C語言程序設(shè)計(jì)》學(xué)習(xí)之初的內(nèi)容,可與C語言程序的小案例結(jié)合起來做簡單的介紹,目的是讓初學(xué)者了解數(shù)據(jù)類型、變量定義的基本方法及作用,當(dāng)學(xué)習(xí)了函數(shù)的知識(shí)之后,可以再對(duì)數(shù)據(jù)的存儲(chǔ)、變量的定義過程、變量的作用域和有效性加以深入介紹;還比如,運(yùn)算符與表達(dá)式這部分內(nèi)容,可以在簡單程序設(shè)計(jì)部分只告訴學(xué)生如何使用,讓學(xué)生較快地進(jìn)入編程階段,而在學(xué)生學(xué)習(xí)過三種基本結(jié)構(gòu)之后,再將運(yùn)算符與表達(dá)式進(jìn)行深入透徹的講解,則學(xué)生能夠?qū)⒔Y(jié)構(gòu)化程序設(shè)計(jì)與運(yùn)算符表達(dá)式相結(jié)合,對(duì)知識(shí)的掌握更加完整和徹底。
(三)構(gòu)造學(xué)習(xí)框架,強(qiáng)化設(shè)計(jì)思維
在以往的《C語言程序設(shè)計(jì)》教學(xué)過程中,當(dāng)要求學(xué)生對(duì)某個(gè)案例進(jìn)行編程時(shí),學(xué)生通常了解程序生成的大致結(jié)構(gòu),但是對(duì)程序具體的編寫過程就感覺無從下手,究其根源就在于C語言教學(xué)方式與實(shí)際解決問題的途徑相脫離。當(dāng)教學(xué)內(nèi)容偏重于語法規(guī)則和編程格式的介紹而忽視培養(yǎng)解題思路與解題方法時(shí),學(xué)生就無法獨(dú)立編寫完整的程序。因此,為使學(xué)生理解和掌握編程方法,教材中各章節(jié)在設(shè)計(jì)編程案例時(shí),應(yīng)建立一個(gè)學(xué)習(xí)框架,按照“變量分析”“設(shè)計(jì)思路”“程序代碼”“運(yùn)行結(jié)果”“說明與思考”進(jìn)行設(shè)置——對(duì)于某一個(gè)具體問題,首先分析解決問題需要設(shè)置哪些變量及變量的數(shù)據(jù)類型,接著分析解決問題的具體思路及步驟,給出程序流程;然后,寫出程序代碼并調(diào)試運(yùn)行,得出結(jié)果,并對(duì)重點(diǎn)語句進(jìn)行注釋;最后,針對(duì)程序設(shè)計(jì)和實(shí)現(xiàn)過程中容易出現(xiàn)的錯(cuò)誤及需要注意的問題給出必要的說明,讓學(xué)生能夠充分掌握程序設(shè)計(jì)整個(gè)過程中的思考方法。
(四)針對(duì)學(xué)生學(xué)習(xí)特征,適當(dāng)降低難度
教材的面向?qū)ο笫菍W(xué)生,所以在教材編寫過程中必須首先考慮教材內(nèi)容與學(xué)生的接受能力,高職院校的學(xué)生與本科院校的學(xué)生在學(xué)習(xí)態(tài)度、學(xué)習(xí)能力和學(xué)習(xí)習(xí)慣上還是存在一定差距的,高職學(xué)生相對(duì)來說缺少學(xué)習(xí)的主觀能動(dòng)性和鉆研精神,因此,在保證知識(shí)點(diǎn)豐富的前提下適當(dāng)降低內(nèi)容的難度是編寫高職教材需要遵循的首要原則。其次,高職院校的學(xué)生應(yīng)注重其實(shí)際應(yīng)用能力的培養(yǎng),在面向高職學(xué)生的《C語言程序設(shè)計(jì)》教材中,我們可以刪除或簡化難度較大又不涉及程序開發(fā)共性的內(nèi)容,如:浮點(diǎn)類型數(shù)據(jù)的存儲(chǔ)格式、函數(shù)指針、數(shù)組與指針的關(guān)系等內(nèi)容可以刪除;C自增自減運(yùn)算、位運(yùn)算、共用體、文件操作等內(nèi)容可以只介紹基本知識(shí)點(diǎn)而不做深入討論。此外,教材中例題和習(xí)題的編排也要注意難度適中,盡量選擇貼近生活又較為簡單的案例,便于學(xué)生理解和接受,并且使之在編程過程中產(chǎn)生興趣,讓學(xué)生易于上手,在學(xué)習(xí)的過程中不斷產(chǎn)生成就感,樂于對(duì)新知識(shí)進(jìn)行更深入的挖掘和探索。
(五)夯實(shí)理論基礎(chǔ),注重實(shí)驗(yàn)環(huán)節(jié)
雖說高職學(xué)生注重的是技能培養(yǎng),但作為信息類學(xué)生的第一門專業(yè)基礎(chǔ)課,《C語言程序設(shè)計(jì)》還應(yīng)起到奠定理論基礎(chǔ)、訓(xùn)練編程理念的作用。因此,在教材的內(nèi)容設(shè)計(jì)中,不能完全輕理論,還要把一些重要的理論講述清楚。例如,三種基本結(jié)構(gòu)(順序結(jié)構(gòu)、選擇結(jié)構(gòu)、循環(huán)結(jié)構(gòu))的流程及應(yīng)用,要讓學(xué)生能夠?qū)⑷N結(jié)構(gòu)整合起來解決實(shí)際問題;算法是編程之真是思路之源,對(duì)一個(gè)問題首先要確定算法,才能根據(jù)算法步驟編寫具體代碼形成程序;“結(jié)構(gòu)體”也是一種構(gòu)造的數(shù)據(jù)類型,但對(duì)于數(shù)據(jù)類型的理解要更加透徹,有了數(shù)據(jù)類型的概念,對(duì)以后其他程序語言的學(xué)習(xí)就會(huì)更加輕松。教材內(nèi)容設(shè)計(jì)上,還要加大實(shí)驗(yàn)環(huán)節(jié)的設(shè)計(jì),實(shí)驗(yàn)內(nèi)容按照設(shè)計(jì)性、驗(yàn)證性和綜合性兼顧的原則設(shè)計(jì)題目,每道題目給出題目描述、題目分析、測試數(shù)據(jù)、提示代碼和參考運(yùn)行結(jié)果。其中,題目分析從變量分析和設(shè)計(jì)思路兩個(gè)角度討論,讓學(xué)生能夠充分體驗(yàn)程序設(shè)計(jì)整個(gè)過程中的思考方法,提示代碼只是給出一小段代碼,其余讓學(xué)生進(jìn)行補(bǔ)充,能夠進(jìn)一步鍛煉學(xué)生的程序設(shè)計(jì)能力和創(chuàng)新思維能力,強(qiáng)調(diào)對(duì)學(xué)生分析解決實(shí)際問題能力的培養(yǎng)。
四、結(jié)語
高職《C語言程序設(shè)計(jì)》教材的改革與開發(fā)是一項(xiàng)既長期又必要的任務(wù)。教材要突出高職教學(xué)特色和教學(xué)規(guī)律,符合高職學(xué)生的特點(diǎn),遵循“理論適度、內(nèi)容生動(dòng)、案例實(shí)用、難度相當(dāng)”的編寫要求。課題組教師結(jié)合多年教學(xué)經(jīng)驗(yàn)和學(xué)生反饋,編寫適合高職學(xué)生的《C語言程序設(shè)計(jì)》教材,并在使用過程中不斷補(bǔ)充和完善,使教材成為課程的有效載體,成為教師的有利教具,成為學(xué)生的學(xué)習(xí)指引。
【參考文獻(xiàn)】
[1]譚浩強(qiáng).C語言程序設(shè)計(jì)[M].北京:清華大學(xué)出版社,
2005.
[2]廖雷.程序設(shè)計(jì)(C++版) [M].北京:機(jī)械工業(yè)出版社,
2004.
[3]李風(fēng)云.C/C++程序設(shè)計(jì)基礎(chǔ)[M].北京:人民郵電出版社,2003.
[4]烏云高娃.C語言程序設(shè)計(jì)[M].北京:高等教育出版社,
2012.
責(zé)任編輯:彭海多