高級語言程序設(shè)計范文

時間:2023-03-30 16:24:38

導(dǎo)語:如何才能寫好一篇高級語言程序設(shè)計,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務(wù)員之家整理的十篇范文,供你借鑒。

篇1

C語言程序設(shè)計課程通常在教學(xué)計劃中都被安排在大學(xué)一年級上學(xué)期,這個階段剛好是新生入學(xué)的第一個學(xué)期,一方面新同學(xué)對程序設(shè)計的概念還比較淡薄,另一方面,教學(xué)過程中程序練習(xí)題解決問題的針對性也不是很強,這都給教學(xué)環(huán)節(jié)帶來了不少的困難。傳統(tǒng)的實踐教學(xué)中存在較多的問題,主要表現(xiàn)為[1]:(1)由于程序練習(xí)題解決問題的針對性、新穎性、復(fù)雜性等方面的原因,學(xué)生對上機實踐課的興趣較難調(diào)動,對上機實踐通常不夠重視;多數(shù)學(xué)生上機前不做預(yù)習(xí)準(zhǔn)備,上機過程中總是敷衍了事,碰到問題時,既不積極思考,也不向教師提問;(2)實踐教學(xué)中傳統(tǒng)的練習(xí)題內(nèi)容有點簡單單一,缺乏層次性,不能滿足不同層次學(xué)生的需求;(3)實踐教學(xué)中的練習(xí)內(nèi)容與后續(xù)相關(guān)課程有一定的脫節(jié),表現(xiàn)為某些專業(yè)的學(xué)生雖然學(xué)了C語言,但到后續(xù)一些相關(guān)課程中需要使用C語言進行編程時,學(xué)生感覺仍然無從下手;(4)程序設(shè)計課程的考核方式不是很合理,現(xiàn)在只重視筆試考核和理論知識的掌握,忽略了編程動手能力的考核;(5)實踐教學(xué)過程沒有較好的延續(xù)性,不少學(xué)生當(dāng)C語言課程考試結(jié)束后,也就把C語言放置一邊了,沒有把C語言的學(xué)習(xí)和應(yīng)用很好地延續(xù)下去,因此并不能很好地掌握C語言?!禖語言程序設(shè)計》是實踐性很強的一門課程,實踐教學(xué)是整個教學(xué)過程中的重要環(huán)節(jié),抓好實踐教學(xué)可以加強學(xué)生對抽象理論知識應(yīng)用的理解和掌握,培養(yǎng)學(xué)生的編程實踐動手能力,讓學(xué)生掌握編寫程序和調(diào)試程序的方法技巧。另一方面,程序設(shè)計實踐教學(xué)環(huán)節(jié)中還存在著實踐教學(xué)內(nèi)容缺乏系統(tǒng)性和層次性,實踐教學(xué)方式方法單一,編程實踐內(nèi)容與后續(xù)課程存在脫節(jié),學(xué)生學(xué)習(xí)興趣不高等問題。所以應(yīng)根據(jù)C語言實踐教學(xué)情況,分析現(xiàn)在實踐教學(xué)中存在的問題,采取相應(yīng)的改進措施。例如,加強練習(xí)題的層次性和針對性,將練習(xí)題分為基本練習(xí)題和提升練習(xí)題等。教學(xué)中必須通過大量的實踐訓(xùn)練來促進學(xué)生對知識應(yīng)用的理解和掌握,提高其分析問題、解決問題、編寫程序和調(diào)試程序的能力,以保證良好的教學(xué)效果。

2《高級語言程序設(shè)計》實踐課程的教學(xué)設(shè)計

針對《高級語言程序設(shè)計》實踐課程教學(xué)中存在的諸多問題,教學(xué)時可按專業(yè)研究方向有所側(cè)重地進行教學(xué)設(shè)計,設(shè)計不同的教學(xué)導(dǎo)向、教學(xué)內(nèi)容、教學(xué)方法等。對電子信息類學(xué)生,可有所側(cè)重地加強該實踐課程與后續(xù)信號處理類課程,數(shù)學(xué)實驗與數(shù)學(xué)建模課程的聯(lián)系。

2.1加強該課程與信號處理類課程的聯(lián)系

信號與信息處理的方法和能力是電子信息類學(xué)生在專業(yè)學(xué)習(xí)中必須要求掌握的一個基本技能環(huán)節(jié)之一。其中,比較典型的課程有《算法與數(shù)據(jù)結(jié)構(gòu)》《數(shù)值分析與算法》《數(shù)字圖像處理》《語音信號處理》《信息隱藏技術(shù)》等。在《高級語言程序設(shè)計》實踐教學(xué)的教學(xué)內(nèi)容設(shè)計上,可將學(xué)生引導(dǎo)到信號處理的方向上來,增加相應(yīng)課程中涉及的特征參數(shù)提取,特征識別或判別、求解方程或某一類問題的算法實現(xiàn)等內(nèi)容,一方面增加了練習(xí)題目的針對性,趣味性,同時還提升了題目本身的難度和層次性。例如,《語音信號處理》課程的學(xué)習(xí)過程中,可以設(shè)計一個小型的系統(tǒng)辨識問題[2],讓學(xué)生完成10個孤立數(shù)字的語音識別問題。其中包括了語音特征參數(shù)的提取、特征的判別兩個環(huán)節(jié)。

2.2加強該課程和數(shù)學(xué)建模與數(shù)學(xué)實驗課程的聯(lián)系

數(shù)學(xué)實驗與數(shù)學(xué)建模是計算機和數(shù)學(xué)軟件引進教學(xué)后的新事物,是數(shù)學(xué)教學(xué)體系、內(nèi)容和方法改革的一項嘗試。以往我們對數(shù)學(xué)的學(xué)習(xí)著重在,通過嚴(yán)密的邏輯推理完成公式的推導(dǎo)、定理的證明和實現(xiàn)一些簡單快捷的計算,忽略了數(shù)學(xué)的實際應(yīng)用。對于大多數(shù)理工科大學(xué)生來說,將來的工作并不是數(shù)學(xué)領(lǐng)域的研究工作,更多的時候,他們很可能將以數(shù)學(xué)為工具來解決各種實際問題。數(shù)學(xué)實驗與數(shù)學(xué)建模課程正是鍛煉了學(xué)生這一方面的能力。另一方面,一次數(shù)學(xué)建模實驗過程相當(dāng)于進行一次小型科研活動,在一定程度上,培養(yǎng)了學(xué)生初步的科研能力。通過最近幾年的教學(xué)實踐和組織學(xué)生參加全國和國際大學(xué)生數(shù)學(xué)建模競賽活動,發(fā)現(xiàn)數(shù)學(xué)實驗和數(shù)學(xué)建模課程對學(xué)生科研能力的鍛煉有很大的促進作用,我們對該門課程的教學(xué)也著力在數(shù)學(xué)模型的建立和編程求解方面加強更多的聯(lián)系。下面就這方面談?wù)劷虒W(xué)實踐中的一些體會。在全國大學(xué)生數(shù)學(xué)建模競賽中有這樣一道題目[3-4]:2000年6月,人類基因組計劃中DNA全序列草圖完成,此后人類將擁有一本記錄著自身生老病死及遺傳進化的全部信息的“天書”。這本大自然寫成的“天書”是由4個字符A,T,C,G按一定順序排成的長約30億的序列,其中沒有“斷句”也沒有標(biāo)點符號,除了這4個字符表示4種堿基以外,人們對它包含的“內(nèi)容”知之甚少,難以讀懂。破譯這部世界上最巨量信息的“天書”是21世紀(jì)最重要的任務(wù)之一。在這個目標(biāo)中,研究DNA全序列具有什么結(jié)構(gòu),由這4個字符排成的看似隨機的序列中隱藏著什么規(guī)律,又是解讀這部天書的基礎(chǔ),是生物信息學(xué)(Bioinformatics)最重要的課題之一。雖然人類對這部“天書”知之甚少,但也發(fā)現(xiàn)了DNA序列中的一些規(guī)律性和結(jié)構(gòu)。例如,在全序列中有一些是用于編碼蛋白質(zhì)的序列片段,即由這4個字符組成的64種不同的3字符串,其中大多數(shù)用于編碼構(gòu)成蛋白質(zhì)的20種氨基酸。又例如,在不用于編碼蛋白質(zhì)的序列片段中,A和T的含量特別多些,于是以某些堿基特別豐富作為特征去研究DNA序列的結(jié)構(gòu)也取得了一些結(jié)果。此外,利用統(tǒng)計的方法還發(fā)現(xiàn)序列的某些片段之間具有相關(guān)性等。這些發(fā)現(xiàn)讓人們相信,DNA序列中存在著局部的和全局性的結(jié)構(gòu),充分發(fā)掘序列的結(jié)構(gòu)對理解DNA全序列是十分有意義的。作為研究DNA序列結(jié)構(gòu)的嘗試,提出對序列集合進行分類的問題。圖1就是發(fā)現(xiàn)的兩個DNA序列堿基結(jié)構(gòu),要求從中提取特征,構(gòu)造分類方法,完成特征表達(dá)并利用其進行判識。為完成上述任務(wù),一方面,從C語言程序設(shè)計過程來看,學(xué)生需考慮特征數(shù)據(jù)如何表達(dá),采用什么數(shù)據(jù)類型,如何設(shè)計算法完成搜索查詢目標(biāo);另一方面,這是一個帶有挑戰(zhàn)性和實際意義的交叉學(xué)科問題,既擴展了學(xué)生的知識面,又增加了趣味性。這對提高高級語言程序設(shè)計實踐教學(xué)環(huán)節(jié)的教學(xué)效果是很有幫助的[5-6]。本文來自于《實驗科學(xué)與技術(shù)》雜志。實驗科學(xué)與技術(shù)雜志簡介詳見

3結(jié)束語

篇2

關(guān)鍵詞:程序設(shè)計;高級語言;算法設(shè)計;功能意念

中圖分類號:G642 文獻標(biāo)識碼:B

1引言

“高級語言程序設(shè)計”是各類學(xué)校計算機相關(guān)專業(yè)的一門重要的專業(yè)基礎(chǔ)課,許多學(xué)校都將其安排在新生入學(xué)后的第一學(xué)期開設(shè)。

對剛接觸這門課程的學(xué)生而言,“高級語言程序設(shè)計”課程的中心內(nèi)容包括兩個部分:高級語言和程序設(shè)計。從高級語言和程序設(shè)計的關(guān)系來說,程序設(shè)計應(yīng)該是這門課程的核心內(nèi)容。

對于如何搞好“高級語言程序設(shè)計“的教學(xué),不同的人有不同的看法。筆者在多年的教學(xué)實踐中,多次嘗試采用“功能意念教學(xué)法”,取得了教好的效果。本文就是這一教學(xué)法的簡單總結(jié)。

2功能意念教學(xué)法

“高級語言程序設(shè)計”的功能意念教學(xué)法就是從程序的一般功能、程序的一般結(jié)構(gòu)以及程序設(shè)計的一般過程出發(fā),按照功能+意念+機制的方式組織教學(xué)。簡單地說,就是為了設(shè)計一個程序,先解決我們需要做些什么,然后解決程序需要做些什么,最后解決高級語言怎么做到等一序列問題,也就是從問題和任務(wù)出發(fā)進行教學(xué)。

以上所述主要圍繞程序最基本的功能展開,至于其它功能部分,比如C語言的編譯預(yù)處理、宏、模塊化、混合語言編程、指針、文件、鏈表等,也可以從功能意念的角度展開教學(xué)。

在具體實施教學(xué)的過程中,可以根據(jù)教學(xué)要求按照自頂向下的原則制定出所教授的高級語言的基本功能意念表,以方便教學(xué)。

3算法的意念作用

筆者認(rèn)為,程序設(shè)計其實就是為了解決某個問題而從我們所熟悉的程序設(shè)計語言中挑選合適的語句做一個適當(dāng)?shù)呐帕薪M合。

在上面的這段話中,明顯地有兩個值得我們進一步探討的關(guān)鍵詞:合適的語句和適當(dāng)?shù)呐帕薪M合?,F(xiàn)在我們的問題是,如何挑選合適的語句?又怎樣做適當(dāng)?shù)呐帕薪M合?

這兩個問題的解決有賴于所謂算法的概念。因此,為了解決這兩個問題,我們必須針對面臨的具體問題設(shè)計出有效的算法。

算法是解決特定問題的一序列操作的集合,代表的就是一種意念,換言之,就是設(shè)計者所希望的對數(shù)據(jù)進行加工處理的有序的步驟。這種操作步驟的有序性就決定了如何對所挑選的語句做適當(dāng)?shù)呐帕薪M合。

由粗到細(xì)是我們解決問題的一種典型的思維過程。按照這一思維特點,算法設(shè)計也有一個由粗到細(xì)的過程,即算法細(xì)化。

算法細(xì)化要適可而止,即有一個度的問題,那么我們又該如何把握這個度呢?一般而言,算法細(xì)化只要細(xì)化到其中的每一操作步在準(zhǔn)備采用的語言中都能找到對應(yīng)的語句直接加以實現(xiàn)即可,而且也必須細(xì)化到這種程度!算法細(xì)化好了,如何挑選合適的語句也就解決了。

總之,算法決定了如何挑選合適的語句以及怎樣對所挑選的語句做適當(dāng)?shù)呐帕薪M合!因此有了算法,我們只需要通過很簡單的翻譯轉(zhuǎn)換就可以很容易地得到程序。

4高級語言的相關(guān)功能成分

高級語言是書寫和記錄程序的工具。為了適應(yīng)程序的功能需要,高級語言自然應(yīng)該提供相應(yīng)的手段或機制讓程序設(shè)計人員借以實現(xiàn)所需要的程序功能,高級語言的相關(guān)功能成分指的就是這些手段和機制。

4.1數(shù)據(jù)安排機制

