電腦編程零基礎教學范文

時間:2023-11-27 17:54:13

導語:如何才能寫好一篇電腦編程零基礎教學,這就需要搜集整理更多的資料和文獻,歡迎閱讀由公務員之家整理的十篇范文,供你借鑒。

電腦編程零基礎教學

篇1

>> 留學生漢語學習中的漢字思維解析 非計算機專業留學生的計算機基礎課程教學研究 漢字結構與漢字部首對留學生漢字學習的影響研究 基于計算機游戲技術的留學生入學教育模式探討 醫學院校外國留學生計算機教學的研究與探討 初級階段留學生漢字學習策略研究 醫學留學生計算機應用水平調查及分析 留學生全英計算機實驗教學研究 針對不同學習階段的留學生的漢字教學法 面向華裔留學生的漢字學習文本的獲取 加強高頻漢字的學習 提高留學生寫聽讀用能力 計算機輔助美術教學的數字化學習理念研究 對日留學生的漢字教學策略 淺談零基礎留學生的漢字教學 留學生書法課中的漢字教學 計算機輔助語言學習與學生自主學習之間的關聯 計算機編程類課程輔助學習系統的設計和實現 計算機輔助設計教學中的網絡學習板塊分析 多種學習理論視野下的計算機輔助教學設計探究 計算機輔助概念設計中的協同設計 常見問題解答 當前所在位置:百度百科.計算機輔助教學詞條.

[3]Sternberg,R.J.&Wagner,R.K.1982).Automatization failure in learning disabilities.Topics In Learning&Learning Disabilities,2(2),1-11.

[4]陸炳甫.如何利用電腦輔助中文閱讀[J].世界漢語教學,1996(1).

[5][6]葉淑儀、王瑞.電腦輔助中文教學的心理分析[J].廣州大學學報(社會科學版),2003(10).

[7]Mayer,R.E.,&Moreno,R.(2002). Aids to computer-based multimedia learning. Learning and Instruction,12(1),107-119.

[8]Kuo,M-L.A.,& Hooper,S.(2004). The effects of visual and verbal coding mnemonics on learning Chinese characters in computer-based instruction. Educational Technology Research and Development,52(3),23-34.

[9]Baddeley,A.(1986). Working memory.Oxford University Press New York.

[10]SchnotzW.,(1993),Some remarks on the commentary on the relation of dual coding and mental models in graphics comprehension,Learning and Instruction,3,111-155.

[11]http:///jrzg/2010-07/29/content_1667143.htm國家中長期教育改革和發展規劃綱要(2010-2020年).

[12]謝錫金,祁永華,羅陸慧英.多媒體電腦輔助學習漢字的理論與設計[A].首屆小學漢字教育國際研討會論文集[C].1994,08.

[13]徐通鏘.“字”和漢語的句法結構[J].世界漢語教學,1994(2).

篇2

計算機硬件的維護主要分為兩種途徑,一是對于集中上課的情況,比如學校計算機教學和計算機輔導班的教學,要使用專職的維護人員。因為這類情況,學習者比較集中而且數量相對來說也比較大,因此,多采用機房教課的模式,由于計算機屬于公共財產,因此讓學習者進行計算機維護的可能性不大,還有就是計算機的數量較多,讓教師獨自進行維護會比較艱難,既不能保證維護效率,也不能保證維護質量,而專職的的維護人員可以有足夠的時間進行工作,能最大程度延長計算機硬件的使用年限。二是使用個人計算機的學習者,教學大多通過網絡視頻授課或者DVD播放聽講,因此學習者大多處于比較私人的環境之中,受到外界的影響比較小,因此便于對計算機硬件進行維護。但是不利的方面是學習者的計算機知識廣度不足,因此維護行為的專業性可能不夠,從事降低了對問題的解決力度,基于這種情況,學習者在完成正常的學習任務之后,可以抽出一定的時間對計算機維護方面的知識進行查詢和了解,確保能夠進行日常簡單的計算機硬件維護工作。

2對計算機相關軟件開發的積極作用

