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