高級程序設(shè)計語言中的數(shù)據(jù)安排機制主要體現(xiàn)為用于定義常量、變量、數(shù)組和記錄(或結(jié)構(gòu)體)等的功能成分。單純從語言成分的角度來看,這些功能的實現(xiàn)主要是由一組和數(shù)據(jù)類型有關(guān)的關(guān)鍵字來體現(xiàn)的。換言之,高級語言為我們提供了一組與數(shù)據(jù)類型有關(guān)的關(guān)鍵字以便程序設(shè)計人員根據(jù)自己的意愿對數(shù)據(jù)空間進行組織和安排。以C語言為例,這些關(guān)鍵字主要有:char、int、float、double、struct以及signed、unsigned、short、long,等等。在源程序中來看,數(shù)據(jù)空間的組織和安排都是通過基于上述關(guān)鍵字的數(shù)據(jù)定義語句來實現(xiàn)的,比如:

1)int abc;

2)char abc[12] ;

3)*float abc;

4)struct abc{x char;y int;z float;}

struct abc xyz;

作為程序設(shè)計的工具,為了盡可能給程序設(shè)計人員帶來方便,高級語言除了支持基本數(shù)據(jù)類型外,還支持用戶自定義類型,如上面的例4)。

4.2數(shù)據(jù)I/O機制

高級語言中的數(shù)據(jù)I/O機制主要體現(xiàn)為各種用于數(shù)據(jù)輸入/輸出的語句或函數(shù)(庫函數(shù))等。在C語言中,這些函數(shù)常用的有:

fprintf、printf、sprintf、vprintf、vfprintf、vsprintf、

fscanf、scanf、sscanf、fgetc、fputc、getc、putc、getchar、putchar、fgets、fputs、pus、gets等。

以上列出的是所謂系統(tǒng)預(yù)定義函數(shù),即標(biāo)準(zhǔn)函數(shù)或庫函數(shù)。此外,用戶還可以根據(jù)自己的需要以上述標(biāo)準(zhǔn)函數(shù)為基礎(chǔ)自行定義一些可以得到某些特殊I/O效果的函數(shù)。

4.3數(shù)據(jù)處理機制

前面已經(jīng)提到,數(shù)據(jù)的內(nèi)部加工處理主要包括數(shù)據(jù)在主機內(nèi)部的傳送和各種運算,高級語言的數(shù)據(jù)處理機制就

是指為此目的而提供的各種運算符。在C語言中,這些運算符包括為數(shù)據(jù)傳送提供的賦值運算符“=”和為數(shù)據(jù)運算提供的算術(shù)運算符“+、-、*、/、%、++、--”、關(guān)系運算符“>、>=、

4.4流程控制機制

高級語言中的流程控制機制主要體現(xiàn)為用來實現(xiàn)分支程序結(jié)構(gòu)、循環(huán)程序結(jié)構(gòu)以及子程序結(jié)構(gòu)的功能成分,換言之,就是分支語句、循環(huán)語句以及子程序的定義和調(diào)用機制等。在C語言中,這些語句包括:if語句、switch語句、goto語句、break語句、continue語句、for語句、while語句、do…while語句以及return語句等。

5結(jié)束語

歷史上高級程序設(shè)計語言有好多種,目前仍然流行的也有好幾種,而且還在不斷的推陳出新。從“功能意念”的角度,不難看出,所有的高級語言都應(yīng)該有相類似的功能成分,以解決程序設(shè)計所面臨的共同問題。因此,只要我們認(rèn)真地學(xué)好一種語言,重點掌握好程序設(shè)計的一般思想方法,就可以很容易地掌握另外一種。從一種語言過渡到另一種語言,從語言的角度來說,只不過是一種形式上的轉(zhuǎn)換而已,它們的內(nèi)容(程序的功能)和程序設(shè)計的思想和方法卻總是相通的。

參考文獻:

[1] 譚浩強. C程序設(shè)計(第三版)[M]. 北京:清華大學(xué)出版社,2005.

[2] Brian W.Kernighan, Dennis M. Ritchie. C程序設(shè)計語言(第二版)[M]. 北京:清華大學(xué)出版社,2002.

[3] Bruce Eckel著. 劉宗田等譯. C++編程思想第1卷:標(biāo)準(zhǔn)C++導(dǎo)引[M]. 北京:機械工業(yè)出版社,2002.

[4] 鄭啟華. PASCAL程序設(shè)計(第二版)[M]. 北京:清華大學(xué)出版社,1996.

篇3

[關(guān)鍵詞]智慧課堂 高級語言程序設(shè)計 上機教學(xué)

[中圖分類號] G642 [文獻標(biāo)識碼] A [文章編號] 2095-3437(2015)08-0125-02

一、引言

在信息技術(shù)高速發(fā)展,全面建設(shè)智慧城市、智慧校園的大背景下,傳統(tǒng)的課堂教學(xué)也面臨著變與不變的外部挑戰(zhàn)。[1]新興技術(shù)的不斷沖擊,使得課堂教學(xué)不再是師生間單一的教與學(xué)關(guān)系,更多的是師生間平等的對話與互動,傳統(tǒng)課堂已無法滿足教育需要。將信息技術(shù)與教育深度融合,優(yōu)化教育模式,已經(jīng)成為一種必然的趨勢, 由此智慧課堂這一新的教學(xué)模式便應(yīng)運而生了。智慧課堂是指充分利用信息化技術(shù),以引導(dǎo)學(xué)生的高度參與以及主動性的充分發(fā)揮,以自主地發(fā)現(xiàn)問題、研究問題和解決問題為主要學(xué)習(xí)形式,是以培養(yǎng)多樣化、高素質(zhì)、創(chuàng)新型人才為目標(biāo)的教學(xué)方式。[2]相對以教師為中心的傳統(tǒng)課堂,智慧課堂強調(diào)以學(xué)生為中心,注重學(xué)生的主動學(xué)習(xí)、合作學(xué)習(xí)和快樂學(xué)習(xí)。[3]

作為高校理工科電子、計算機等相關(guān)專業(yè)的一門重要基礎(chǔ)課程,高級語言程序設(shè)計的目標(biāo)是培養(yǎng)學(xué)生的程序設(shè)計理念、掌握程序設(shè)計的基本方法,培養(yǎng)學(xué)生熟練使用C語言編程解決實際問題的能力,為后續(xù)程序設(shè)計課程的學(xué)習(xí)和應(yīng)用打下扎實的理論和實踐基礎(chǔ)。[4]學(xué)生是否具有較高的編程能力和良好的編輯習(xí)慣是衡量其對該課程掌握程度的一個重要指標(biāo),而編程能力的提高和編程習(xí)慣的養(yǎng)成離不開上機實踐,因此上機實踐是高級語言程序設(shè)計教學(xué)中的一個至關(guān)重要的環(huán)節(jié)。[5]

本文針對高級語言上機教學(xué)的課程特點和存在問題,充分利用上機實驗室的信息設(shè)備優(yōu)勢,將信息技術(shù)與教育深度融合,實現(xiàn)上機教學(xué)的智慧課堂。

二、教學(xué)現(xiàn)狀和問題

一般院校的高級語言程序設(shè)計理論課和上機課的比例為1∶1,由32學(xué)時理論課和32學(xué)時上機課組成。上機課目前多采用傳統(tǒng)的“教師講授―教師演示―學(xué)生上機練習(xí)”的教學(xué)模式,主要存在以下問題:

(1)學(xué)生編程的信心和積極性有待提高。高級語言程序設(shè)計的開課時間設(shè)在大一的第二個學(xué)期,此時絕大部分學(xué)生對計算機軟硬件知識缺乏全面了解,再加上C語言本身學(xué)習(xí)起來有難度,使學(xué)生不能很快掌握算法的思維特點,編程能力、調(diào)試能力普遍較差,增加了C語言上機學(xué)習(xí)的難度。很多學(xué)生在上機的過程中非但沒有對編程產(chǎn)生興趣,反而還產(chǎn)生懼怕心理,進而放棄學(xué)習(xí)。

(2)學(xué)生自主分析問題、解決問題的能力有待提高。目前上機教學(xué)模式以教師“教”為中心,學(xué)生過多依賴于實驗指導(dǎo)書和教師,基本處于被動接受狀態(tài)。在上機課中常出現(xiàn)“寫程序就抄書,出現(xiàn)問題等老師”的現(xiàn)象,分析錯誤、動手調(diào)試本是最能發(fā)揮學(xué)生能動作用的環(huán)節(jié),現(xiàn)在卻由教師來承擔(dān),往往導(dǎo)致學(xué)生離開指導(dǎo)書和教師就寫不出程序、調(diào)試不了程序的局面,很難培養(yǎng)學(xué)生在程序設(shè)計上的創(chuàng)新能力和邏輯思維能力。

(3)機房得天獨厚的信息技術(shù)環(huán)境沒有得到充分的利用。一般機房都配備有計算機、高速局域網(wǎng)和多媒體教學(xué)管理軟件,具備開展智慧課堂的條件。以我院機房為例,采用的是海光多媒體軟件,海光多媒體軟件是一款實現(xiàn)在電子教室、多媒體網(wǎng)絡(luò)教室或者電腦教室中進行多媒體網(wǎng)絡(luò)教學(xué)的非常好的軟件,集電腦教室的同步教學(xué)、控制、管理、音視頻廣播、網(wǎng)絡(luò)考試等功能于一體,并能同時實現(xiàn)屏幕監(jiān)視和遠(yuǎn)程控制等網(wǎng)絡(luò)管理的目的,其核心功能包括教師演示、學(xué)生示范、語音教學(xué)、遙控輔導(dǎo)、屏幕錄制、屏幕回放、提交作業(yè)、電子搶答和文件傳輸?shù)?。但目前該軟件主要用于教師演示和收發(fā)文件,現(xiàn)有的信息技術(shù)設(shè)備沒有得到充分的利用,信息技術(shù)改變教育方式?jīng)]有得到充分的體現(xiàn)。

三、智慧課堂開展內(nèi)容

針對以上情況,本文將充分利用機房的信息技術(shù)環(huán)境優(yōu)勢,將信息技術(shù)與教學(xué)深度融合,通過分組合作學(xué)習(xí)、任務(wù)驅(qū)動教學(xué)、網(wǎng)絡(luò)學(xué)習(xí)和多元化考核等教學(xué)手段,創(chuàng)建高級語言程序設(shè)計上機教學(xué)的智慧課堂,實現(xiàn)學(xué)生主動學(xué)習(xí)、合作學(xué)習(xí)和快樂學(xué)習(xí)。

(一)小組合作學(xué)習(xí)

針對部分學(xué)生不能單獨完成編程及缺少興趣的問題,采用分組學(xué)習(xí)的教學(xué)模式,每次上機課將學(xué)生分為4人一組,每組學(xué)生通過合作學(xué)習(xí)共同完成一個實驗任務(wù)。小組合作學(xué)習(xí)一方面更能突出學(xué)生的主體地位,培養(yǎng)學(xué)生主動參與的意識,激發(fā)學(xué)生的學(xué)習(xí)興趣;另一方面學(xué)得好的學(xué)生可以帶動其他學(xué)生,在達(dá)到學(xué)習(xí)均衡的同時,也培養(yǎng)了學(xué)生的合作能力和團隊精神。

分組合作學(xué)習(xí)的關(guān)鍵是有效地組織學(xué)生學(xué)習(xí),沒有組織的學(xué)習(xí)會使課堂變得嘈雜、分散,所以合理劃分小組是分組合作學(xué)習(xí)的首要前提。主要考慮兩種分組方式,第一種是學(xué)生自愿組合,第二種是教師按學(xué)生的基礎(chǔ)分組。第一種分組方式有利于調(diào)動學(xué)生合作學(xué)習(xí)的積極性,激起學(xué)生學(xué)習(xí)的興趣,但是自由式的小組組合很可能出現(xiàn)分組不均衡的現(xiàn)象,即學(xué)習(xí)基礎(chǔ)好的學(xué)生分在一組,學(xué)習(xí)基礎(chǔ)薄弱的學(xué)生分在一組;第二種分組方式需要教師在全面了解學(xué)生的前提下,根據(jù)班級內(nèi)的情況,有意識地將不同基礎(chǔ)、不同類別的學(xué)生分到一組,使班級小組間基本上是相似的、均衡的。綜合考慮兩種分組方式的優(yōu)缺點,可交替采用兩種方式進行分組。

小組劃分后需進行合理分工,每一組選擇一個組長,組長協(xié)助教師組織任務(wù)攻關(guān)工作,同時監(jiān)督組員,避免出現(xiàn)“蹭組”現(xiàn)象。組長的選擇要考慮學(xué)生的成績、與同學(xué)間的關(guān)系等因素,可采用自由推選的方式,給每個學(xué)生改變角色和鍛煉的機會,進而提高其學(xué)習(xí)興趣。

(二)任務(wù)驅(qū)動教學(xué)

在上機實驗過程中,以完成一個具體的任務(wù)為線索,把教學(xué)內(nèi)容隱含在每個任務(wù)之中,要求學(xué)生在具體的任務(wù)驅(qū)動下,在討論和對話的氛圍中,進行自主學(xué)習(xí)和協(xié)作學(xué)習(xí)。這樣學(xué)生在完成任務(wù)的過程中始終處于主體地位,不僅提高了學(xué)生的積極性,也培養(yǎng)了學(xué)生的探索與創(chuàng)新精神。任務(wù)完成后,隨機挑選或通過海光多媒體軟件的“電子搶答”功能選出若干小組,通過軟件的“學(xué)生演示”功能進行演示,并引導(dǎo)學(xué)生進行總結(jié)和改進。