計算機技術的教學基礎就是相關軟件的正常運行和使用,因此可以說計算機軟件在一定程度上影響著教學質量。當今社會的信息化建設步伐日益加快,計算機行業的相關知識激增,每天都會研究出新的電腦技能和軟件。從1946年第一臺計算機誕生到如今個人計算機的普及,尤其是上世紀90年代微軟公司Windows窗口系統的研發,計算機僅僅用了60余年就成為科學技術走向的領導者,并且進入了全盛時期,幾乎沒有一個人能夠信誓旦旦的說可以在生活中絲毫不使用計算機。計算機最初使用的軟件只是為了滿足軍用數據的處理和分析,隨著計算機技術的發展和人們要求的不斷提高,計算機軟件的研發范圍越來越大,涉及工作和娛樂的多個方面,在這種大背景之下,應用于上機訓練的計算機軟件業日益增多,尤其是在計算機技術教學中實施加強上機訓練的教學手段,更是為訓練軟件提供了更多人次使用的可能性。

由于計算機知識的學習有一定的枯燥性,因此要想提高和激發學生的學習興趣,計算機上機訓練的軟件開發就要更加人性化和合理化,訓練的項目要由淺入深逐步增加難度,并且數量也不易過多,可以拆分成幾個單元共同完成訓練的內容。此外,訓練軟件中不能一味的只是枯燥乏味的訓練內容,還應加入一些具有訓練功能的智益游戲,比如進行打字速度的訓練時,可以組織同在一個局域網的學習者進行打字比賽,獲勝者由電腦依照系統設置做出獎勵;還有C語言或者VB編程的訓練,因為有著比較大的枯燥性,因此軟件的開發者可以引入問題情景或者是列舉實例進行講解。加強上機訓練對于相關軟件開發的促進作用還表現在可以為研發工作提供改進建議,學習者在進行上機操作時能夠發現軟件中存在的不足和漏洞,其提出的意見也最符合軟件改進需求,是研發人員收集資料的一條有效途徑。

3對學生提高學習興趣的積極作用

興趣是學習者學習知識技能最好的老師,縱觀世界上的成功人士,他們所取得成就的領域正是其興趣所在,因此參與計算機技術教學的教育者要努力尋找能夠提高學習者學習興趣的方法。加強上機訓練從一定程度上克服了學習的枯燥性,增加了學習的趣味性,可以很大程度的激起學習者的學習興趣,提高學習者的動手能力和創新意識,因為學習者的學習質量不僅僅與教師的教學水平相關,更多的是依靠學習者自身的學習能力。

教師只是將學生引入學習情境的指引者,真正的學習還需要學習者根據自身學習的需求進行自主學習,上機訓練可以為學生營造多種不同學習場景,從而激發學生進行知識點和操作技能研究的積極性,在這一過程中,可以提升學生獨立思考和解決問題的能力,而不是一出現問題就向老師求救,能夠加深學生對于計算機操作技能的記憶和熟練程度,在以后進行相關的操作或者遇到類似的問題時,學習者就可以運用應已經掌握的知識和技能獨立解決。而提高學習者學習興趣的方法分為兩種,一是在進行上機操作訓練時,教師可以設定一個學習任務,比如說在進行打字訓練時,要求學習者在規定的時間內,將每分鐘的打字數量提升到一個固定數值,按時或者優先完成的由教師進行表揚,沒能按時完成者則由老師分析原因后再獨自加強訓練。二是軟件開發的模式和內容,要符合學生的學習要求,要能夠有足夠的吸引力吸引學生,要符合社會發展趨勢的與學生學習需求的結合,這一點在文章前半部分做了詳細的介紹,在這里就不再進行詳細分析了。

4對教學形式改革的積極作用

