亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        C語言課程的教學(xué)改革與實(shí)踐

        2013-04-29 17:57:48朱清華
        教書育人·高教論壇 2013年6期
        關(guān)鍵詞:語句學(xué)期編程

        朱清華

        程序設(shè)計(jì)課程在計(jì)算機(jī)科學(xué)(Computer Science, CS)專業(yè)新生的教學(xué)中起著相當(dāng)基礎(chǔ)的作用,CS專業(yè)包括計(jì)算機(jī)科學(xué)與技術(shù)、軟件工程和網(wǎng)絡(luò)工程。盡管近年來涌現(xiàn)了很多新的程序設(shè)計(jì)語言,如java, C#, Python和Ruby等,但C和java語言從2002年以來一直是兩種最流行的語言[1]。C語言經(jīng)常名列軟件界知名的“TIOBE Programming Community Index”(TIOBE程序論壇指數(shù))排行榜首位。所以,我們依然選擇了C語言這種非腳本語言作為一年級(jí)新生的必修程序設(shè)計(jì)課程的語言。

        隨著信息技術(shù)日新月異的發(fā)展,社會(huì)需求越來越多的CS專業(yè)畢業(yè)的學(xué)生。Internet已經(jīng)滲透到人們?nèi)粘5墓ぷ?、學(xué)習(xí)和生活當(dāng)中,一年級(jí)CS專業(yè)的學(xué)生與上世紀(jì)90年代相比也發(fā)生了很大的變化。在我們學(xué)校,2001年到2003年計(jì)算機(jī)科學(xué)與技術(shù)專業(yè)的學(xué)生入學(xué)平均成績(jī)?cè)谌资畟€(gè)專業(yè)位居第一;然而,10年之后的2011年,已經(jīng)降至第28名。PC機(jī)和Internet的普及和十年前相比不可同日而語。這些新的變化迫使任課老師必須采用新的方法以應(yīng)對(duì)入門程序語言課程教學(xué)的新需求變化。

        本文其它部分組織如下:在第二節(jié)分析了教學(xué)過程中存在的問題之后,將在第三節(jié)提出一些方法來解決這些新出現(xiàn)的問題,最后第四節(jié)進(jìn)行小結(jié)。

        一問題分析

        在過去幾年的教學(xué)中,我們發(fā)現(xiàn),把這門課程安排在一個(gè)學(xué)期內(nèi)完成學(xué)習(xí),很多學(xué)生感覺吃力,在后續(xù)課程學(xué)習(xí)過程中會(huì)表現(xiàn)出遇到實(shí)際問題編程能力較弱。甚至有少數(shù)一些學(xué)生不知該如何下手寫一個(gè)新的程序。本節(jié)我們從教和學(xué)兩個(gè)方面挖掘分析其中存在的問題。

        1對(duì)計(jì)算機(jī)科學(xué)缺乏興趣

        C語言安排在一年級(jí),很多學(xué)生在入學(xué)前對(duì)這個(gè)專業(yè)認(rèn)識(shí)很膚淺??梢哉f入學(xué)前,幾乎所有學(xué)生對(duì)今后的計(jì)算機(jī)職業(yè)生涯規(guī)劃都一無所知。換言之,只有相當(dāng)少數(shù)的學(xué)生對(duì)CS專業(yè)有他們自己的愛好興趣,曾經(jīng)學(xué)習(xí)過編程,他們對(duì)專業(yè)或程序的興趣可使得以后的學(xué)習(xí)是自我驅(qū)動(dòng)式的。然而,總有一些學(xué)生在C語言課程的初始階段是毫無興趣可言。據(jù)我們經(jīng)驗(yàn)來看,很大程度上,課程結(jié)束時(shí)考試成績(jī)差進(jìn)一步導(dǎo)致他們對(duì)后續(xù)專業(yè)課程學(xué)習(xí)缺乏信心。興趣才是最好的老師。任課老師應(yīng)該從課程一開始就激發(fā)學(xué)生的興趣,才能在后續(xù)教學(xué)過程中使學(xué)生的潛能得以發(fā)揮。

        2缺乏編程的調(diào)試能力

        編程新手經(jīng)??嘤谌绾蜗駭D牙膏似的寫程序開始的代碼段,而且,在好不容易寫出程序后,不知道如何找出隱藏在其中的錯(cuò)誤和漏洞,不知道如何分析程序找出錯(cuò)誤。特別是對(duì)于成績(jī)較差的學(xué)生,即使寫很簡(jiǎn)單的程序,他們也看不出程序到底是錯(cuò)在哪里或者為什么得出不正確的結(jié)果,不知從哪里開始排查和定位錯(cuò)誤。這樣的情況在我們每一屆每個(gè)班的教學(xué)中都會(huì)遇到。實(shí)際上,即使是熟練的程序員,調(diào)試程序的能力都是必不可少的,特別是在開發(fā)復(fù)雜軟件程序的時(shí)候。

        3優(yōu)秀生和差生之間的差距問題

        在我們計(jì)算機(jī)學(xué)院,招生人數(shù)從2001年的359人翻一番到2011年的790人。學(xué)生來源于從大城市到農(nóng)村等不同地區(qū)。在第一次課時(shí),我們都會(huì)做過簡(jiǎn)單調(diào)查,發(fā)現(xiàn)只有少數(shù)一些學(xué)生在高中學(xué)習(xí)過程序設(shè)計(jì),一般學(xué)習(xí)BASIC或PASCAL語言,有的學(xué)生曾經(jīng)參加過國家奧林匹克信息學(xué)競(jìng)賽(NOI)等相關(guān)課外活動(dòng);大多數(shù)學(xué)生并沒有學(xué)習(xí)過程序設(shè)計(jì)。在一年級(jí)第二學(xué)期,將會(huì)有優(yōu)秀的學(xué)生能在ACM廣東省賽區(qū)比賽中獲得獎(jiǎng)勵(lì)。再看成績(jī)較差的學(xué)生,在第一次上機(jī)課時(shí),他們連鍵盤的布局都不知道,不知如何開機(jī)關(guān)機(jī)和基本的操作,因?yàn)橐郧皬奈词褂眠^PC機(jī)。這樣,優(yōu)秀生和較差生的差距比十年前擴(kuò)大了。如果我們教學(xué)過程較多顧及后者,前者將不能充分利用好課堂時(shí)間發(fā)揮他們的潛力。這就會(huì)任課老師帶來新的挑戰(zhàn)。

        二改革教學(xué)方法

        1在課堂教學(xué)中提高學(xué)生對(duì)計(jì)算機(jī)科學(xué)的興趣

        通過和本課程相關(guān)的故事,讓學(xué)生了解計(jì)算機(jī)科學(xué)技術(shù)發(fā)展史的同時(shí),激發(fā)他們對(duì)計(jì)算機(jī)技術(shù)的熱愛和對(duì)科學(xué)執(zhí)著追求及探索精神,逐漸培養(yǎng)興趣。例如,在第一課時(shí),在講C語言歷史時(shí)將介紹C語言之父丹尼斯·里奇(Dennis Ritchie)的故事,他雖然不是像比爾·蓋茨那樣為大眾所知,但他和肯·湯普遜(Ken Thompson)對(duì)C語言和UNIX操作系統(tǒng)做出了杰出貢獻(xiàn)。在C語言和這兩位著名計(jì)算機(jī)科學(xué)家互相交織的歷史故事當(dāng)中,學(xué)生將體會(huì)到什么是科學(xué)精神,什么是對(duì)計(jì)算機(jī)科學(xué)的貢獻(xiàn)和創(chuàng)新。當(dāng)然,在課程的后續(xù)教學(xué)過程中仍然會(huì)花幾分鐘加入一些相關(guān)故事活躍課堂氣氛。學(xué)生樂于在課堂中聽到這些一般不為人知的故事,潛移默化地增加了興趣。

        另外一個(gè)途徑是介紹和C語言關(guān)聯(lián)密切的應(yīng)用實(shí)例。雖然C語言被用于開發(fā)操作系統(tǒng)和嵌入式系統(tǒng),但是,這些應(yīng)用不易于新手所理解。所以,在講到相關(guān)知識(shí)時(shí),我們選擇一些簡(jiǎn)短的應(yīng)用程序演示其運(yùn)行甚至瀏覽一下源代碼,有些有趣的應(yīng)用就作為實(shí)驗(yàn)課的任務(wù),讓學(xué)生完成編程。曾做過2個(gè)班級(jí)對(duì)同一個(gè)實(shí)驗(yàn)內(nèi)容的比較,一個(gè)班級(jí)要求編程完成的是與實(shí)際應(yīng)用需求相關(guān)的任務(wù),另外一個(gè)班級(jí)要求完成的是等價(jià)的數(shù)學(xué)問題,實(shí)踐表明:前者能激發(fā)學(xué)生解決問題的求知欲望,提高學(xué)習(xí)興趣,并且更多的學(xué)生進(jìn)行熱烈的討論和進(jìn)一步思考,效果較好。

        2運(yùn)用可視化工具促進(jìn)學(xué)生對(duì)程序的理解

        可視化工具是促進(jìn)學(xué)生直觀理解程序運(yùn)行過程一個(gè)重要的有效的方法。我們采用了吳偉民教授開發(fā)的名為Anyview的一套軟件[2],從2009級(jí)的部分班級(jí)開始試用,2010級(jí)所有學(xué)生使用。從2010年開始正式建設(shè)題庫,到目前為止已經(jīng)達(dá)300題(共9章教學(xué)內(nèi)容的習(xí)題)。它由web服務(wù)器端和客戶端兩部分組成。服務(wù)器端存儲(chǔ)了實(shí)驗(yàn)任務(wù)的題目數(shù)據(jù)庫和學(xué)生寫的源程序文件,包括正確完成的程序以及未完成或有錯(cuò)誤的源程序??蛻舳税惭b能夠通過校園網(wǎng)或Internet連接服務(wù)器的 PC機(jī)上,學(xué)生用來編寫程序。

        使用Anyview與原來教學(xué)相比有較好效果。Anyview打破了課堂實(shí)驗(yàn)教學(xué)的時(shí)間限制,學(xué)生在宿舍或者其它地方能連接通過Internet的PC機(jī)上用它編程。Anyview有助于初學(xué)者理解、調(diào)試程序??梢詾椴煌慕虒W(xué)層次的學(xué)生設(shè)立不同作業(yè)表,使學(xué)生編寫程序的題目不同。例如,曾經(jīng)根據(jù)重修班級(jí)學(xué)生的學(xué)習(xí)情況,專門設(shè)置1個(gè)題庫,讓學(xué)生重點(diǎn)練習(xí)薄弱環(huán)節(jié)。布置的上機(jī)題目分必做和選做,因材施教,使不同層次學(xué)生都能得到提高。

        課堂教學(xué)用Anyview演示程序的運(yùn)行。程序能在其中編輯、運(yùn)行和調(diào)試??梢允钩绦蛞徊揭徊降倪\(yùn)行過程或設(shè)置斷點(diǎn),學(xué)生就能觀察運(yùn)行過程中所有變量值的變化情況。對(duì)一年級(jí)的新手來說,它操作很簡(jiǎn)單,結(jié)果直觀可見,有助于學(xué)生理解for語句、while語句等控制流程語句的執(zhí)行過程。在實(shí)驗(yàn)課上,我們鼓勵(lì)學(xué)生使用多種IDE開發(fā)工具(Integrated Development Environment)配合Anyview一起學(xué)習(xí)。

        從老師的角度來說,我們能夠通過教師端程序詳細(xì)地實(shí)時(shí)地了解每個(gè)學(xué)生編寫程序的進(jìn)度。有助于老師督促較差學(xué)生,可以通過教師端軟件看到哪些學(xué)生完成情況差,實(shí)時(shí)掌握學(xué)生學(xué)習(xí)情況;反饋到課堂教學(xué)有的放矢。并且可以知道優(yōu)秀學(xué)生學(xué)習(xí)水平如何,有哪些學(xué)生的自學(xué)能力較強(qiáng),有的學(xué)生可以在開課2個(gè)月內(nèi)完成整個(gè)課程的題目,在2009級(jí)之前通過作業(yè)或提問往往不能發(fā)現(xiàn)所有優(yōu)秀生。隨著題庫建設(shè)完善,我們將進(jìn)一步用Anyview進(jìn)行實(shí)驗(yàn)課限時(shí)測(cè)驗(yàn),讓不同班級(jí)的任課老師自主設(shè)置每個(gè)班級(jí)的題庫作業(yè)表。

        3從一開始就強(qiáng)調(diào)學(xué)習(xí)調(diào)試

        調(diào)試是用于發(fā)現(xiàn)或減少程序中錯(cuò)誤缺陷的分析過程。在課程教學(xué)中使用了3種工具。下表對(duì)它們的優(yōu)缺點(diǎn)做了比較小結(jié)。

        新手容易掌握Anyview的使用,而且他們可能對(duì)操作Windows上的軟件工具不熟悉,所以在課程開始的前幾周,我們教學(xué)生使用Anyview。新手往往很難學(xué)會(huì)TC的環(huán)境配置,我們?cè)诮虒W(xué)實(shí)踐中發(fā)現(xiàn)較差的學(xué)生在課程接近結(jié)束時(shí)都對(duì)配置感到迷惑。VC還是受到編程相對(duì)熟練的學(xué)生的歡迎,他們可以用VC寫一些自己感興趣的稍大的程序,甚至完成包括窗口圖形界面程序的編寫。

        在第1次實(shí)驗(yàn)課上,我們就告訴學(xué)生如何用工具查看變量的值。在后面的教學(xué)中,要求學(xué)生掌握如下調(diào)試技術(shù),告訴他們什么時(shí)候選擇其中之一來進(jìn)行調(diào)試[3]。經(jīng)驗(yàn)表明,學(xué)生越早學(xué)習(xí)使用調(diào)試技術(shù),將能更好地提高調(diào)試程序的能力。

        (1)單步執(zhí)行。每步執(zhí)行一條語句,選擇一些變量加入觀察窗口。(2)跳越函數(shù)執(zhí)行。這將在講函數(shù)這一章時(shí)講。學(xué)生可觀察一些變量的值在執(zhí)行完函數(shù)后的變化。(3)在指定語句處設(shè)置斷點(diǎn)。(4)在程序中的某些語句后加入打印語句,以便在程序運(yùn)行后觀察某些變量在運(yùn)行過程的中間結(jié)果。方法3和方法4將在講完循環(huán)控制語句后學(xué)習(xí)。

        4改為2個(gè)學(xué)期學(xué)習(xí)該課,改革課程考核方式

        為了切實(shí)提高大多數(shù)學(xué)生的基本編程能力,充分發(fā)揮優(yōu)秀生的潛力[4,5],我們進(jìn)行了兩項(xiàng)改革。在2009級(jí)之前,本課程在一年級(jí)的第1或第2學(xué)期開課,在一個(gè)學(xué)期內(nèi)完成教學(xué),理論課堂教學(xué)與實(shí)驗(yàn)課教學(xué)分別占56和16課時(shí);學(xué)生普遍感覺時(shí)間很緊,沒有足夠的時(shí)間在機(jī)器上編寫代碼實(shí)踐。而在2010級(jí)開始,我們改革教學(xué)安排,分成2個(gè)學(xué)期完成該課教學(xué),第1學(xué)期理論與實(shí)驗(yàn)分別占32和24課時(shí),第2學(xué)期分別占24和16課時(shí)。這樣的調(diào)整安排使學(xué)生有更多的實(shí)驗(yàn)課時(shí)間花在編寫代碼實(shí)踐上面,以用促學(xué)。

        另外,從2011級(jí)開始我們?cè)诘?個(gè)學(xué)期根據(jù)學(xué)生在第1個(gè)學(xué)期的學(xué)習(xí)綜合評(píng)價(jià)進(jìn)一步把學(xué)生分成2個(gè)教學(xué)班組,大概25%較優(yōu)秀的學(xué)生安排在A組班級(jí),其余安排在B組班級(jí)。在第2學(xué)期A組學(xué)生要求完成1個(gè)較大的程序設(shè)計(jì)任務(wù),或稱為課程設(shè)計(jì)任務(wù),包括編寫代碼和編寫相應(yīng)的文檔。對(duì)B組學(xué)生重點(diǎn)強(qiáng)調(diào)基本編程方法的教學(xué)。當(dāng)然在Anyview系統(tǒng)中我們布置給他們的編程任務(wù)也有所區(qū)別。實(shí)踐表明,由于這種因材施教,A組學(xué)生的能力提高更快能夠挑戰(zhàn)難度更大的任務(wù),而又使相對(duì)較差的B組學(xué)生獲得了更多基本的編程訓(xùn)練并為以后學(xué)習(xí)建立了更強(qiáng)的自信心。

        老師能用Anyview查詢查看到每個(gè)學(xué)生寫的每個(gè)程序并評(píng)分。當(dāng)然給程序評(píng)分并不是一件容易完成的工作[6],需要有更好的算法。下圖是2012年秋季的一個(gè)班級(jí)共46人的Anyview綜合評(píng)定成績(jī)排名與期末考試筆試成績(jī)排名的差值,其中x軸表示學(xué)生序號(hào)1~46,y軸表示這2個(gè)排名的差值。數(shù)據(jù)為(Anyview排名,期末考試排名):(46,46),(13,6),(6,4),(23,22),(19,23),(10,27),(13,2),(11,28),(31,32),(29,40),(41,20),(4,7),(36,37),(33,39), (32,18), (1,9), (2,11), (45,31), (8,26), (23,33), (35,38), (9,1),(13,24), (5,12), (18,35), (42,25), (20,15), (28,43), (22,16), (43,36),(20,30),(23,10),(17,3),(12,34),(27,41),(34,19),(44,42),(7,14),(29,13),(3,5),(16,8),(38,17),(26,44),(39,45),(37,21),(40,29)。這說明,很多學(xué)生平時(shí)實(shí)際編程能力與筆試表現(xiàn)有出入,所以最后課程的成績(jī)?cè)u(píng)定中期末考試占一定的比例,還必須考慮平時(shí)實(shí)際編程能力表現(xiàn)。

        總之,C語言是一門在本科一年級(jí)開設(shè)的基礎(chǔ)課程。我們進(jìn)行的教學(xué)改革實(shí)踐表明培養(yǎng)學(xué)生對(duì)本專業(yè)課程的興趣是很重要的,本文分析了如何解決學(xué)生調(diào)試能力差的問題,介紹了用一個(gè)可視化工具作為調(diào)試器和新生有效學(xué)習(xí)助手的經(jīng)驗(yàn)。如何對(duì)不同學(xué)生進(jìn)行個(gè)性化教學(xué)是一個(gè)挑戰(zhàn)性任務(wù),我們改革了教學(xué)學(xué)時(shí)安排和進(jìn)行了分組教學(xué),使得優(yōu)秀生和較差生都能得到盡可能大的進(jìn)步。

        參考文獻(xiàn)

        [1]吳偉民.試論軟件基礎(chǔ)課程程序設(shè)計(jì)環(huán)境的可視化[J].廣東工業(yè)大學(xué)學(xué)報(bào):社會(huì)科學(xué)版, 2007(B06): 156-157.

        [2]Pengfei Yu, Lijun Yang, Programming Skills Training in Programming Language Courses[C].2010 International Conference on Educational and Information Technology, V3: 14-16.

        [3]Andreas Zendler, Christian Spannagel, and Dieter Klaudt. Marrying Content and Process in Computer Science Education[J].IEEE Transactions on Education, 2011(8): 387-397.

        [4]Raymond Lister and John Leaney, First Year Program ming: Let All the Flowers Bloom[C]. 2003 Proceedings of the fifth Australasian conference on computing education, Volume 20: 221-230.

        [5]JoséLuis Fernández Alemán, Automated Assessment in a Programming Tools Course [J]. IEEE Transactions on Education, 2011,54(4):576-581.

        [6]KonstantinosAntonis,ThanasisDaradoumis,SpyrosPapadakis, and Christos Simos,Evaluation of the Effectiveness of a Web-Based Learning Design for Adult Computer Science Courses[J].IEEETransactionsonEducation,2011(8):374-380.

        猜你喜歡
        語句學(xué)期編程
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        我家有只編程貓
        新的學(xué)期 新的嘗試
        期末沖刺高二上學(xué)期期末模擬卷
        重點(diǎn):語句銜接
        精彩語句
        八年級(jí)(上學(xué)期)期末測(cè)試題(D)
        如何搞定語句銜接題
        久久亚洲精品一区二区三区| 精品国产亚洲人成在线观看| 亚洲中文字幕高清乱码毛片| 人妻丰满精品一区二区| 久久热免费最新精品视频网站| 国产一区二区三区精品成人爱| 日本熟妇中出高潮视频| 中文字幕人成人乱码亚洲av| 午夜精品久久久久久久99热| 亚洲色大成网站www久久九| 亚洲一区二区三区日本久久九| 国产艳妇av在线出轨| 开心激情站开心激情网六月婷婷| 亚洲一区二区三区资源| 日韩人妻精品视频一区二区三区| 精品偷自拍另类在线观看| 人妻少妇精品中文字幕av| 永久免费的av在线电影网无码 | 午夜黄色一区二区不卡| 亚洲在线精品一区二区三区| 伊人久久大香线蕉av不变影院| 亚洲日本va午夜在线影院| 亚洲—本道中文字幕久久66| 亚洲av第一区综合激情久久久| 久久午夜av一区二区| 女人被爽到高潮视频免费国产 | 日本色噜噜| 吃下面吃胸在线看无码| 国产精品亚洲av一区二区三区| 免费a级毛片在线播放| 国产成本人片无码免费2020| 人妻无码中文专区久久五月婷| 国产精品麻豆A啊在线观看| 亚洲综合av一区在线| 最好看的亚洲中文字幕| 三a级做爰片免费观看| 亚洲有码转帖| 国产精品人成在线观看| 亚洲av手机在线观看| 久久夜色精品国产亚洲av动态图| 亚洲欧美日韩人成在线播放|