在任務(wù)驅(qū)動教學(xué)中,任務(wù)設(shè)計的質(zhì)量直接關(guān)系到教學(xué)效果。在設(shè)計任務(wù)時,要以學(xué)生為中心,根據(jù)學(xué)生的實際情況和學(xué)生感興趣的方向來設(shè)置任務(wù),同時要注意高級語言知識點的系統(tǒng)性和連貫性,將理論課的知識點融入上機任務(wù)中,使學(xué)生在完成任務(wù)的過程中,既鞏固已學(xué)過的內(nèi)容,又探索新知識,實現(xiàn)總體的教學(xué)目標(biāo)。

例如,在練習(xí)C語言控制結(jié)構(gòu)中的選擇結(jié)構(gòu)時,任務(wù)設(shè)計為:設(shè)計一個程序,輸入某年某月某日,要求計算出這一天是該年的第幾天。學(xué)生拿到任務(wù)后,分組討論程序思路,教師通過管理軟件隨機選擇若干小組聽取他們的設(shè)計思路,根據(jù)回答情況進行引導(dǎo),學(xué)生得到以下正確思路并編程實現(xiàn):

1.從鍵盤上讀入3個整數(shù),分別作為年、月、日。練習(xí)輸入函數(shù)。

2.要計算出某天是當(dāng)年的第幾天,應(yīng)該將當(dāng)年中本月之前所有月份的天數(shù)相加,再加上本月的天數(shù)。根據(jù)所輸?shù)脑路菥毩?xí)switch選擇結(jié)構(gòu)。

3.考慮閏年問題,二月是一個特殊月,如該年是閏年,則二月有29天,否則,便是28天。根據(jù)所輸?shù)哪攴菥毩?xí)if選擇結(jié)構(gòu)。

4.輸出答案。練習(xí)輸出函數(shù)。

這個有趣的任務(wù)讓學(xué)生在討論中學(xué)會了選擇結(jié)構(gòu)的使用方法,并了解了switch和if這兩種常用的選擇結(jié)構(gòu)的區(qū)別,且鞏固了前面學(xué)習(xí)的輸入輸出函數(shù)知識點。

(三)網(wǎng)絡(luò)學(xué)習(xí)

為學(xué)生提供豐富的網(wǎng)絡(luò)學(xué)習(xí)資源。利用海光多媒體軟件的錄制和回放功能,可以在執(zhí)行“教師演示”播放教師機上的屏幕畫面的同時,將播放的圖像畫面以動畫影像的形式錄制下來,跟不上教學(xué)進度的學(xué)生可通過“回放”學(xué)習(xí)。將錄制的視頻、課件、參考資料和課外拓展練習(xí)資料等上傳到課程群,提供豐富的網(wǎng)絡(luò)學(xué)習(xí)資源,讓學(xué)生學(xué)習(xí)不受時間、地點的限制,實現(xiàn)全方位學(xué)習(xí)。

(四)多元化考核方式

考核方式對學(xué)生有重要的學(xué)習(xí)方向引導(dǎo)作用,在智慧課堂的教學(xué)模式中,采用多元化考核方式,進一步調(diào)動學(xué)生的學(xué)習(xí)主動性和積極性。學(xué)生的上機成績由三部分組成:課堂表現(xiàn)考核,由教師根據(jù)學(xué)生的分組表現(xiàn)、課堂展示和任務(wù)完成情況給出成績,占總成績的30%;組內(nèi)考核,每次實驗由小組長根據(jù)組員的表現(xiàn)打分,最后取平均分,占總成績的20%;期末上機考試,占總成績的50%,對學(xué)生的總體掌握情況進行測評。

四、結(jié)語

本文充分利用了機房得天獨厚的信息技術(shù)環(huán)境,采用小組合作學(xué)習(xí)、任務(wù)驅(qū)動教學(xué)、網(wǎng)絡(luò)學(xué)習(xí)和多元化考核等教學(xué)手段,創(chuàng)建了高級語言程序設(shè)計上機教學(xué)的智慧課堂。實踐證明,該教學(xué)方法深受學(xué)生的歡迎,有效提高了學(xué)生的積極性,取得了良好的教學(xué)效果。

[ 注 釋 ]

[1] 黃榮懷,張進寶,胡永斌,等.智慧校園:數(shù)字校園發(fā)展的必然趨勢[J].開放教育研究,2012(4):12-17.

[2] 吳曉靜,傅巖.智慧課堂教學(xué)的基本理念[J].教育探索,2009(9):6.

[3] 祝智庭,賀斌.智慧教育:教育信息化的新境界 [J].電化教育研究,2012(12):13.

篇4

我國高校很多非計算機類專業(yè)學(xué)習(xí)程序設(shè)計課程所用語言主要為C語言和VB語言。這些語言歷史較久,也具有自身的很多特點,但更新很慢或者已經(jīng)停止更新,因而導(dǎo)致與計算機最新的發(fā)展不相適應(yīng)。尤其是VB語言,存在較多不足,如難以進行移動計算的編程、在新操作系統(tǒng)下支持不好、功能和編程思想陳舊等。這些不足使得傳統(tǒng)的程序設(shè)計課程所用的語言難以緊跟計算機發(fā)展的新形勢,不利于學(xué)生計算思維的培養(yǎng)。因此,選用更科學(xué)合理的語言作為程序設(shè)計課程的主語言對于高校高素質(zhì)人才的培養(yǎng)具有很重要的現(xiàn)實意義。在計算機飛速發(fā)展的大背景下,以C語言、VB語言程序設(shè)計為主的高校程序設(shè)計類課程教學(xué)多年來缺少變化,已經(jīng)與時代有些脫節(jié)。現(xiàn)在國內(nèi)外很多高校開始設(shè)置Python語言、C#語言等作為程序設(shè)計的主要語言,取得了良好的效果。本文就以Python語言為例,借鑒國外在程序設(shè)計類課程教學(xué)中的先進經(jīng)驗,探討在我國高校以Python語言作為程序設(shè)計類課程主語言的可能。

二、目前程序設(shè)計類課程教學(xué)在主語言選擇中面臨的問題

作為高校目前開設(shè)的程序設(shè)計類課程主語言,C語言和VB語言具有相對悠久的歷史,也有很多自身特有的優(yōu)勢,在程序設(shè)計教學(xué)中起到過非常重要的作用,但同時也因為時間較久,很多功能和編程思想稍顯陳舊,逐漸變得難以適應(yīng)計算機教學(xué)發(fā)展的新形勢。一般計算機類專業(yè)開設(shè)C語言程序設(shè)計課程,可以培養(yǎng)學(xué)生嚴(yán)謹(jǐn)認(rèn)真的編程素養(yǎng),使學(xué)生基本掌握一門高級語言進行程序開發(fā)的基本技能。同時,因為C語言更貼近底層,因此用C語言作為程序設(shè)計的主語言可以讓學(xué)生更深切的了解計算機最基本的運作原理,開發(fā)出高效、優(yōu)化的程序。C語言雖然具有上述很多優(yōu)點,而且目前應(yīng)用仍然較廣,但是它本身是上一代的面向過程的語言,語法晦澀嚴(yán)苛,應(yīng)用時特別容易出錯。從語言本身的角度來說,基本數(shù)據(jù)類型不夠完善,缺乏布爾型、日期時間型、對象型等數(shù)據(jù)類型;構(gòu)造型的數(shù)據(jù)類型中,僅支持?jǐn)?shù)組類型,對集合類的類型缺乏支持[1],很多基本的功能都有賴于用戶自己設(shè)計,進行程序開發(fā)時工作量很大,難度也較高,對非計算機專業(yè)學(xué)生來說不適合作為程序設(shè)計基礎(chǔ)語言。VB語言一般作為文科類專業(yè)的程序設(shè)計類課程主語言,具有可視化、面向?qū)ο?、便于操作?shù)據(jù)庫、難度較低、容易上手等特點[2]。目前國內(nèi)高校大多仍然選擇VB6.0的程序開發(fā)環(huán)境。但是VB6.0是一種非純粹的面向?qū)ο笳Z言,僅適用于Windows系統(tǒng),沒有跨平臺的特性,在非Windows系統(tǒng)下無法使用。而且由于VB6.0已經(jīng)長期沒有更新,很多新的編程思想也難以體現(xiàn),在新操作系統(tǒng)下支持不好。同時,目前的主流移動計算平臺大多不支持VB語言作為開發(fā)語言,在移動計算發(fā)展迅猛的形勢下,VB6.0難以因應(yīng)時展,從長遠(yuǎn)的角度來看,不利于學(xué)生的學(xué)習(xí),因此選用更科學(xué)合理的語言作為程序設(shè)計基礎(chǔ)語言是必要的。

三、Python語言作為程序設(shè)計課程主語言的優(yōu)勢

選用什么語言來進行程序設(shè)計教學(xué)不僅關(guān)系學(xué)生的學(xué)習(xí)效果,還對學(xué)生以后的發(fā)展有著一定影響。計算機編程語言的發(fā)展非常迅速,基本上每過幾年就會有新的形勢出現(xiàn)。近年來,Python已經(jīng)成為最受歡迎的程序設(shè)計語言之一,它逐漸被廣泛應(yīng)用于處理系統(tǒng)管理任務(wù)、圖形處理、網(wǎng)絡(luò)編程和Web編程等領(lǐng)域。Python語言是一種簡潔、易讀的解釋性語言,具有優(yōu)良的可擴展性和平臺可移植性,同時Python是開源的語言,擁有豐富的第三方庫和插件,為使用Python進行開發(fā)提供了極大的便利[3]。在國外用Python做科學(xué)計算的研究機構(gòu)日益增多,諸多的國外高校已經(jīng)開始采用Python語言來作為程序設(shè)計課程的主語言。從教學(xué)的角度來說,使用Python語言作為程序設(shè)計課程的主語言有以下幾種優(yōu)勢。1.簡單易學(xué)。Python是一種解釋性語言,具有類似腳本語言一樣的簡單易學(xué)的特點,無須像C語言一樣強制定義變量,程序的執(zhí)行也無須經(jīng)過編譯、鏈接等中間步驟,可以直接執(zhí)行,給用戶良好的交互式編程體驗,也便于學(xué)生的記憶和學(xué)習(xí)。2.開源小巧的多平臺開發(fā)環(huán)境。Python在多種操作系統(tǒng)下都具有良好的支持,有些操作系統(tǒng)甚至自帶Python的開發(fā)環(huán)境。在常用的Windows平臺下,只需一個很小的開源安裝包就可以安裝Python開發(fā)環(huán)境,便于學(xué)生的自學(xué)和交流。如果需要,也有很方便的圖像化開發(fā)界面可以下載安裝。3.豐富的數(shù)據(jù)類型和高層的編程體驗。Python提供豐富的數(shù)據(jù)類型,內(nèi)置像元組、集合、列表、字典等方便使用的集合數(shù)據(jù)類型,過濾了底層內(nèi)存管理、垃圾回收等細(xì)節(jié),可以讓用戶把更多的精力放到程序開發(fā)本身上來。在教學(xué)上可以節(jié)省很多時間和精力,便于學(xué)生把重點放在解決問題的真正邏輯上。4.可擴展性和持續(xù)更新。Python具有良好的可擴展性,可以把其他語言開發(fā)的程序“粘合”到Python程序中,發(fā)揮不同語言各自的優(yōu)勢。同時,Python語言仍在不斷的更新,具有良好的發(fā)展前景,便于調(diào)動學(xué)生學(xué)習(xí)的主動性??偠灾?,盡管Python語言也有運行速度較慢、縮進格式要求嚴(yán)格等缺點,但是其簡單易學(xué)等特點使得在目前學(xué)時普遍較少的程序設(shè)計類課程教學(xué)中具有較好的優(yōu)勢,把語言的部分語法和內(nèi)容進行篩選后作為程序設(shè)計課程的主語言進行教學(xué)是可行的。

四、結(jié)論

篇5

關(guān)鍵詞:C語言程序設(shè)計;教與學(xué);學(xué)習(xí)理論;教學(xué)設(shè)計

中圖分類號:G712 文獻標(biāo)志碼:A 文章編號:1674-9324(2014)09-0156-02

一、引言

C語言作為一門出色的程序設(shè)計語言,既有高級語言的特點,又有匯編語言的特點。它以精練、靈活、可移植性好、應(yīng)用領(lǐng)域廣泛、目標(biāo)程序效率高而著稱。在高職院校中,C語言程序設(shè)計作為計算機應(yīng)用專業(yè)及相關(guān)專業(yè)的專業(yè)必修課,也是學(xué)生學(xué)習(xí)程序設(shè)計的入門課程。它在程序員的學(xué)習(xí)中起著非常重要的基礎(chǔ)作用。

二、C語言教學(xué)現(xiàn)狀分析

作為以重點培養(yǎng)學(xué)生技術(shù)應(yīng)用能力的高職院校,C語言程序設(shè)計作為一門理論性較強的課程,在實際教學(xué)中,將知識轉(zhuǎn)化為能力的教學(xué)效果往往并不理想。主要體現(xiàn)在C語言煩瑣的各種語言細(xì)節(jié)和抽象的設(shè)計理論上,學(xué)生在接觸大量難以記憶的概念、名詞和規(guī)則時常常會感到枯燥乏味。對于抽象的程序設(shè)計理論,不能較好地建立算法和基本編程思路。學(xué)生在獨立上機編程時,常常感到無從下手,在調(diào)試程序中,由于效率較低,很難從學(xué)習(xí)中體會到成就感。很快學(xué)生對這門課程失去了興趣,喪失了學(xué)習(xí)信心。因此想要C語言教學(xué)中,收到良好的教學(xué)效果,就需要加大對C語言程序設(shè)計的教學(xué)內(nèi)容以及教學(xué)方法好好研究。本文將通過針對C語言中不同的教學(xué)內(nèi)容,采用不用的教育學(xué)習(xí)理論,探索相應(yīng)的教學(xué)方法,重點培養(yǎng)學(xué)生通過C語言的學(xué)習(xí),掌握程序設(shè)計的基本方法、基本思路和基本技術(shù)。讓C語言程序設(shè)計課程更加符合高職教育的目的。