計算機技術教學的教授對象大致可以分為兩種,一是計算機或者相關專業的學習者,二是非計算機專業的學習者。計算機專業及其相關領域的學習者對于計算機技術的學習要求較高,比如要求在學習末期要能掌握編程或者能應用計算機進行光子、量子和生物等高新行業的研究,而非計算機的學習者一般要求不高,僅僅要求自身能夠熟練操作電腦并能夠使用電腦進行文字處理、表格制作、幻燈片播放、瀏覽網頁、網上交流和接受郵件等等一些基礎項目。綜上所述,傳統的無差別式教育已經落后,計算機技術教學迫切需要進行教學模式的改革,因此分層次的教學模式應運而生。由于在進行學員招收時,每個學習者的基礎不同,有的人在小學或者中學就已經接觸到了計算機,而有些人因為條件因素的限制,在之前并沒有任何計算機基礎,因此在進行班級編排時要依據學習者的基礎進行分班,尤其是對于零基礎的學員要進行小班教學,安排具有教育經驗豐富的教師,因材施教,因人教育,逐步深入,循序漸進,盡量讓他們在最短的時間內趕上正常的教學進度。

對于有一定計算機技術基礎的學習者,老師可以不用費力費時的進行基本計算機技術的教學,應該采用提問或者示范操作的方式,幫助學習者回憶已經掌握的知識技術,同時還可以達到引出新的學習內容的目的,增強學習者的學習自主性,從而擴展學習者的知識廣度,使得能夠快速地提高學習者的學習進度和質量。此外,教師除了進行傳統計算機技術的教學以外,還要向學生講解一些先進而又實用的計算機操作技術,幫助學生建立起時時關注先進技術發展的意識和提升對于技術的理解和認知,繼而能夠提高學習者的創新意識和綜合素質,使教學任務能夠保質保量的完成。

5對計算機教學方法創新的積極作用

怎樣對學生的上機訓練效果進行評估,一直是困擾著教師的一大難題,因為學習者的能力程度不同,因此上機訓練的項目和難度也不同,這就為評估工作帶來了難度和較大的工作量,傳統一個標準、一種方法的評估模式應經被時代所拋棄,現在必須要對教學評價方法進行創新。對于訓練結果的評估可以使用比較法,教師可以在布置教學任務之前就把訓練結果的標準制定好,分條分步的寫出評估標準,這樣學生就可以通過自評的方式找出自身的不足之處,教師也能更加直觀的了解學生學習的薄弱地方,對以后教學模式的改進有著積極作用。此外,還可以運用競賽法和進步錯進法輔助教學,只有不斷地競爭才有不斷地進步,具體做法可以把學生分為幾個學習小組,給與適量的小組和個人訓練任務,并每次訓練之前,公布上次比賽的小組名次和個人的前三名,從而給學習者營造出一種優勝劣汰的學習氛圍。

還有就是可以給學習者展現兩種學習情況的對比表格,一是自身的縱向對比,通過對比可以了解自己在截至目前為止學習中的進步或者退步情況,然后有針對性的進行調整,查漏補缺,最終使整個學習內容都能完全掌握;二是縱向對比,把每一次上機訓練的成果同其他一起進行訓練的學習者的成果進行比較,是學習者對自己的排名有一個直觀的認識,從而能激起其奮斗欲望,不斷努力學習謀求進步,從而實現學習者之間的良性競爭關系。還應注意的一點事,對于有進步或者是優秀的學習者,要給予一定的精神獎勵或者是物質獎勵,比如說可以在上機訓練時集中對值得表揚的學員進行表彰,同時頒發一些小的獎勵,像鋼筆或者是U盤之類的,這樣可以增加學員對于榮譽和獎勵的渴望,從而使計算機技術的教學更加容易開展。

6結束語

篇3

關鍵詞:C++;辯證法;認識論;案例教學

程序設計貫穿于計算機專業教學的全程,是培養學生計算機能力的出發點和落腳點。對于計算機專業的學生來講,不掌握程序設計,就不能算真正地學習了計算機。C++語言是應用最為廣泛的程序設計語言之一,它功能強大,使用靈活,是大學計算機專業程序設計類課程的首選語言。但是C++語言過于靈活,被公認為是最難學的程序設計語言,尤其是指針、對象等概念的引入更進一步增加了C++語言教和學的難度。

作為認識世界和改造世界的有力工具,辯證法和認識論已用來闡釋計算機科學和技術領域的某些問題[1-3],并用來指導計算機專業的課程教學[4-5]。本文將辯證法和認識論用于C++程序設計教學,對教學內容進行整合,闡述C++自身存在的辯證規律;同時,按照認知規律和實踐第一的觀點,提出一種新的案例教學模式。通過以上教學方法,力圖解決C++教與學中存在的難題,從而達到良好的教學效果。