三、幾種教學(xué)系統(tǒng)設(shè)計的應(yīng)用

1.以“教”為主的教學(xué)系統(tǒng)設(shè)計應(yīng)用。以“教”為主的教學(xué)設(shè)計理論和方法經(jīng)過幾十年來眾多專家的深入研究與發(fā)展,已形成一套完整嚴(yán)密的理論體系。主要基于行為主義學(xué)習(xí)理論和認(rèn)知學(xué)習(xí)理論,教學(xué)設(shè)計的焦點在教學(xué)上,強調(diào)教師的主導(dǎo)作用,突出循序漸進,按部就班,精密嚴(yán)密的應(yīng)用系統(tǒng)方法對教學(xué)進行設(shè)計。特點是有利于教師主導(dǎo)地位的發(fā)揮,教師把握整個教學(xué)過程,它適用于基礎(chǔ)知識和系統(tǒng)知識的掌握和傳授,有利于教學(xué)目標(biāo)的完成。

C語言中基本知識的內(nèi)容比較適合此種教學(xué)設(shè)計模式,比如C語言概述、C語言的數(shù)據(jù)結(jié)構(gòu)類型、C語言的基本運算符及表達(dá)式等內(nèi)容。教師依據(jù)教學(xué)大綱,把教學(xué)內(nèi)容細(xì)分為知識點,確定各知識點的學(xué)習(xí)水平,比如了解、識記、理解、掌握及綜合應(yīng)用等。課前分析學(xué)生的基礎(chǔ),設(shè)計教學(xué)過程,靈活運用多種教學(xué)方法,通過講授法讓學(xué)生對基本知識概念認(rèn)識,通過案例法學(xué)生在例子中理解感念,通過討論法學(xué)生對學(xué)習(xí)的知識進行交流和提問,通過測驗驗證學(xué)生的掌握情況。教師要監(jiān)控整個教學(xué)過程,通過嚴(yán)密的教學(xué)設(shè)計,學(xué)生會對基礎(chǔ)知識有扎實的掌握。當(dāng)然此種教學(xué)模式也有其弊端,比如重教輕學(xué),忽視學(xué)生的自主學(xué)習(xí)、自主探究,容易造成學(xué)生對教師、對教材、對權(quán)威的迷信,使學(xué)生缺乏發(fā)散思維、批判思維的創(chuàng)建。但對于C語言中基本概念知識的內(nèi)容的特點,這些弊端還是較好地回避了。

2.以“學(xué)”為主的教學(xué)系統(tǒng)設(shè)計應(yīng)用。建構(gòu)主義理論指導(dǎo)下的以“學(xué)”為主的教學(xué)系統(tǒng)設(shè)計認(rèn)為,在教學(xué)中體現(xiàn)以學(xué)生為中心,認(rèn)為在學(xué)習(xí)過程中充分發(fā)揮學(xué)生的主動性,要體現(xiàn)學(xué)生的首選精神;要讓學(xué)生有多種機會在不同的情境中應(yīng)用所學(xué)的知識;讓學(xué)生能根據(jù)自身的行動的反饋信息來形成對客觀事物的認(rèn)識和解決實際問題的方案。重視發(fā)揮學(xué)生的首創(chuàng)精神,將知識外化和實現(xiàn)自我反饋。

C語言中的三大程序設(shè)計結(jié)構(gòu),即順序結(jié)構(gòu)、選擇結(jié)構(gòu)和循環(huán)結(jié)構(gòu)。主要培養(yǎng)學(xué)生架構(gòu)化程序設(shè)計的思想,讓學(xué)生理解掌握自頂向下,逐步求精的程序設(shè)計,進行模塊化程序設(shè)計,應(yīng)用三種基本控制結(jié)構(gòu)解決復(fù)雜問題的能力。注重程序設(shè)計方法能力的培養(yǎng)。教師在教學(xué)設(shè)計中,以簡單的程序為例導(dǎo)入學(xué)習(xí)內(nèi)容,讓學(xué)生通過自學(xué),理解程序流程,學(xué)生通過案例實驗,在做中理解程序設(shè)計思想。在學(xué)生掌握基本方法后,給學(xué)生提供豐富的實驗資源,讓學(xué)生在實踐中舉一反三,達(dá)到知識的掌握,方法的理解,從而實現(xiàn)能力的獲得。當(dāng)然,在實施教學(xué)過程中,要注意避免其弊端的影響,比如不能忽視教學(xué)目標(biāo)的分析,學(xué)生在自主學(xué)習(xí)的自由度過大時,容易偏離教學(xué)目標(biāo)的要求。不能忽視教師的指導(dǎo)作用,強調(diào)以學(xué)生為中心,要充分考慮體現(xiàn)學(xué)生的主導(dǎo)作用,就是要為學(xué)習(xí)者設(shè)計主動建構(gòu)知識意義的學(xué)習(xí)環(huán)境,教師可通過任務(wù)驅(qū)動法,比如先選擇結(jié)構(gòu)學(xué)習(xí)時,用單循環(huán)結(jié)構(gòu)導(dǎo)入,再讓學(xué)生思考乘法表的編程方法,給學(xué)生基本的算法思路的提示,讓學(xué)生循序漸進地掌握嵌套選擇的復(fù)雜結(jié)構(gòu)。要注意師生之間情感交流和情感因素在學(xué)習(xí)過程中的重要作用,學(xué)生在完成任務(wù)時,要及時鼓勵,通過優(yōu)秀作業(yè)的講解和總結(jié),讓學(xué)生獲得學(xué)習(xí)的信心和熱情。

3.教師為主導(dǎo)、學(xué)生為主體的“雙主”教學(xué)系統(tǒng)設(shè)計應(yīng)用?!半p主”教學(xué)設(shè)計理論既不是僅以教師為中心,也不完全是以學(xué)習(xí)者為中心,而是充分考慮兩者的有機融合,相互交流,相互溝通,雙邊互動,不但能夠發(fā)揮教師的主導(dǎo)作用,又充分體現(xiàn)學(xué)習(xí)者的認(rèn)知主體作用。在整個過程中教師處于中心地位,是教學(xué)過程的組織者、指導(dǎo)者、知識建構(gòu)的幫助者、促進者。對于學(xué)習(xí)者并非在本過程中自始至終處于“傳授―接受”的學(xué)習(xí)狀態(tài),更多的時候是在教師幫助下進行主動思考與探索。而教學(xué)媒體在整個教學(xué)過程中有時作為輔助教學(xué)的工具,有時作為學(xué)習(xí)者自主學(xué)習(xí)的認(rèn)知工具,各個要素彼此相互聯(lián)系,從而形成一種新的教學(xué)設(shè)計模式。

C語言中數(shù)組、函數(shù)、指針、文件等內(nèi)容較適合采用此種教學(xué)模式。在教學(xué)中教師的角色發(fā)生了轉(zhuǎn)變,教師是教學(xué)活動的組織者、執(zhí)行者,但是對教師能力的要求卻提出了更大的挑戰(zhàn)。教學(xué)課程內(nèi)容可以由課堂教學(xué)、分組教學(xué)、上機實踐和自學(xué)活動等部分組成,教學(xué)項目的開發(fā)者??梢酝ㄟ^課前設(shè)計教學(xué)項目任務(wù)、教學(xué)雙邊活動策劃、典型例程選擇、課堂隨機提問等手段來實現(xiàn)。分組教學(xué):分組教學(xué)強調(diào)環(huán)境因素對學(xué)生意義建構(gòu)的促進作用。根據(jù)學(xué)生的具體情況進行分組,分組既要考慮學(xué)生的互補性,又要設(shè)立小組成員的帶頭作用,實現(xiàn)良性自主學(xué)習(xí)策略,最終把因材施教內(nèi)容融入到該環(huán)節(jié)中去。上機實驗:程序設(shè)計掌握的關(guān)鍵是算法的編制和語言的運用能力,因此上機實踐是必需的,在上機前可以設(shè)定一些貼近實際應(yīng)用的項目模塊,讓學(xué)生從項目需求、環(huán)境變量、算法流程、語言格式及模塊I/O等方面進行練習(xí),教師可以在上機時間內(nèi)進行相應(yīng)的實踐引導(dǎo)和結(jié)果評價工作。自學(xué)活動:學(xué)生在課余時間提供豐富的網(wǎng)絡(luò)學(xué)習(xí)資源,學(xué)生在通過網(wǎng)絡(luò)進行深入研究學(xué)習(xí),教師也可提供一些實用的軟件項目供學(xué)生課余參與,通過比賽的形式學(xué)生在項目參與過程中提高了對知識的應(yīng)用能力,鍛煉了一定的程序員素質(zhì)和團隊合作精神。

四、結(jié)語

實踐證明,針對不同教學(xué)內(nèi)容采用相應(yīng)的教學(xué)模式,課堂教學(xué)與實驗教學(xué)效果都比過去有了明顯改善。通過對由淺入深的理論學(xué)習(xí)和循序漸進的實驗練習(xí),學(xué)生在學(xué)習(xí)中培養(yǎng)了程序設(shè)計的興趣和學(xué)習(xí)熱情。通過整合教學(xué)內(nèi)容、改進教學(xué)方法,教師要通過研究教學(xué)內(nèi)容的特點,采用相應(yīng)的教學(xué)模式,注意避弊取利,采用多種教學(xué)策略進行補充完善,以實現(xiàn)C語言教學(xué)效果最優(yōu)化。

參考文獻:

[1]夏瑜.基于雙主理論的程序設(shè)計教學(xué)方法[J].四川教育學(xué)院學(xué)報,2009,(11).

篇6

關(guān)鍵詞:程序設(shè)計 建構(gòu)主義理論 興趣驅(qū)動 問題探索

中圖分類號:TP311.1 文獻標(biāo)識碼:A DOI:10.3969/j.issn.1672-8181.2013.19.030

1 引言

目前,程序設(shè)計是工科高等院校的重要基礎(chǔ)性課程,對于信息類專業(yè)學(xué)生的職業(yè)技能培養(yǎng)和實踐能力的鍛煉起到不可替代的作用[1]。程序設(shè)計課程是在學(xué)生系統(tǒng)地學(xué)習(xí)了一種面向?qū)ο蟮某绦蛟O(shè)計語言的基礎(chǔ)上,教師設(shè)置和指導(dǎo)涵蓋多知識點的軟件課題,期望學(xué)生通過課題的實踐來鞏固面向?qū)ο蟮某绦蛟O(shè)計語法和思想的一種手段。由于面向?qū)ο蟪绦蛟O(shè)計通常在低年級開課,大部分學(xué)生在中學(xué)期間接觸很少,導(dǎo)致學(xué)生普遍對編程語言課程存在畏難情緒和厭惡心理,嚴(yán)重缺乏學(xué)習(xí)興趣,因此影響了課程的學(xué)習(xí)效果。而程序設(shè)計課程是一門實踐性很強的課程,該課程的教學(xué)效果不僅影響到學(xué)生對編程語法和方法的掌握,也直接關(guān)系到學(xué)生對后續(xù)專業(yè)課程的自信心。

建構(gòu)主義[2,3]的思想來源于認(rèn)知加工學(xué)說,融合了維果斯基、皮亞杰和布魯納等人的思想,皮亞杰等人的認(rèn)知觀點中解釋了如何使客觀知識結(jié)構(gòu)通過個體與之交互作用而轉(zhuǎn)化為認(rèn)知結(jié)構(gòu)的方法,建構(gòu)主義理論中教學(xué)觀表明:教師不應(yīng)只是知識的呈現(xiàn)者,不應(yīng)扮演知識權(quán)威角色,而更應(yīng)關(guān)注學(xué)生對各種知識的理解,時刻掌握他們的學(xué)習(xí)進展,并以此為據(jù),引導(dǎo)學(xué)生豐富或調(diào)整自己的解釋,應(yīng)當(dāng)在教師引導(dǎo)下以學(xué)生為中心,使學(xué)生在特定階段承擔(dān)起教學(xué)中的主體作用。建構(gòu)主義理論中一個重要核心思想即教師應(yīng)當(dāng)引導(dǎo)學(xué)生的學(xué)習(xí)興趣,在教學(xué)過程起始階段教師是主體,而通過學(xué)生興趣的提高,學(xué)生應(yīng)該慢慢替代教師成為教學(xué)中的主體。

2 現(xiàn)狀及存在問題

現(xiàn)有多種教學(xué)方法應(yīng)用于程序設(shè)計課程,并且取得了一定的實際效果,三種較為典型的程序設(shè)計教學(xué)方法歸納如下。

2.1 任務(wù)驅(qū)動教學(xué)法[4]

任務(wù)驅(qū)動式教學(xué)是以任務(wù)為主線開展的教學(xué)方法,是一種探究式教學(xué)模式,該模式中在教師的設(shè)計引導(dǎo)下,以學(xué)生自學(xué)為主,教師負(fù)責(zé)把知識點融入各個子任務(wù)中去,學(xué)生層層推進任務(wù)的完成。盡管這種方法沒有遵守傳統(tǒng)教學(xué)法中從易到難、循序漸進的方式,是以完成任務(wù)作為驅(qū)動來進行教學(xué),但是可以在完成任務(wù)過程中培養(yǎng)學(xué)生自主學(xué)習(xí)的能力。

2.2 案例分析教學(xué)法[5]

案例分析式教學(xué)是教師運用典型案例材料,引導(dǎo)學(xué)生參與理解、分析、探討、反饋等教學(xué)活動,該方法注重培養(yǎng)學(xué)生運用知識分析問題和解決問題的能力。該方法的核心是鼓勵學(xué)生表達(dá)對問題的分析及解決問題的想法。通過教學(xué)對象的雙方互動,通過參與研討,使得學(xué)生在解決課題的實踐中掌握知識、熟練技能、側(cè)重實用。

2.3 競賽驅(qū)動教學(xué)法[6]

由于把考試作為課程的目標(biāo)會使學(xué)生缺乏正確的學(xué)習(xí)目標(biāo),因此提出競賽驅(qū)動教學(xué)方法,期望通過競賽方式讓學(xué)生在課程學(xué)習(xí)中獲得成就感,在程序設(shè)計教學(xué)中引入競賽的訓(xùn)練方法與評判規(guī)則,以競賽為驅(qū)動,激發(fā)學(xué)生的學(xué)習(xí)興趣和競爭意識,例如南京郵電大學(xué)每年開展的ACM競賽、程序設(shè)計大賽等,會吸引很多學(xué)生踴躍參與。

綜上所述幾種現(xiàn)行方法,盡管從不同角度改進了程序設(shè)計課程的教學(xué)效果,但是都存在以下幾方面的共性問題。

①重語法、輕方法。高級語言的語法規(guī)則繁多,比如函數(shù)、指令、輸入輸出格式等,通常在編程語法教學(xué)時教師側(cè)重介紹各種語法規(guī)則,并且要求學(xué)生記憶并嚴(yán)格遵守規(guī)則進行編程。而實際上,程序語言的學(xué)習(xí)應(yīng)側(cè)重于對問題的解決思路的訓(xùn)練,培養(yǎng)學(xué)生分析問題和解決問題的能力。

②重結(jié)果、輕過程。程序設(shè)計類課程的成績評定一般都取決于最終程序的操作效果,所以學(xué)生往往關(guān)注程序的功能是否實現(xiàn),而忽略了程序?qū)崿F(xiàn)方法的選擇和取舍,這對于未來大型程序的開發(fā)可能會導(dǎo)致嚴(yán)重后果。

③重規(guī)范、輕探索。程序設(shè)計課題的一般都有標(biāo)準(zhǔn)答案,要求學(xué)生所開發(fā)程序達(dá)到或者接近標(biāo)準(zhǔn)結(jié)果,盡管這種課題便于教師對學(xué)生的成績評定,但是限制了學(xué)生自由探索的空間。

程序設(shè)計能力實質(zhì)上是一種需要學(xué)生發(fā)揮主觀能動性、激發(fā)靈感的一種技能,過多的約束與限制不利于職業(yè)技能的養(yǎng)成和后期發(fā)展。以上所述的三方面問題顯然抑制了學(xué)生對程序設(shè)計課程的學(xué)習(xí)興趣,降低了學(xué)習(xí)樂趣,進而也影響了學(xué)習(xí)效果。因此,本文提出一種基于建構(gòu)主義理論,面向興趣導(dǎo)向的程序設(shè)計課程改革思路。

3 興趣為導(dǎo)向的課程改革

以興趣為導(dǎo)向的程序課程改革包括課程設(shè)置、教師引導(dǎo)、學(xué)生實踐和教師評價四個步驟,如圖1所示,本節(jié)分別介紹這些步驟的實施方法。

圖1 興趣為導(dǎo)向程序設(shè)計的主要步驟

3.1 課題的選擇與設(shè)置

課題的選擇對于程序設(shè)計課程而言非常重要,與課題的合理性和可探索性有著直接關(guān)系,一個合適的課題體現(xiàn)幾個特點:①知識點涵蓋完整、合理,課題所需要用到語法能貫穿高級語言的主要知識點,另外這些知識點應(yīng)與實際軟件開發(fā)相符合;②趣味性,課題可以引起學(xué)生的主動思考、激發(fā)研究的意愿,比如可以采用巡回賽競分型課題;③可探索性,課題未必有標(biāo)準(zhǔn)的答案,程序開發(fā)的結(jié)果可以是多樣化的,允許學(xué)生的獨立思考和個性發(fā)揮,并且可以通過自主學(xué)習(xí)其他相關(guān)課程來加深對課題的理解和分析。

3.2 教師引導(dǎo)課題

由于程序設(shè)計課程主要面向低年級本科生開設(shè),教學(xué)對象的專業(yè)基礎(chǔ)想對薄弱,而探索性課題具有一定的復(fù)雜性和多樣性特征,所以教師對課題的引導(dǎo)很有必要。課題引導(dǎo)應(yīng)側(cè)重于課題所涉及知識點、解決思路、基礎(chǔ)理論等,尤其是關(guān)注對解決過程的引導(dǎo),解決過程可以采用“問題剖析―問題建模―方法凝練―實施解決”的模式來開展和介紹,可以把課題的關(guān)鍵步驟作為入口,逐步增加細(xì)節(jié),按照“關(guān)鍵步驟―增加細(xì)節(jié)―全局”步驟加以分析和引導(dǎo)。

3.3 學(xué)生探索與實踐

經(jīng)過教師對課題內(nèi)容和方法的引導(dǎo)之后,學(xué)生要開始課題的具體實施。實施過程包括課題分析、課題準(zhǔn)備、方法選擇、編程實現(xiàn)和結(jié)果驗證及反饋環(huán)節(jié)。課題分析需要根據(jù)教師的引導(dǎo)開展,根據(jù)分析結(jié)果學(xué)生進行相關(guān)知識的儲備,之后選擇合適的方法進行編程實現(xiàn),在對結(jié)果進行驗證之后可能還需要反饋結(jié)果進一步調(diào)整方法,對程序進行修改和完善,所以該步驟是一個迭代過程,學(xué)生可能需要進行多次的“方法選擇(調(diào)整)開發(fā)(完善)程序結(jié)果驗證方法選擇(調(diào)整)”。在該過程中,學(xué)生將不斷加深對程序設(shè)計思想的理解和應(yīng)用水平,還有助于提高學(xué)生解決問題的能力。

3.4 教師評價

在該方法中,教師評價將不僅僅依據(jù)學(xué)生所開發(fā)的程序結(jié)果,而更多關(guān)注學(xué)生在實踐過程中的分析和思考過程,特別是學(xué)生在方法選擇和調(diào)整過程中的實踐軌跡。教師評價的指標(biāo)應(yīng)覆蓋學(xué)生實踐的四個環(huán)節(jié),分別對學(xué)生的分析能力、準(zhǔn)備情況、方法選擇、程序結(jié)果進行評價,得到一個綜合的評價等級。盡管在該方法中,教師的工作量會有所增加,但是將有助于提高學(xué)生的課程學(xué)習(xí)的效果,并給予更為客觀的評價。

4 結(jié)語

當(dāng)前信息類高校中學(xué)生對程序設(shè)計課程普遍存在興趣不強的現(xiàn)象,因此影響了教師所預(yù)期的教學(xué)效果。針對該現(xiàn)象,本文基于建構(gòu)主義理論,提出一種以興趣為導(dǎo)向的程序設(shè)計教學(xué)改革方法,期望通過激發(fā)學(xué)生學(xué)習(xí)興趣,驅(qū)動學(xué)生進行自主地學(xué)習(xí)和探索,提高課程的教學(xué)效果和學(xué)生的專業(yè)技能。此外,本文還提出一種對程序設(shè)計課程中學(xué)生成績評定的模型,該模型涵蓋學(xué)生參考課程的各個環(huán)節(jié),有利于教師對學(xué)生給出一個更為客觀的評價。

參考文獻:

[1]喬淑云,黃剛.程序設(shè)計類課程教學(xué)改革與計算思維之培養(yǎng)[J].計算機教育,2012,(19):17-23.

[2]張建偉,陳琦.簡論建構(gòu)性學(xué)習(xí)和教學(xué)[J].教育研究,1999,(5).

[3]張建偉,陳琦.從認(rèn)知主義到建構(gòu)主義[J].北京師范大學(xué)學(xué)報(社會科學(xué)版),1996,(4).

[4]冀松.興趣教學(xué)法在高級語言程序設(shè)計語言類課程中的應(yīng)用[J].教育探索,2012,(3):52-53.

[5]王嵐.程序設(shè)計課程教學(xué)法探討[J].中國職業(yè)技術(shù)教育,2009,(11):65-67.

[6]王桂平,馮睿.程學(xué)設(shè)計課程實踐教學(xué)的改革探索[J].現(xiàn)代教育技術(shù),2010,20(13):51-53.

[7]羅伯特?阿克塞爾羅德.合作的進化[M].上海人民出版社,2007.

作者簡介:劉林峰(1981-),男,博士,副教授,南京郵電大學(xué)計算機學(xué)院,江蘇南京 210023

篇7

關(guān)鍵詞:任務(wù)驅(qū)動;實踐教學(xué)體系;教學(xué)做一體化;階梯遞進

C語言是計算機類相關(guān)各專業(yè)學(xué)生學(xué)習(xí)的最重要的程序設(shè)計語言之一,它不但是一些專業(yè)課程(如數(shù)據(jù)結(jié)構(gòu))實踐所用語言,也是目前工程項目主要編程語言之一。C語言不但成為計算機類相關(guān)各專業(yè)的必修課,而且也越來越多地成為非計算機專業(yè)的學(xué)習(xí)課程,同時該課程也是一門實踐性很強的課程,有較高的實驗要求。但在C語言課程教學(xué)中,許多教師和學(xué)生都認(rèn)為C語言涉及的概念比較復(fù)雜,規(guī)則繁多,使用靈活,容易出錯,教師教學(xué)和學(xué)生學(xué)習(xí)都感到困難,并不同程度產(chǎn)生畏難心理。近幾年來,筆者先后承擔(dān)了計算機網(wǎng)絡(luò)技術(shù)、計算機應(yīng)用技術(shù)等高職專業(yè)的C語言程序設(shè)計教學(xué)任務(wù),在教學(xué)過程中發(fā)現(xiàn),高職學(xué)生普遍認(rèn)為C語言枯燥難學(xué)、概念復(fù)雜、容易出錯,學(xué)生的畏難、厭學(xué)情緒使得教學(xué)困難重重。這些都是C語言課程教學(xué)改革是所面臨的問題。

高職C語言程序設(shè)計課程的教學(xué)目標(biāo)是:掌握C編程語言基礎(chǔ)語法;掌握初步編程思想,熟悉基本算法,能根據(jù)問題正確選擇、組合算法并繪制程序流程圖;能獨立編寫代碼,編寫測試數(shù)據(jù),并能獨立調(diào)試程序,獲得正確結(jié)果;對本課程和軟件開發(fā)相關(guān)課程有興趣,能自主學(xué)習(xí)。對高職學(xué)生而言,C語言程序設(shè)計是一門理論性和實踐性都很強的課程。

筆者在課程建設(shè)過程中,通過“任務(wù)驅(qū)動”教學(xué)模式對C語言程序設(shè)計這門課程進行教學(xué)改革,構(gòu)建了階梯遞進的課程實踐教學(xué)體系,通過教學(xué)實踐,

已取得了階段性的成果。

1課程實踐教學(xué)體系設(shè)計主要思路

1.1“任務(wù)驅(qū)動”教學(xué)模式

“任務(wù)驅(qū)動”教學(xué)模式符合探究式教學(xué),它提出了由表及里、逐層深入的學(xué)習(xí)途徑,便于學(xué)生循序漸進地學(xué)習(xí)知識和技能。“任務(wù)驅(qū)動”教學(xué)要求每次課都提出一個明確的任務(wù),內(nèi)容兼具趣味性和實用性。教師引導(dǎo)學(xué)生由簡到繁、由易到難、循序漸進地完成這些任務(wù),介紹所需知識點,弱化實用性不強的細(xì)節(jié),突出重點內(nèi)容。同時,教師圍繞實現(xiàn)任務(wù)講解和演示應(yīng)用程序開發(fā)過程,介紹知識點的應(yīng)用方法,使學(xué)生能夠直觀的理解難點內(nèi)容,學(xué)習(xí)積極性大為提高。在這個過程中,學(xué)生會不斷地獲得成就感,可以最大限度地激發(fā)他們的求知欲望和學(xué)習(xí)興趣,逐步形成良性循環(huán),有利于培養(yǎng)開拓、探索、創(chuàng)新能力。

1.2階梯遞進教學(xué)模式

階梯遞進教學(xué)模式是指對一門課的教學(xué)在不同的階段針對已設(shè)定的階梯目標(biāo),以多種多樣的且逐階向上的形式開展教學(xué),它是按照教學(xué)心理學(xué)和教學(xué)法理論,從學(xué)生心理、學(xué)習(xí)方法出發(fā),涵蓋學(xué)生自學(xué)能力和科學(xué)思維能力培養(yǎng)等全過程所設(shè)立的循序漸進的教學(xué)模式[1]。

作者簡介:胡建榮(1963-),男,講師,碩士,研究方向為計算機教學(xué)及計算機網(wǎng)絡(luò)技術(shù);羅杰紅(1969-),女,副教授,碩士,研究方向為計算機應(yīng)用技術(shù)及教學(xué)管理。

依據(jù)階梯遞進教學(xué)模式所構(gòu)建的課程體系是:把課程教學(xué)的能力目標(biāo)和知識目標(biāo)劃分成一個個階梯式遞進的小目標(biāo),達(dá)到目標(biāo)是從易到難,從簡單到復(fù)雜,從單一到綜合的階梯式遞進,形成一個小目標(biāo)體系,每一目標(biāo)都是前一目標(biāo)的進步階梯。從能力目標(biāo)和知識目標(biāo)出發(fā),充分應(yīng)用高職高?!绊椖繉?dǎo)向,任務(wù)引領(lǐng)”課程建設(shè)的方法,把課程教學(xué)內(nèi)容作了優(yōu)化整合,按照階梯遞進的設(shè)計思路,C語言程序設(shè)計課程實踐教學(xué)體系的設(shè)計是以綜合項目“學(xué)生成績管理系統(tǒng)”為主線,貫穿順序、選擇、循環(huán)結(jié)構(gòu)和數(shù)組、指針等所有章節(jié)中,課程實踐教學(xué)具有連貫性。通過項目教學(xué)法,將C語言知識點都溶化到一個個任務(wù)的程序編寫中,所以實踐教學(xué)體系中的任務(wù)設(shè)計是非常重要的[2]。