1辯證法指導下的教學內容設計

1.1課程的知識點及其關系

本門課程的知識點及相互間關系如圖1所示。數據類型中的簡單類型包括整型、實型、字符型、布爾型和枚舉型等,復合類型包括數組、向量、字符串和文件等。流程控制由順序、選擇和循環三種結構完成。

數據類型和流程控制的集成形成函數,函數進一步發展形成對象,封裝性、繼承性和多態性是面向對象程序設計的三要素。模板編程和異常處理可以保證程序的重用性和健壯性。在求解復雜問題時,需要對程序結構進行組織,如采用多文件編程等;如果同一問題的求解有多種算法,則需進行性能測試,選擇運行效率最高的算法。

圖1C++語言的知識結構

1.2內容整合

C++語言與C語言、數據結構等課程緊密相關。合理安排每門課程的內容,科學地處理好三者的關系對課程教學具有重要意義。

1.2.1C語言與C++語言內容的整合

在傳統的教學方法中,通常是先進行C語言教學,然后再進行C++語言教學,造成了部分教學內容的重復。因為C語言是C++語言的一個子集,因此完全可以直接進行C++語言教學,將其分為C++(上)和C++(下),C++(上)側重于基礎語法和結構化程序設計;C++(下)側重于面向對象程序設計和簡單算法。整合前后的效果如表1所示,整合后的效果明顯好于整合前,體現了整體大于部分之和的系統論思想。

1.2.2與數據結構課程的銜接

C++程序設計與數據結構一脈相承,C++程序設計是數據結構教學的基礎,數據結構可以促進C++程序設計水平的提高,將二者資源進行整合與共享對兩門課程建設均有好處。為了使二者更好的銜接,在C++程序設計語言中主要介紹簡單的排序和查找算法及線性鏈表的基本操作。

1.2.3教材的選擇

基于前述的知識點及整合后的教學內容。我們選用了清華大學出版社出版的三本書作為教材和參考書。第一本是錢能編寫的《C++程序設計教程(第二版)》(以下簡稱“錢版”),該書重于編程技能的培養,講解純粹的C++語言;第二本是譚浩強編寫的《C++程序設計》(以下簡稱“譚版”),該書講解細致,在講解C++語言的同時也講解了C語言的內容,適合初學者;第三本是鄭莉編寫的《C++語言程序設計(第三版)》(以下簡稱“鄭版”),該書引入案例教學,知識講解逐層深入,思路清晰。此外,鄭版以國家精品課為支撐,配套資源豐富。

在具體教學中,我們以錢版作為教材,同時汲取譚版和鄭版的部分內容,并融入我們的經驗,形成具有自身特色的內容組織與安排。整本教材分為兩個學期講授:上學期講授第一部分“基礎編程”和第二部分“過程化編程”,下學期講授第三部分“面向對象編程”和第四部分“高級編程”。

1.3C++語言自身存在的辯證規律

1.3.1變量的時空性

變量是程序設計語言中最重要的元素之一。而生存期與作用域是變量的兩個重要屬性,體現了變量的時空性,如圖2所示。

圖2變量的時空模型

下面是一個C++程序,記為代碼段1,對該程序進行分析,可得圖3所示的時空模型。

//代碼段1

#include

using namespace std;

void test();

int n=2;//n是全局變量

int main( ){

int a=4,b=-6;//a,b是局部變量

test();

test();

}

void test( ){

static int c=1;//c是靜態局部變量

int d=3;

c=c+5;d=d+7;//c,d是局部變量

n=n+9;

}

圖3代碼段1中變量的時空表示

1.3.2循環的遞進性

循環是C++程序設計的一個難點,循環的初始條件、終止條件和步長是理解循環的三個關鍵因素。循環的執行具有遞進性,按圖4的標識有助于學生理解循環的運行過程。

圖4循環的遞進模型

例如,求1至100的和,有如下代碼,記為代碼段2。

//代碼段2

sum=0;

for(i=1;i

sum=sum+i;

其循環過程如圖5所示。

圖5代碼段2的循環遞進模型

1.3.3函數的控制性

函數是程序的基本要素。函數由輸入、輸出及函數體組成。輸入相當于原材料,函數體相當于一個加工廠(控制體),輸出相當于最終產品,如圖6所示。

圖6函數的控制模型

例如,已知圓的半徑r,設計一個函數求圓的面積與周長,有如下代碼,記為代碼段3。

//代碼段3

Void circle(double r, double& Area, double &Circ )

{

Area=pi*r*r;

Circ=2*pi*r;

}

代碼段3所對應的函數模型如圖7所示。

圖7代碼段3中的函數模型

1.3.4類的封裝性

在結構化程序設計中,一個問題是由多個函數相互協作完成的,程序=數據結構+算法。在面向對象程序設計中,一個問題是由多個對象相互協作解決的,程序=對象1+…+對象n。協作的主要方式是繼承與組合。

封裝性是類的基本特征,一個對象是由屬性和行為組成的。一個對象就是一個黑箱。

例如,用類描述一個在光滑平面上運動的物體,其屬性包括:初速度v0和加速度a,其行為包括:求某一時刻t的速度velocity和距離Distance。有如下代碼,記為代碼段4。

//代碼段4

class move{

private://定義屬性為私有

double v0,a;

public://定義行為為公開

double move(v01,a1)//構造函數

{v0=v01;a=a1;}

double Velocity(double t)//求t時刻速度

{ returnv0+a*t; }

double Distance(double t)//求t時刻距離

{ returnv0*t+0.5*a*t*t; }

}

該類可表示為一個黑箱,v0和a被封裝在黑箱內,外界不可訪問;Velocity(t)和Ditance(t)是對外接口,提供給外界調用,如圖8所示。

圖8move類的封裝性

2認識論指導下的教學方法設計

認識論認為理論來源于實踐,并可用于指導實踐;從實踐到理論,再從理論到實踐,這是一個否定之否定的過程,每進行一次實踐,認識就會前進一步;理性認識來源于感性認識,實踐是檢驗真理的唯一標準。

基于以上思想,我們在教學中堅持實踐第一的觀點,以“問題導向,興趣驅動,項目貫穿”為基本原則,在例題和習題的選取、案例教學、實踐教學等方面提出了自己的方法。

2.1例題和習題的選取

例題和習題主要有以下四個來源。

1) 經典趣題。

如雞兔同籠、百錢百雞、猴子吃桃、約瑟夫問題,等等[6]。

2) 物理學方面的工程問題。

C++程序設計課程在大學一年級上、下學期開設,同期已開設大學物理課程。把物理學里面的相關工程問題引入教學符合實際,能夠調動學生學習的積極性。

3)ACM程序設計大賽中的題目[7]。

將ACM引入教學有兩個目的:一是通過趣味性和實用性較強的ACM題目訓練學生的程序設計技巧,激發學生的成就感;二是幫助學生熟悉ACM大賽,并吸引部分學生投入到ACM競賽中,形成一個良好的學習氛圍,達到以賽代練、在賽中學的目的。

4) 教師在教學實踐和科研實踐中的項目。

學生成績管理是教學實踐的例子,精準施肥決策是科研實踐的例子。在實際教學中,我們正是利用這兩個例子進行案例教學。

2.2一種新的案例教學模式

我們發現,在教學過程中直接向學生進行理論知識的灌輸,學生往往不知道學這些東西有何用,而且純粹的理論教學也易使學生產生枯燥情緒,教學效果并不好。因此我們在教學中實施了一種以問題為導向的案例驅動教學方法。

具體來說,在每門課程講述之前首先由教師設計并實現一個案例,并將案例演示給學生,告訴學生為了完成這個案例必須要學習哪些知識。在具體的教學中,教師將理論講授融入于案例中,引導學生一步一步完成這個案例。通過這種方式,學生首先就有了一個目標,對所學的理論知識既看得見又摸得著,每前進一步,學生也會有一種成就感。為此,我們設計了兩個案例――源于教學實踐的學生成績管理和源于科研實踐精準施肥信息管理。

2.2.1學生成績管理