1.3任務(wù)階梯的設(shè)計思路

以“任務(wù)驅(qū)動”和“階梯遞進”為理念,把實踐教學(xué)體系中的任務(wù)設(shè)計成階梯遞進的任務(wù)鏈,形成任務(wù)階梯。任務(wù)階梯是指按項目要求所設(shè)計的任務(wù)包括幾個小任務(wù),這幾個小任務(wù)不是單獨存在的,前一個任務(wù)的完成應(yīng)該要為后一個任務(wù)的展開做好鋪墊,幾

個任務(wù)層層推進,最終完成一個綜合的任務(wù)。也就是說,所設(shè)置的任務(wù)應(yīng)該是一種階梯型任務(wù)鏈,任務(wù)由簡到繁,由易到難,再由高級任務(wù)涵蓋初級任務(wù),數(shù)個微型任務(wù)循環(huán)構(gòu)成大的“任務(wù)鏈”。這些大大小小的任務(wù)共同完成教學(xué)實踐項目,使教學(xué)呈現(xiàn)階梯式層層遞進的體系。

2課程實踐教學(xué)體系設(shè)計主要內(nèi)容

偉大的教育家陶行知先生說“教學(xué)做是一件事,不是三件事。我們要在做上教,在做上學(xué)”。也就是讓學(xué)生邊學(xué)邊做,邊做邊理解。C語言程序設(shè)計的實踐教學(xué)體系遵循“教學(xué)做一體化”的教學(xué)模式,構(gòu)建以實現(xiàn)“學(xué)生成績管理系統(tǒng)”項目為主的任務(wù)階梯實踐體系,整個實踐教學(xué)體系序化為9個階梯,形成一個從單一到綜合、從簡單到復(fù)雜的層層遞進梯次結(jié)構(gòu)體系。

針對“學(xué)生成績管理系統(tǒng)”項目,在實踐教學(xué)中將其分解重構(gòu)為以下19項任務(wù),這19項任務(wù)貫穿整個C語言的實踐教學(xué),形成了較完整的實訓(xùn)體系,如表1所示。

表1階梯遞進的C語言程序設(shè)計課程實踐教學(xué)體系的設(shè)計

階梯序號知識階梯項目任務(wù)階梯

1認(rèn)識C語言學(xué)生成績管理系統(tǒng)任務(wù)1

2順序結(jié)構(gòu)程序設(shè)計任務(wù)1、任務(wù)2、任務(wù)3

3選擇結(jié)構(gòu)程序設(shè)計任務(wù)4、任務(wù)5、任務(wù)6

4循環(huán)程序設(shè)計任務(wù)7、任務(wù)8、任務(wù)9、任務(wù)10、任務(wù)11

5數(shù)組應(yīng)用任務(wù)12、任務(wù)13、任務(wù)14、任務(wù)15

6函數(shù)設(shè)計及應(yīng)用任務(wù)16

7指針應(yīng)用任務(wù)17

8結(jié)構(gòu)體應(yīng)用任務(wù)18

9文件應(yīng)用任務(wù)19

表1中任務(wù)1-19具體內(nèi)容如下。

任務(wù)1:編寫計算某同學(xué)C語言總評成績的程序(總評成績的計算方法:總評成績=平時成績*0.4+期末成績*0.6)。

任務(wù)2:計算某同學(xué)參加入學(xué)考試語文、數(shù)學(xué)和英語三科目總分。

任務(wù)3:計算某同學(xué)參加入學(xué)考試語文、數(shù)學(xué)和英語三科目平均分。

任務(wù)4:已知某同學(xué)期中各科考試成績,請計算該同學(xué)的平均成績,并輸出各科成績等級(90分以上為“A”級,80-89之間的為“B”級)。

任務(wù)5:已知某同學(xué)期中各科考試成績,請輸出該同學(xué)考試科目中的最高成績。

任務(wù)6:輸入某同學(xué)期中考試語文成績,輸出該同學(xué)各科成績等級(90分以上為“優(yōu)秀”,80-89之間的為“良好”,70-79之間的為“中等”,60-69之間的為“及格”,60以下為“不及格”)。

任務(wù)7:某同學(xué)參加了十門專業(yè)課考試,請編程求出該同學(xué)的專業(yè)課平均成績。

任務(wù)8:某同學(xué)參加了十門專業(yè)課考試,請編程求出該同學(xué)的專業(yè)課中的最高成績。

任務(wù)9:某同學(xué)參加了十門專業(yè)課考試,請編程求出該同學(xué)的專業(yè)課中的最高成績和最低成績。

任務(wù)10:某同學(xué)參加了十門專業(yè)課考試,請編程統(tǒng)計該同學(xué)的專業(yè)課成績的優(yōu)秀率。

任務(wù)11:某同學(xué)參加了十門專業(yè)課考試,請編程統(tǒng)計該同學(xué)的專業(yè)課的平均成績。(以-1結(jié)束輸入。)

任務(wù)12:某同學(xué)每一學(xué)年有十門課參加考試,編程計算該同學(xué)三學(xué)年以來每一學(xué)年的平均成績。

任務(wù)13:某同學(xué)參加了十門專業(yè)課考試,請編程將該同學(xué)的專業(yè)課中成績按高分到低分的順序排列。

任務(wù)14:某同學(xué)每一學(xué)年有十門考試,編程計算該同學(xué)三學(xué)年以來所有課程的平均成績。

任務(wù)15:某同學(xué)參加了十門專業(yè)課考試,請編程將該同學(xué)的專業(yè)課中成績從高分到低分的順序排列。如下表2所示。

表2成績表排名

序號課程名稱課程成績/分

1C語言90

………………

任務(wù)16:某同學(xué)參加了十門專業(yè)課考試,請編程將該同學(xué)的專業(yè)課中成績按高分到低分的順序排列(應(yīng)用函數(shù)設(shè)計程序)。

輸入:89567898764490806573

輸出(如下格式):

****************************************

989089807876 73655644

****************************************

任務(wù)17:某同學(xué)參加了十門專業(yè)課考試,請編程將該同學(xué)的專業(yè)課中成績按高分到低分的順序排列(應(yīng)用指針設(shè)計程序)。

輸入:89567898764490806573

輸出(如下格式):

****************************************

989089807876 73655644

****************************************

任務(wù)18:計應(yīng)07班有50名學(xué)生,每名學(xué)生一學(xué)年學(xué)習(xí)十門專業(yè)課,請編程將全班同學(xué)的專業(yè)課平均成績按從高分到低分的順序排列(應(yīng)用結(jié)構(gòu)體設(shè)計程序)。

任務(wù)19:計應(yīng)07班有50名學(xué)生,每名學(xué)生一學(xué)年學(xué)習(xí)十門專業(yè)課,請編程將全班同學(xué)的專業(yè)課平均成績按從高分到低分的順序排列(應(yīng)用文件設(shè)計程序)。

3結(jié)語

通過教學(xué)實踐表明,基于“任務(wù)驅(qū)動”階梯遞進的C語言程序設(shè)計課程實踐教學(xué)體系倡導(dǎo)教師的“教”是前提、學(xué)生的“學(xué)”是主體、學(xué)生的“做”是實踐,實踐體系設(shè)計形成了一個從單一到綜合、從簡單到復(fù)雜的體系,使“教、學(xué)、做”有機的結(jié)合,有效的避免了教與學(xué)、學(xué)與做等環(huán)節(jié)的脫節(jié),實現(xiàn)理論學(xué)習(xí)與實際應(yīng)用的“零距離”,從而提高了學(xué)生C語言綜合應(yīng)用開發(fā)能力。

參考文獻:

[1] 王良春. 階梯式人才培養(yǎng)模式在高技能人才培養(yǎng)中的應(yīng)用[J]. 教育與職業(yè),2007(23):42-43.

[2] 孫庚. 項目教學(xué)法在“C++程序設(shè)計”課程教學(xué)中的實踐[J]. 計算機教育,2008(2):51-54.

Design of Practical Teaching System of Higher Vocational Course of Programming with C

HU Jian-rong, LUO Jie-hong

(Guangdong Textile Polytechnic Institute,Foshan 528000, China)

篇8

關(guān)鍵詞:C語言;教學(xué);程序設(shè)計

中圖分類號:G642文獻標(biāo)識碼:A文章編號:1009-3044(2012)21-5137-02

進入21世紀(jì)以來,隨著我國市場經(jīng)濟的不斷發(fā)展和深入,越來越多的人投入到計算機這個新興的、高速發(fā)展的行業(yè)中來,編程領(lǐng)域已經(jīng)成為我國國民經(jīng)濟中極富有生命力和創(chuàng)造力的重要行業(yè)之一。但是我國的C語言程序設(shè)計發(fā)展水平和C語言的教學(xué)水平與國外相比還比較低,對提高C語言程序設(shè)計教學(xué)的有益性的認(rèn)識與發(fā)達(dá)國家相比還有很大的差距。該文主要通過分析C語言編程技術(shù)在程序設(shè)計的教學(xué)中所具有的優(yōu)勢與劣勢,對其應(yīng)用過程中所產(chǎn)生的問題進行闡述,進而對其應(yīng)用的意義進行分析,以求使更多的學(xué)校能夠加入到C語言程序設(shè)計的教學(xué)大軍中來,以使C語言程序設(shè)計教學(xué)能夠更好的發(fā)揮優(yōu)勢。

1 C語言程序設(shè)計教學(xué)簡述

1.1 C語言程序設(shè)計的步驟

程序設(shè)計的五部分:1)分析問題。確定輸入和輸出的數(shù)據(jù)的描述和表示。即確定數(shù)據(jù)結(jié)構(gòu)。2)設(shè)計算法。確定某個問題由多少個步驟完成。即確定算法。3)編碼。用計算機語言編寫程序代碼,即編程。4)調(diào)試程序。消除邏輯錯誤和語法錯誤。5)整理并寫出文檔資料。

1.2 C語言程序設(shè)計的注意事項

符號命名要有含義,必須便于對程序功能的理解。在源程序中,極功能性注釋。書寫代碼,在一行內(nèi)只寫一條語句。編寫的程序應(yīng)優(yōu)先考慮清晰性,除非對效率有特殊的要求。首先要保證程序的正確。然后才要求提高速度。輸入數(shù)據(jù)時,最好使用結(jié)束標(biāo)志。(如回車\n)輸入與輸出要有提示語句。不要修補不好的程序,要重新編寫。

1.3 C語言程序的三種基本結(jié)構(gòu)

1)順序結(jié)構(gòu)

先執(zhí)行A,再執(zhí)行B。一串指令嚴(yán)格地按照某一個序列依次向下執(zhí)行先……然后……再……最后。2)選擇結(jié)構(gòu)

存在某條件P,若P為真,則執(zhí)行A,否則執(zhí)行B。

3)循環(huán)結(jié)構(gòu)

當(dāng)循環(huán)條件P成立時(T) ,則重復(fù)執(zhí)行語句A,當(dāng)循環(huán)條件P為“假”(F)時,則終止循環(huán).

1.4 C語言程序構(gòu)成格式的設(shè)計

C語言程序規(guī)定必須用main作為主函數(shù),main函數(shù)后的對花括號不能省略。一個C語言源程序文件中可包含任意多個不同名的函數(shù),但有且只有一個主函數(shù)(main函數(shù))。一個C程序總是從main()函數(shù)的第一個“{”開始執(zhí)行,至main()函數(shù)的最后第一個“}”結(jié)束。每個函數(shù)都必須有一對“{”和“}”,左“{”表示開始,右“}”表示結(jié)束。每條語句都要以“;”結(jié)束,分號是C語言語句的一部分,不是語句之間的分隔符。注釋以“/*”開始,以“*/”結(jié)束。(一個好的源程序應(yīng)該有詳盡的注釋)。其中,注釋不參與程序的編譯,不參與程序的運行。

1.5 C語言程序設(shè)計的書寫規(guī)則

C語言的書寫格式自由。一行內(nèi)可寫多條語句,一條語句也可分寫在多行上。C語言沒有行號,每條語句和數(shù)據(jù)定義的最后必須有一個分號。注:程序的最后也應(yīng)包含一個分號為了保證程序的準(zhǔn)確性和可讀性建議在書寫程序時,應(yīng)釆用階梯縮進格式。C語言規(guī)定??梢栽谡Z句中的任何一個分隔符或空格處換行。即一行寫不完時,可以在任何一個空格處換行。

2 C語言編程技術(shù)在程序設(shè)計的教學(xué)中所具有的優(yōu)勢

2.1簡單

與C++等語言相比較,語法上的C語言是簡單的,這是因為其垃圾回收機制與異常捕獲機制使其代碼的復(fù)雜性大大降低。因此學(xué)校的教學(xué)人員不需具備較為復(fù)雜的計算機知識,就能更加容易的編出準(zhǔn)確的、符合教學(xué)所需要的程序,因而在面對學(xué)生的教學(xué)時也就能夠做到使更多的人容易學(xué)會C語言。

例: # include < stdio.h >

main()

{

char ch1, ch2;

ch1=‘A’;

ch2=‘a(chǎn)’;

ch1=ch1+32; ch2=ch2+3;

printf(“%c %d%c %d\n”, ch1, ch1, ch2, ch2 );

}

結(jié)果:a97d100

2.2 C語言運行速度較快