學生在大學學習過程中最關心的就是自己各門課程的學習成績。因此以學生成績管理作為案例進行講解,學生容易接受,易于引起學習興趣。對學生成績的管理主要包括計算總分和平均分、按姓名查找分數、對成績按高低進行排序、對各分數段進行統計分析等。

2.2.2作物精準施肥管理

一個地塊由DGPS劃分成為了若干個40m×40m的網格(圖9)。每個網格都具有不同的土壤養分(主要是氮磷鉀),從而應該具有不同的施肥量。

圖9劃分網格后的地塊

要求根據不同網格的養分含量計算每個網格的施肥量,施肥量的計算方法主要包括養分平衡法和養分豐缺指標法。

1) 養分平衡法。

養分平衡法的公式如下:

F=(Y×C-S)/(N×E)

式中F是施肥量(kg/hm2);Y是目標產量(kg/ hm2);C是單位產量的養分吸收量(kg);S是土壤供應養分量(kg/ hm2);N是所施肥料中的養分含量(%);E是肥料當季利用率(%) 。其中,S=土壤養分測定值×土壤有效養分換算系數。

養分平衡法適合于講解順序結構和簡單數據類型等知識點。

2) 品種喜肥特性。

對某作物品種按喜肥特性分為高、中、低三個等級,每一級別對應一個施肥量。一種喜肥特性法的例子如表2所示。品種喜肥特性法適合于講解選擇結構。

3) 肥料效應函數法。

肥料效應函數法反映的是產量與施肥量之間的關系。一種常見的關系見以下表達式:

式中, 為產量, 為施肥量。為了求得最大產量施肥量,需要采用求極值和求導的方法。

肥料效應函數法適合于講解循環結構。

2.2.3案例和相關知識點的對應

上述兩個案例貫穿于整個教學過程,每個案例有若干子問題組成,每個子問題對應一個知識點。其對應關系如表3所示。

3.3實踐教學

我們將C++程序設計的實踐教學分為課堂實驗和課程設計兩個階段。

課堂試驗側重語法,兼顧算法,分為驗證性試驗和設計性試驗。驗證性試驗主要是對教師在課堂上講的程序進行驗證,注重于知識點的理解,題目來源于是學生成績管理案例。設計性試驗主要是學生自己編

寫程序實現問題的求解,注重于知識點的運用,題目來源于作物精準施肥案例。

課程設計側重算法,兼顧語法,主要任務是綜合運用已掌握的語法和算法完成一個較實用的軟件系統。為了激發學生的學習興趣和發揮學生的創造性,部分課程設計題目由學生根據自己的生活實踐選取。

3教學內容的課堂展現

3.1多媒體演示、板書和現場編程的統一

傳統的板書式教學效率較低,不夠直觀,不夠形象。因此現在普遍倡導多媒體教學,多媒體教學確實克服了板書式教學的缺點,但是也帶了一些問題。比如,講授速度加快,內容增多,學生接受起來有一些困難;老師和學生可能都過分關注多媒體課件,缺少了相互的理解和溝通。另外,教師受制于多媒體課件限定的形式和內容,很難進行臨場發揮。在教學過程中經常會碰到一些無法預料到的情況,比如針對某個學生理解不清的環節,就需要老師在黑板上進行講解。因此,多媒體教學并不能完全取代傳統的板書式教學方式,二者必須緊密結合。

具體說來,指針與鏈表、函數調用及參數傳遞、算法對應的流程圖等宜采用多媒體教學;而對于相關知識點的臨時擴展和學生的隨機提問宜采用板書教學。多媒體和板書相結合,既能利用多媒體教學的生動性和形象性,又能利用板書教學的靈活性和擴展性。

另外,C++程序設計教學的特殊性在于它的實踐性,學生的程序設計能力是否提高是衡量教學好壞的唯一標準。為此,在集成開發環境下現場講解代碼是提高教學效果的一個重要手段。我們在教學中采用現場編程的方式向學生講解相關知識。代碼講解有兩種方式:一種是“先編后調”,即教師在課前編寫好代碼,然后在課堂上調試講解;另一種是“即編即調”,即教師在課堂上現場編寫現場調試。我們采用“即編即調”的方式,這有助于學生理解和掌握程序的編寫過程,有助于訓練學生的編程思維。

3.2從問題分析到程序設計

對于一個語法結構的引出,我們采用從具體到抽象再到具體的方法。即先從一個簡單的例子抽象出語法規則,然后再使用一個稍復雜的例子加深對有語法規則的理解。

講解一個具體的應用例子時,采用三階段法:第一階段為問題分析,采用流程圖描述;第二階段為算法設計,采用偽代碼描述;第三階段為編程實現,采用C++代碼描述。

下面以“判斷某個整數n是否是素數?”這一問題進行說明。

1) 問題分析。

本部分采用問題分析圖(Program Analysis Diagram),也稱為PAD流程圖[8],對問題進行分析。PAD圖用二維的樹形結構描述程序的邏輯,使用了結構化的記號系統,具有開放性。用PAD圖表示算法更直觀,易于理解。素數問題的PAD圖如圖10所示。

圖10素數問題的PAD圖描述

2) 算法設計。

為了使算法的書寫符合規范,主要采用Donald E.Knuth的算法書寫方式[9]。在該種方法中,每個步驟都以一個標號進行標識,符號用來表示賦值,符號■作為算法結束的標記。

輸入:n//n為輸入的某個整數

輸出:flag//flag為布爾變量,表示是否為素數

算法:Prime

P1[初始化] i2,flagtrue

P2[判斷是否能被2至n之間的數整除]

For i=2 To n DO

IF n%i=0 THEN DO (flagfalse;break;)

P3[返回n是否為素數]

RETURN flag■

3) 編程實現

為了保證程序的清晰性和易讀性,程序書寫采用層次遞進方式,如代碼段5所示。

//代碼段5

bool prime(int n)

{

int i;

bool flag=true;

for(i=2;i

if(n%i==0)

{flag=false;break;}

return flag;

}

4結語

本文以辯證法和認識論指導C++程序設計教學,整合了相關教學內容,提出了新的教學方法。在教學內容方面,將C和C++作為整體進行教學,撇棄了重復內容,精簡了學時;新方法便于學生在本質上理解C++語言中變量、循環、函數和對象的基本特征和規律。突出實踐教學,提出課堂實驗、課程設計和畢業實習相結合的實驗教學體系;將科研項目、經典案例和大賽題目引入程序設計教學,激發了學生的學習興趣和實踐動手能力。

辯證法和認識論的內容非常豐富,相關規律仍需通過教學實踐進一步總結。同時,本文提出的教學方法對其他課程的教學也具有一定的借鑒意義。

參考文獻:

[1] 陳次白,丁晟春. 淺談計算機科學技術應用中的辯證思維[J]. 南京理工大學學報:社會科學版,2000,13(2):20-23.

[2] 趙致琢. 關于計算機科學與技術認知問題的研究簡報(I,II)[J]. 計算機研究與發展,2001,38(1):1-15.

[3] 于合龍,趙玉鑫. 計算機科學與技術中的系統論與辯證法[J]. 計算機教育,2010(4):76-79.

[4] 劉志芳. 哲學思想在計算機組成原理教學中的體現與作用[J]. 電腦知識與技術:學術交流,2007(12):1765-1766.

[5] 王立柱. C++學習中的一個整體性問題[J]. 計算機教育,2007(20):74-76.

[6] 戴艷. 零基礎學算法[M]. 北京:機械工業出版社,2010:316-398.

[7] 李文新,郭煒,余華山. 程序設計導引及在線實踐[M]. 北京:清華大學出版社,2007:83-210.

[8] 張長海,陳娟. 以“PAD”為工具講授“程序設計”[J]. 吉林大學學報:信息科學版,2005,23(增刊1):44-48.

[9] DONALD E. Kunth. 計算機程序設計藝術[M]. 3rd ed. 蘇運霖,譯. 北京:國防工業出版社,2007:1-7.

C++ Language Teaching Method Based on Dialectics and Epistemology

YU He-long1, CAO Li-ying1, CAO Hong-bo2

(1.College of Information Technology, Jilin Agricultural University, Changchun 130118, China;

2.College of Computer , Jiangsu Teachers University of Technology, Changzhou 213001,China.)