由于C語言的編譯原理較為簡單,因而其運行時的速度在所有高級的編程語言中效率時最高的。因此在學(xué)生進行實際的編程過程中,能夠在課堂上及時的檢測自己的程序是否會出現(xiàn)相應(yīng)的問題,這樣運行速度較快的語言的編譯在課堂教學(xué)中能夠節(jié)約更多的時間,使教學(xué)結(jié)構(gòu)更加緊湊。

3 C語言編程技術(shù)在程序設(shè)計的教學(xué)中所具有的劣勢

3.1關(guān)于函數(shù)的學(xué)習(xí)內(nèi)容較為繁瑣

函數(shù):一段可以被反復(fù)執(zhí)行,功能單一且獨立的程序段.(一段子程序)。功能:用于完成特定的任務(wù)或功能,并根據(jù)需要返回一個確定的狀態(tài)值。我們把這一段程序或子程序稱為一個函數(shù),也稱之為一個模塊,把分模塊的程序設(shè)計稱為模式塊化程序設(shè)計(特點:自頂向下,逐步分解)。但是由于其具有的多種類型及相對復(fù)雜語法,因而在教學(xué)中相對較難。

3.2學(xué)習(xí)周期較長

C語言的學(xué)習(xí)主要要學(xué)習(xí)的內(nèi)容分為:C語言詞法、輸入與輸出、程序設(shè)計、循環(huán)結(jié)構(gòu)、數(shù)組、指針、函數(shù)幾個部分,由于其內(nèi)容相對較多,因而在實際的教學(xué)過程中需要一個較長的周期。

4 C語言程序設(shè)計教學(xué)的有益性

C語言教學(xué)在學(xué)校教學(xué)的總體成本中占有不小的比重,對學(xué)校的計算機教學(xué)來說是一個非常重要的組成部分。因而將C語言技術(shù)更好的融入教學(xué),對于學(xué)校計算機教學(xué)的長遠(yuǎn)發(fā)展,有著重要的意義。

4.1降低教學(xué)成本,提高學(xué)生學(xué)習(xí)的積極性

由于C語言的運行所需的計算機的配置不需太高,因而在無形中為學(xué)校的設(shè)備開支省下了很大一筆費用。又由于C語言是所有編程語言教學(xué)的基礎(chǔ),因而其相對簡單、有規(guī)律性的詞法能夠使得更多的學(xué)生在學(xué)習(xí)中不會感到太過吃力,因而在學(xué)有余力的時候能夠激發(fā)興趣進行進一步的、深入的學(xué)習(xí)。

4.2提高了學(xué)校計算機教學(xué)的質(zhì)量和總體競爭力

C語言的教學(xué)水平的高低直接影響著學(xué)校計算機編程語言教學(xué)的水平,進而影響其教學(xué)的質(zhì)量。而C語言程序設(shè)計教學(xué)水平的提高標(biāo)志著整個學(xué)習(xí)編程語言教學(xué)的基礎(chǔ)水平,因而加強其教育,能夠更好的彰顯學(xué)校的編程語言教學(xué)水平。

4.3使學(xué)生學(xué)有所用

無論教學(xué)的內(nèi)容如何,最基本的一點還是應(yīng)該以讓學(xué)生學(xué)到知識為前提。因為如果學(xué)者沒有應(yīng)有的基礎(chǔ)知識,無論什么樣的教學(xué)方法改進都是妄談。而C語言的教學(xué)不是一個教學(xué)的斷層,而是一個編程學(xué)習(xí)的基礎(chǔ),因而進行C語言程序設(shè)計的學(xué)習(xí)后,學(xué)生能夠有更多的機會進行深入的其他語言的學(xué)習(xí)。并且在以后的生活、工作中,C語言的運用十分普遍,這有利于學(xué)生將所學(xué)的知識更好的學(xué)以致用。

5結(jié)束語

C語言程序設(shè)計的教學(xué)促進了我國計算機編程語言的發(fā)展,更促進了新的計算機編程語言的形成。C語言的教學(xué)也使得更多的學(xué)生以此為基礎(chǔ),能夠更好的進行深入的其他語言的學(xué)習(xí)。

參考文獻:

[1]李敏文.C語言程序設(shè)計教學(xué)的有益性的分析與設(shè)計[J].邯鄲職業(yè)技術(shù)學(xué)院學(xué)報,2007(2) .

篇9

關(guān)鍵詞: 分層教學(xué); 自動評測系統(tǒng); 程序設(shè)計; 以學(xué)生為中心

中圖分類號:G642 文獻標(biāo)志碼:A 文章編號:1006-8228(2015)11-90-03

Abstract: On the basis of full investigation of many of the lack in current teaching and learning of computer programming course, a hierarchical teaching mode is proposed based on the teaching practice, namely the enlightening, advancing, improving and excellence selecting four levels, and its effect is evaluated. The hierarchical teaching mode can effectively stimulate students' professional learning interest, enhance the coherence between the professional courses, make computer programming course to play an aggregation role in between the various courses. The automatic evaluation system of programming ability training maximizes the liberation of the teacher's workload of mechanical correction. The hierarchical teaching mode reflects the student-centered teaching idea, improves the students' programming ability and social competitiveness.

Key words: hierarchical teaching mode; automatic evaluation system; programming language; student-centered

0 引言

信息社會的高速發(fā)展,軟硬件產(chǎn)品及服務(wù)的朝夕瞬變,使高素質(zhì)程序設(shè)計人才需求與日劇增,高校的計算機專業(yè)人才培養(yǎng)也時刻面臨更新更高的要求。在計算機學(xué)科知識體系中,計算機程序設(shè)計類課程具有啟蒙、銜接和聚核的作用。對計算機專業(yè)的學(xué)生來說,在程序設(shè)計過程中貫穿閱讀判斷、分析思考、抽象表達(dá)、綜合創(chuàng)造等多項技能[1]。因此,如何提高大學(xué)生程序設(shè)計能力一直是計算機專業(yè)教師研究和考慮的問題。

1 現(xiàn)狀分析

基于多年的程序設(shè)計課程教授經(jīng)歷,我們歸納總結(jié)了大學(xué)生程序設(shè)計能力培養(yǎng)和訓(xùn)練方面存在的一些問題或不足。

⑴ 實踐環(huán)節(jié)時間太少。

⑵ 傳統(tǒng)教學(xué)手段不適合程序設(shè)計課程,學(xué)生處于被動學(xué)習(xí)狀態(tài)。

⑶ 教師人工判題評閱課后作業(yè)、上機實驗報告以及試卷的負(fù)擔(dān)沉重,而且對學(xué)生來說時效性差,學(xué)習(xí)效果受到影響。

⑷ 相關(guān)課程多但課程之間聯(lián)系少。

⑸ 目前的學(xué)生課程評價體系不夠完善。

2 具體改革內(nèi)容

著名的教育學(xué)家Gagné R.M說過:“教育的中心目標(biāo)就是教會人們思考,運用他們的理性,成為更好的問題解決者[2]?!贬槍σ陨系牟蛔泓c,結(jié)合目前我校計算機專業(yè)的教學(xué)規(guī)劃和學(xué)生不同階段程序設(shè)計能力特點,我們設(shè)計了如下層次教育模式,并初見成效。

2.1 層次化教育模式

啟蒙層次(第一學(xué)期):目標(biāo)是使一年級的學(xué)生具備基本的程序設(shè)計能力,掌握一些基礎(chǔ)算法,知曉如何編寫程序解決一些生活和科學(xué)的問題。

進階層次(第二學(xué)期,第三學(xué)期,第四學(xué)期):目標(biāo)是通過與數(shù)據(jù)結(jié)構(gòu)課程的銜接和滲透,讓學(xué)生理解數(shù)據(jù)結(jié)構(gòu)的本質(zhì)。強化學(xué)生的計算思維,引導(dǎo)解決綜合型系統(tǒng)級別的應(yīng)用型問題。

銜接層次(第五學(xué)期,小學(xué)期實踐):目標(biāo)通過與軟件工程課程的銜接和滲透,培養(yǎng)學(xué)生的綜合程序設(shè)計能力,讓學(xué)生具有利用程序解決綜合性問題的能力。

拔優(yōu)層次(二年級,三年級):目標(biāo)是培養(yǎng)學(xué)生創(chuàng)新能力。從對程序設(shè)計感興趣的學(xué)生中選拔出一批算法運用設(shè)計能力較強的學(xué)生,進行ACM競賽訓(xùn)練,以及更高級算法的學(xué)習(xí)和訓(xùn)練,培養(yǎng)出一批具有榜樣作用的創(chuàng)新人才。

2.2 程序在線評測激勵系統(tǒng)及其模式的建立

培養(yǎng)程序設(shè)計能力的關(guān)鍵是動手編程實踐,一般程序設(shè)計類課程實驗課與理論課的比例是1:1,從教學(xué)安排上,實踐類課時已經(jīng)很多了,但是僅靠課時要真正掌握好一門程序設(shè)計類課程是遠(yuǎn)遠(yuǎn)不夠的。雖然絕大部分學(xué)生都較重視理論課的學(xué)習(xí),但課內(nèi)實驗就不那么理想了。

根據(jù)實際教學(xué)的情況,我們設(shè)計了程序在線評測激勵系統(tǒng)化訓(xùn)練平臺。根據(jù)不同層次需求,配置了不同內(nèi)容的題庫和具體機制。我們將其用于實際教學(xué)中發(fā)現(xiàn),這個作為學(xué)生練習(xí)程序編制的平臺,在提高學(xué)生編程水平的同時,大大減少了教師的工作量;而且較之人工,機器自動評測更具嚴(yán)格性和客觀性。同時加入了激勵策略,輕松激發(fā)了學(xué)生的學(xué)習(xí)興趣。如:提交解答后系統(tǒng)會對提交的代碼自動進行評判,并同時給出時間占用和內(nèi)存占用等相關(guān)信息,如果排名在前三,就給予首頁彩帶滾屏獎勵,提升學(xué)生的自我榮譽感。又或給予學(xué)績考核的額外加分等。

在線評測系統(tǒng)的工作流程如圖1所示。學(xué)生提交一個程序源代碼后,評測程序就對代碼進行編譯,然后執(zhí)行,將執(zhí)行結(jié)果和評測系統(tǒng)后臺正確的測試數(shù)據(jù)進行比較,如果答案和后臺數(shù)據(jù)完全相同則AC(Accept),說明你的程序是正確的;否則返回錯誤信息,對不同的錯誤類型給出不同的提示。同時源代碼的評測結(jié)果保存到系統(tǒng)數(shù)據(jù)庫中。教師如需要結(jié)果列表,也可一次性導(dǎo)出。

目前程序設(shè)計的教學(xué)過程中很需要這樣的自動評測平臺。它既減輕了教師繁重的程序代碼批改工作量,也可更客觀和高效地給出評判結(jié)果。國際最重要的程序設(shè)計大賽ACM-ICPC[4]使用的就是這樣的模塊來測評結(jié)果。在實際教學(xué)中我們也真實地感受到了這個系統(tǒng)帶給我們教師的便捷,學(xué)生也體會到了實時高效評測的興奮和成就感。

2.3 構(gòu)建軟件設(shè)計課程群[3]

程序類課程教學(xué)中重視語法結(jié)構(gòu)和案例,很少能從程序設(shè)計的基本方法和思想進行引導(dǎo),使學(xué)生停留在照樣畫瓢的程度,缺少抽象思維、邏輯思維能力,難以編程解決實際問題。我們希望在學(xué)生掌握程序設(shè)計過程中激發(fā)起學(xué)生的軟件工程興趣。因此,在本學(xué)年新一階段的程序設(shè)計課程中,安排軟件工程的原理討論。討論的目的當(dāng)然不是代替獨立的軟件工程課程,而是將基本的軟件工程原理引入早期的學(xué)習(xí)中,讓學(xué)生能更好地為以后正式參與項目開發(fā)做好準(zhǔn)備;同時起到一個承上啟下的銜接作用。如果一開始就將邏輯簡單清晰、易讀易懂作為程序編寫的一個重要標(biāo)準(zhǔn),學(xué)生就不會在以后被強迫忘卻壞習(xí)慣和重新學(xué)習(xí)。他們能在以后的課程中更好地理解軟件的涵義,了解軟件開發(fā)的過程。

以下是主要的實施環(huán)節(jié)。

⑴ 按照上面構(gòu)建的程序設(shè)計能力層次化教育模式的框架,制定出每個層面的教學(xué)目標(biāo)、教學(xué)大綱,匯聚有層次差別的各種教學(xué)資源。

⑵ 在線訓(xùn)練激勵系統(tǒng)與學(xué)生實踐評價體系相配合。及時激勵先進,樹立榜樣。

⑶ 配置有層次化的學(xué)習(xí)輔導(dǎo)及習(xí)題集資料。豐富目前BlackBoard網(wǎng)絡(luò)教學(xué)平臺上內(nèi)容的質(zhì)與量。

⑷ 軟件工程環(huán)境映襯整個程序設(shè)計課程的教學(xué)環(huán)節(jié)。

3 結(jié)束語

本文研究了分層化教學(xué)改革,我們的總體目標(biāo)是針對程序設(shè)計能力培養(yǎng)的啟蒙入門、發(fā)展提高和開發(fā)應(yīng)用三個階段,研究和設(shè)計軟件程序設(shè)計課程體系的分階段學(xué)習(xí)模式,建立以任務(wù)驅(qū)動的課外程序設(shè)計激勵機制,實現(xiàn)大學(xué)四年平均每位學(xué)生累計達(dá)到1萬行程序編寫量,并能獨立完成千行以上的較大規(guī)模的程序設(shè)計。

我院從2009年開始就在探索學(xué)生程序?qū)哟位逃呐囵B(yǎng)模式,就前面講到的第四層次的學(xué)生群的實踐來看,已經(jīng)積累了一定的經(jīng)驗。在這些比較出色的程序設(shè)計的愛好者中,我們挑選了部分學(xué)生每年參加ACM-ICPC國際大學(xué)生程序設(shè)計競賽[4-5]。其作為世界最高水平的競賽,有獨特的氛圍和形式,吸引了無數(shù)愛好者,也鍛煉了一大批具有超強問題求解能力的人才。其中在2014年9-11月的比賽中,我院的隊伍獲得了亞洲賽區(qū)的5個銅獎。由于在ACM比賽中近幾年的良好賽績以及學(xué)生高漲的ACM熱情,我院還在2015年3月承辦了首屆全國中醫(yī)院校程序設(shè)計競賽,采用的就是ACM-ICPC的競賽規(guī)則與形式。接繼這樣的成果,我們接下來準(zhǔn)備將層次細(xì)化到其他相關(guān)專業(yè)課程,希望通過這樣的實施過程,能達(dá)到預(yù)期的最大化目標(biāo)。

參考文獻(References):

[1] 韓建民,王麗俠,賈s.大學(xué)生程序設(shè)計能力的層次化培養(yǎng)模

式[J].計算機教育,2012.3:15-18,22

[2] Jonassen, D.H. Toward a Design Theory of Problem

Solving[J]. Educational Technology: Research & Development,2000.48(4):63-85

[3] 傅川,沈鑫,蔣巍巍.軟件工程環(huán)境下的C程序設(shè)計課程教學(xué)[J].

計算機教育,2011.13:96-99

[4] Wikipedia. ACM International Collegiate Programming

Contest[EB/OL]. https:///wiki/ACM_

International_Collegiate_Programming_Contest.2015

篇10

【關(guān)鍵詞】C語言程序設(shè)計 多元化教學(xué)法 因材施教 非計算機專業(yè)

目前,大部分高職院校都開設(shè)了計算機公共課,我校根據(jù)學(xué)生的實際需要,為文科專業(yè)開設(shè)了計算機應(yīng)用基礎(chǔ)、網(wǎng)頁設(shè)計課程;為理工科專業(yè)開設(shè)了計算機應(yīng)用基礎(chǔ)、C語言程序設(shè)計等課程。本人所從事的是機電、數(shù)控類專業(yè)《C語言程序設(shè)計》課程的教學(xué)。作為一門專業(yè)基礎(chǔ)課,它面向的是非計算機專業(yè)的學(xué)生。結(jié)合多年的教學(xué)實踐,本人對本課程的課改方面也作了探索。

一、研究學(xué)生現(xiàn)狀,確定教學(xué)目標(biāo)

在學(xué)習(xí)《C語言程序設(shè)計》之前,學(xué)生已學(xué)習(xí)了《計算機應(yīng)用基礎(chǔ)》,已有一定的計算機基本操作能力。但是,對于程序設(shè)計,學(xué)生之前并沒有接觸過,而且,對于高職學(xué)生而言,教學(xué)內(nèi)容確實比較難。因此,本人在第一次教授本課程時就不敢掉以輕心,每天認(rèn)真?zhèn)湔n,鉆研教材,研究教法,以便上好每堂課。然而,學(xué)生仍舊抱怨課程枯燥難懂,課堂反應(yīng)一般。經(jīng)過多方面研究以及通過請教同行,本人才意識到,在教學(xué)過程中,面對手中的書和學(xué)生,我都沒能把他們放在應(yīng)有的位置上,只是一味地按照教科書的節(jié)奏和內(nèi)容強行灌輸給學(xué)生,根本沒有去研究他們到底需要什么?不需要什么?怎樣講課才是他們最容易接受的?針對上述情況,我作了以下分析。首先,我面對的是高職學(xué)校的學(xué)生,他們進校時學(xué)習(xí)成績一般,基礎(chǔ)知識掌握程度相對較差,學(xué)習(xí)習(xí)慣也不好,學(xué)習(xí)上不夠主動。而開始我對他們的要求過高,上課節(jié)奏太快,沒有等他們將一個知識點理解透透徹就急忙趕到了下一個知識點,這樣導(dǎo)致了學(xué)生越來越聽不懂,上課像聽“天書”。因此,研究學(xué)生的實際情況是確定教學(xué)目標(biāo)的首要任務(wù)。其次,研究本課程對本專業(yè)的作用也是確定教學(xué)目標(biāo)的關(guān)鍵。機電、數(shù)控類專業(yè)的學(xué)生學(xué)習(xí)《C語言程序設(shè)計》課程并不是要在今后能編寫C語言程序,而是學(xué)習(xí)一些編程方法,為以后學(xué)習(xí)數(shù)控編程打好基礎(chǔ)。因此,并不需要像要求計算機專業(yè)的學(xué)生一樣能準(zhǔn)確無誤地寫出每一條代碼,只要能讀懂程序,并且在遇到一個問題時能分析問題,畫出流程圖。這樣,難度就降低了不少,學(xué)生不再覺得每堂課都是在聽“天書”。同一門課程,面對不同類型的學(xué)生,若不研究和考慮他們的實際需求,而只是從教材出發(fā),是絕對不可取的。

二、因材施教,設(shè)計課程內(nèi)容

在確定教學(xué)目標(biāo)后,本人對教學(xué)內(nèi)容作了一些修改和完善。

(一)內(nèi)容精簡,實例廣泛

對于機電、數(shù)控類學(xué)生而言,不需要學(xué)得太廣泛,內(nèi)容“夠用”就好。因此,突出了流程控制、數(shù)組、函數(shù)、指針、結(jié)構(gòu)體等核心內(nèi)容的教學(xué),削弱了枚舉、位運算、宏定義等非核心內(nèi)容的教授。為加強C語言與機電、數(shù)控類專業(yè)知識的聯(lián)系,在實例講解時除了比較大小、電文譯、排序等類型實例外,還增加了具有專業(yè)特色的實例,例如:設(shè)計一個紅綠燈自動變化(紅燈:2秒;綠燈:3秒;黃燈:1秒)程序?qū)嵗?/p>

(二)理論與實踐相結(jié)合

理論與實踐互相依托,密不可分。經(jīng)過一段理論知識的學(xué)習(xí)以后,很多學(xué)生只能將課堂上講解的程序一字不漏地輸入電腦,甚至還把程序抄錯,編譯時出現(xiàn)的語法問題自己不能解決,要依靠老師替他解決。針對這一現(xiàn)象,本人決定在每次上機實踐前將典型錯例錯誤提示信息、錯誤原因分析等編成錯誤小結(jié)發(fā)給學(xué)生,盡量使學(xué)生能獨立完成實踐課。上機結(jié)束前總結(jié)學(xué)生出現(xiàn)的常見錯誤,使其加深夠印象,在下次上機時能夠避免。

(三)多方位學(xué)習(xí)資源

本課程是校級精品課程,校方制作了精品課程網(wǎng)頁放到了學(xué)校網(wǎng)站中。學(xué)生可以通過注冊用戶下載電子課件、上機實踐指導(dǎo)、上課視頻等教學(xué)資源以便課后學(xué)習(xí),也可以在學(xué)習(xí)論壇中提問或與其他老師、同學(xué)討論問題,交流心得。

三、組合多元化教學(xué)方法,改善教學(xué)效果。

多年來,我校的C語言教學(xué)模式一直比較傳統(tǒng),主要以教師講授為主,學(xué)生往往處于被動接受知識的狀態(tài),學(xué)生雖然學(xué)完了全部內(nèi)容,但離開老師的幫助,拿到具體問題還是無從下手。本人經(jīng)過多年教學(xué)經(jīng)驗,總結(jié)了幾種行之有效的教學(xué)方法,并結(jié)合機電、數(shù)控的學(xué)科特點,在C語言教學(xué)中運用嘗試。

(一)提問教學(xué)法

本人在教學(xué)過程中發(fā)現(xiàn),經(jīng)過一段時間的學(xué)習(xí),學(xué)生往往提不出問題。然而,問題是最好的老師,沒有問題便沒有深入。作為教師就要在教學(xué)過程中,引導(dǎo)學(xué)生發(fā)現(xiàn)問題,然后留給學(xué)生思考、討論的時間,之后解決問題,從而更深入地展開學(xué)習(xí)。

例如,當(dāng)學(xué)習(xí)數(shù)組時,教師先設(shè)置問題:編程計算10個學(xué)生的語文平均成績。學(xué)生根據(jù)以前的所學(xué)會想到:需要定義10個類型相同的變量用于存放這些成績。再進一步要求:計算50個學(xué)生的語文平均成績。這時學(xué)生就會考慮到,如果按照以前的方法,問題將會變得很復(fù)雜,有沒有更合理的定義方法呢?此時,當(dāng)教師引出數(shù)組的概念,分析數(shù)組的性質(zhì)時,學(xué)生不僅能很容易記住數(shù)組的性質(zhì),還能知道在什么情況下使用數(shù)組類型。這一環(huán)扣一環(huán)的提問,能激發(fā)學(xué)生探索的欲望,使學(xué)習(xí)不再是枯燥、復(fù)雜的理論說教,事半功倍。

(二)分段教學(xué)法

高職學(xué)生學(xué)習(xí)基礎(chǔ)差,接受能力也一般,而C語言課程本身就比較難學(xué),要求他們一開始就能自己編程幾乎是不可能的,只能“慢慢來”。

分段教學(xué)就是讓學(xué)生由易到難地學(xué)習(xí)。第一步,讀程序。將相關(guān)程序通讀一遍,并且為每一條不熟悉的語句寫上注釋,標(biāo)明這條語句是干什么用的?為什么用它?要注意些什么?這些過程雖然煩瑣,但堅持下來,學(xué)習(xí)效果還是比較明顯的,經(jīng)過一段時間的訓(xùn)練后,學(xué)生基本上可以讀懂的程序了。第二步,改程序。將讀過的程序功能改一改,改寫算法,這一階段實際上是算法分解組合的過程,學(xué)生在這個過程中,能收獲很多知識。最后一步,編程序。有了前兩步的基礎(chǔ),編程就不再是那么“恐怖”的事了。但一開始,老師還是要適當(dāng)?shù)亟o一些提示,鍛煉機會多了以后,在老師沒有提示的情況下,大部分學(xué)生對程序都能有一個大概的思路,對于機電、數(shù)控專業(yè)的學(xué)生而言已經(jīng)足夠了,也有同學(xué)可以編寫出完整的程序。對于一些學(xué)習(xí)能力較強的學(xué)生,鼓勵他們用不同的方法實現(xiàn)同一功能,這樣可以加深學(xué)生對理論知識的理解,提高融會貫通和舉一反三的能力。實踐證明,分段教學(xué)法是可取的,教學(xué)效果是明顯的。

(三)案例教學(xué)法

傳統(tǒng)教學(xué)中,C語言的例題雖然很多,但是相對比較獨立、零散,沒有層層遞進的連續(xù)性。案例教學(xué)法是將實例的功能由小到大、由簡到全,各知識點因新增的功能需要被引入教學(xué)。

例如,在講授“結(jié)構(gòu)類型數(shù)據(jù)”時,設(shè)計如下案例:

案例一:定義一個實型變量gz,從鍵盤輸入,如果大于等于500,則輸出其值,否則輸出信息:“最低工資不得少于500”;

案例二:定義一個描述職工工號(gh)、姓名(xm)、工資(gz)的結(jié)構(gòu)類型gongren,并定義一個gongren類型變量gr1,并賦初值,如果gr1的工資在500以上,則輸出:“××(姓名)的工資是××”,否則輸出信息:“最低工資不得少于500”。

案例三:定義6個gongren型變量gr1、gr2、gr3、gr4、gr5、gr6,并從鍵盤輸入其值,輸出平均工資及工資最高的職工信息。

從案例的設(shè)計中可以知道:案例一所用的知識點是學(xué)生已掌握的,所以作為“溫故”,由學(xué)生自己完成;案例二涉及了結(jié)構(gòu)類型數(shù)據(jù)的使用,在教師輔導(dǎo)和相關(guān)資料的指導(dǎo)下,學(xué)生對結(jié)構(gòu)類型已基本了解,此時,作為“新知”讓學(xué)生在簡單的案例中實踐;案例三為了讓學(xué)生靈活運用知識解決實際問題,在“新知”的基礎(chǔ)上進一步“鞏固”相關(guān)知識。這樣層層推進,使學(xué)生每一步學(xué)習(xí)都有基礎(chǔ),是循序漸進、螺旋式上升的過程,使學(xué)生在不斷探索中完成學(xué)習(xí)任務(wù),激發(fā)學(xué)生的學(xué)習(xí)興趣,增強學(xué)生的自信心。

四、結(jié)論

2010-2011學(xué)年第一學(xué)期,本人按此教學(xué)模式實施了教學(xué)活動。經(jīng)過了一學(xué)期的實踐發(fā)現(xiàn),此教學(xué)模式能有效解決我校C語言教學(xué)中存在的問題。以上是本人在非計算機專業(yè)《C語言程序設(shè)計》課程教學(xué)中的一點經(jīng)驗和總結(jié),實際上在教學(xué)過程中應(yīng)注意的問題還有很多??傊挥懈鶕?jù)實際情況采用合適的教學(xué)模式和教學(xué)方法,才能取得最佳的教學(xué)效果。

參考文獻:

[1] 謝延紅.C語言程序設(shè)計公共課教學(xué)模式改革與實踐[J].計算機時代:2010,12:45-46.

[2] 龔靜,曾建一.多元教學(xué)法在高職《C語言程序設(shè)計》課程教學(xué)中的實踐[J].職業(yè)教育研究:2010,4:90-91.

[3] 蔡艷婧.C語言程序設(shè)計教學(xué)方法探析[J].福建電腦:2008,5:213,209.

[4] 蔣漱清.高職非會計專業(yè)《會計學(xué)》課程改革探討研究.科苑學(xué)譚:2010,3(2):24-27.